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

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

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

答案1

好问题,因为你几乎找不到直接回答你问题的文档。我想说它是 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

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

但是,我不认为这是内核的一部分。如上所示,有许多软件包使用此目录来放置文件,并且据我所知,它依赖于发行版。例如,使用systemd大多忽略“/etc/security”目录的内容

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

由于这是依赖于软件包的,你可以man在里面找到的几个文件上使用(即man limits.conf),但没有手册页可以解释所有的目录本身。

答案2

/etc/security 下的大部分文件都是随 PAM 一起安装的,但偶尔另一个包也会偷偷地安装一个。

suse-linux> rpm -qf /etc/security/*
pam-1.1.8-12.4.x86_64
pam-1.1.8-12.4.x86_64
pam-1.1.8-12.4.x86_64
pam-1.1.8-12.4.x86_64
pam-1.1.8-12.4.x86_64
pam-1.1.8-12.4.x86_64
samba-winbind-4.2.4-21.3.x86_64
libpwquality1-1.2.3-5.1.x86_64
pam-1.1.8-12.4.x86_64
pam-1.1.8-12.4.x86_64

大多数 /etc/security/* 文件是各种 PAM 模块的配置文件(例如pam_access

这些文件中通常会有带注释的示例,但如果没有,请查看手册页(例如“访问配置文件“)。

如果您没有看到 /etc/pam.d/* 中列出的 PAM 模块,那么就不会使用您在 /etc/security/ 中的各自配置文件中添加的值。

相关内容