跳到主要内容

Linux运维-etc-security

在 Linux 系统中,/etc/security 目录主要用于存放与系统安全策略、用户认证和资源限制相关的配置文件。下面详细介绍该目录下一些常见文件及其作用:

1. limits.conf

  • 功能:该文件用于设置用户或用户组的资源使用限制,比如进程可以打开的最大文件描述符数量、CPU 时间限制、内存使用限制等。这些限制可以是软限制(soft)和硬限制(hard),软限制可以被用户进程在运行时修改,但不能超过硬限制。
  • 配置示例
# 为所有用户设置最大打开文件数的软限制和硬限制
* soft nofile 65536
* hard nofile 65536

# 为用户组 staff 设置最大进程数的软限制和硬限制
@staff soft nproc 2048
@staff hard nproc 4096

在上述示例中,* 表示所有用户,@staff 表示 staff 用户组,nofile 表示最大打开文件数,nproc 表示最大进程数。

2. pam_env.conf

  • 功能:此文件用于配置 PAM(Pluggable Authentication Modules)环境模块,它允许系统管理员为用户登录会话设置环境变量。当用户登录系统时,PAM 会根据该文件的配置为用户的会话添加或修改环境变量。
  • 配置示例
# 设置默认的编辑器为 vim
DEFAULTENV DEFAULT=EDITOR=/usr/bin/vim

# 为所有用户设置语言环境
ENV LANG=en_US.UTF-8

3. namespace.conf

  • 功能:该文件用于配置 Linux 命名空间(namespace)相关的安全策略。命名空间是 Linux 内核提供的一种隔离机制,用于隔离进程的资源,如进程 ID、网络、挂载点等。namespace.conf 文件可以控制哪些用户或用户组可以使用特定的命名空间。
  • 配置示例
# 允许 root 用户使用所有命名空间
root /proc/self/ns/* rw

# 允许 users 用户组使用网络命名空间
@users /proc/self/ns/net r

4. access.conf

  • 功能:用于控制哪些用户或用户组可以通过哪些终端设备登录系统。通过配置该文件,可以限制特定用户或用户组只能从指定的终端设备登录,增强系统的安全性。
  • 配置示例
# 允许所有用户从本地终端登录
+ : ALL : LOCAL

# 只允许 users 用户组从特定 IP 地址的远程终端登录
+ : @users : 192.168.1.0/24

# 禁止所有其他用户从远程终端登录
- : ALL : ALL EXCEPT LOCAL

5. pwquality.conf

  • 功能:该文件用于配置密码质量检查模块(如 pam_pwquality.so)的参数,用于强制用户设置符合一定复杂度要求的密码,提高系统的安全性。
  • 配置示例
# 密码最小长度为 8
minlen = 8

# 密码中至少包含 1 个数字
dcredit = -1

# 密码中至少包含 1 个大写字母
ucredit = -1

6. time.conf

  • 功能:用于限制用户在特定时间段内登录系统。通过配置该文件,可以设置用户或用户组只能在指定的时间范围内登录,增强系统的安全性和资源管理。
  • 配置示例
# 允许 users 用户组在工作日的 09:00 - 17:00 登录
@users; tty*; Al0900-1700

# 禁止所有用户在周末登录
ALL; tty*; Sa-Su0000-2400

这些文件共同构成了 Linux 系统的安全策略框架,通过合理配置这些文件,可以有效地管理用户的资源使用、认证和访问权限,提高系统的安全性和稳定性。