在 Linux 中,什么是 /etc/security?

Bes*_*tNA 12 linux authentication

这个目录有什么用?它是 POSIX 的一部分吗?它是 Linux 标准库的一部分吗?它是由内核强制执行的还是更多的是发行版功能?我在哪里可以找到有关它的更多文档?

nKn*_*nKn 6

好问题,因为您几乎找不到直接回答您问题的文档。我会说它是 LSB 的一部分,因为一旦你安装了你的 Linux 系统,你就会发现这个目录已经创建了。此外,apt-file在 Debian 系统上使用该实用程序,您将看到:

pi@rpi ~ $ apt-file search '/etc/security'
debian-edu-config: /etc/security/pam_mount-stateless-debian-edu.conf
debian-edu-config: /etc/security/pam_mount-winbind-debian-edu.conf
libpam-abl: /etc/security/pam_abl.conf
libpam-blue: /etc/security/bluesscan.conf
libpam-cap: /etc/security/capability.conf
libpam-chroot: /etc/security/chroot.conf
libpam-duo: /etc/security/pam_duo.conf
libpam-encfs: /etc/security/pam_encfs.conf
libpam-modules: /etc/security/access.conf
libpam-modules: /etc/security/group.conf
libpam-modules: /etc/security/limits.conf
libpam-modules: /etc/security/namespace.conf
libpam-modules: /etc/security/namespace.init
libpam-modules: /etc/security/pam_env.conf
libpam-modules: /etc/security/sepermit.conf
libpam-modules: /etc/security/time.conf
libpam-mount: /etc/security/pam_mount.conf.xml
libpam-rsa: /etc/security/pamrsakp.cnf
libpam-shield: /etc/security/shield.conf
libpam-unix2: /etc/security/pam_unix2.default
login-duo: /etc/security/login_duo.conf
rainbow: /etc/security/console.perms.d/51-rainbow.perms
uhd-host: /etc/security/limits.d/uhd.conf
Run Code Online (Sandbox Code Playgroud)

所以,没有一个包具体创建这个目录,这就是为什么我认为它是 LSB 的一部分。

但是,我认为这不是内核的一部分。正如你在上面看到的,有很多包使用这个目录来放置文件,据我所知,依赖于发行版。例如,使用systemd 的系统大多会忽略 ''/etc/security'' 目录的内容

关于功能,大多数文件定义了资源限制。如上所示,此目录中的大多数文件都与 PAM 包相关,因此在这种情况下,例如,您可以控制一次在系统中允许的用户数量。您还可以控制进程可以处理多少打开的文件,定义软限制和硬限制。

由于这是依赖man于包的,您可以在其中找到的几个文件(即man limits.conf)上使用,但没有说明整个目录本身的手册页。