用户的登录超时、操作超时、访问权限和安全检验
在 Linux 中,用户的登录超时、操作超时、访问权限和安全检验都可以通过不同的配置文件和命令来管理。以下是相关策略的命令操作和配置文件修改方法:
1. 登录超时
登录超时通常指的是用户在登录后,如果在一定时间内没有任何操作,系统会自动登出用户或断开连接。
TMOUT环境变量:作用:设置用户的空闲超时,超时后会自动退出会话。
配置方法:在用户的
~/.bashrc或全局配置文件/etc/bash.bashrc中设置TMOUT变量。export TMOUT=300 # 设置 5 分钟(300 秒)后自动退出效果:如果用户在 5 分钟内没有任何输入,shell 会自动退出。
/etc/profile或/etc/login.defs:你还可以通过
/etc/login.defs文件配置登录超时参数:# 在 /etc/login.defs 文件中设置 LOGIN_TIMEOUT 60 # 设置登录超时为 60 秒
systemd配置:对于系统使用
systemd的现代 Linux 发行版,可以通过设置IdleActionSec来配置超时。# 编辑 /etc/systemd/logind.conf 文件 IdleAction=ignore # 设置为空闲超时后是否注销 IdleActionSec=600 # 设置空闲超时为 10 分钟之后重启
systemd服务来使配置生效:sudo systemctl restart systemd-logind
2. 操作超时
操作超时指的是执行命令或操作时,超过一定时间未完成则终止操作。
timeout命令:作用:使用
timeout命令可以设置命令执行的最大时间。用法:
timeout 300 command_to_run # 设置命令执行最大 300 秒如果命令在指定时间内没有完成,
timeout会终止该命令。
/etc/profile或/etc/bashrc中设置TMOUT:- 上文提到的
TMOUT环境变量不仅适用于登录超时,还可以用于控制 shell 会话中的操作超时。
- 上文提到的
3. 用户可访问执行策略
用户的访问权限和执行权限可以通过 /etc/passwd 和 /etc/sudoers 文件来配置。
/etc/passwd:控制用户是否能够登录和访问系统。示例配置:可以设置用户的 shell 类型来控制他们的访问权限,例如
/sbin/nologin禁止登录:username:x:1001:1001:User Name:/home/username:/sbin/nologin
/etc/sudoers:配置哪些用户可以执行特定的命令。使用
visudo编辑/etc/sudoers文件:username ALL=(ALL) ALL # 允许用户执行所有命令或限制某些命令:
username ALL=(ALL) /usr/bin/ls, /bin/cat # 仅允许用户执行 ls 和 cat 命令
文件访问控制:
使用
chmod和chown控制文件的访问权限。chmod 700 /path/to/file # 仅允许文件所有者访问 chown username:group /path/to/file # 更改文件所有者
4. 安全检验
Linux 提供了多种安全检验机制来增强系统的安全性。
auditd审计系统:作用:
auditd可以记录系统事件,例如文件访问、命令执行等。配置:启用并配置
auditd审计服务。sudo apt install auditd sudo service auditd start配置规则文件
/etc/audit/audit.rules,例如:auditctl -w /etc/passwd -p wa -k passwd_changes # 监控 /etc/passwd 文件的写入和属性更改
作用:用于防止暴力破解攻击,特别是针对 SSH 登录。
配置:安装并配置
fail2ban。sudo apt install fail2ban sudo systemctl start fail2ban编辑
/etc/fail2ban/jail.local配置文件,启用针对 SSH 的监控:[sshd] enabled = true port = ssh logpath = /var/log/auth.log maxretry = 3 # 设置最多尝试 3 次
SELinux/AppArmor:
SELinux(Security-Enhanced Linux)和 AppArmor 都是用于强制访问控制的安全模块,能够在更细粒度上控制用户和程序的行为。
SELinux 配置文件通常位于
/etc/selinux/config,可以设置为 enforcing 或 permissive 模式。SELINUX=enforcing # 启用 SELinux 强制模式AppArmor 配置文件通常位于
/etc/apparmor.d/。
这些是一些常见的 Linux 用户策略配置命令和文件修改方式,可以根据需要来调整。