要实现 %ignore_a_1% 用户的远程登录限制,需先确保 pam 模块 pam_access.so 已启用,1.编辑 /etc/pam.d/sshd 添加 account required pam_access.so;2.在 /etc/security/access.conf 中设置规则,格式为:permission : users : origins,如 – : user1 : all except 192.168.1.,表示拒绝 user1 从除 192.168.1. 网段外登录;3.注意规则顺序、避免语法错误,并保留不受限终端以防被锁;4.查看日志 /var/log/secure 或 /var/log/auth.log 进行调试。

实现 Linux 用户的远程登录限制,可以通过 /etc/security/access.conf 文件来完成。这个文件配合 PAM(Pluggable Authentication Modules)模块使用,可以灵活控制哪些用户可以从哪些地方登录系统,包括本地和远程。

下面是一些关键配置方法和注意事项。

配置前准备:确认 PAM 模块启用
要让 access.conf 生效,必须确保系统的 PAM 配置中启用了 pam_access.so 模块。通常在 /etc/pam.d/login、/etc/pam.d/sshd 等文件中有如下一行:
account required pam_access.so
如果没有这一行,需要手动添加,否则配置不会生效。比如在 SSH 登录中生效,就要检查 /etc/pam.d/sshd 是否包含该模块。

基本语法格式:简单易懂的规则写法
access.conf 的每一行都表示一条访问控制规则,格式如下:
permission : users : origins
permission:允许(+)或拒绝(-)users:用户名、组名(前面加 @ 表示组),也可以用 ALL 表示所有人origins:来源地址,可以是 IP、主机名、网段等
例如:
- : user1 : ALL EXCEPT 192.168.1.+ : @admin : 192.168.1.0/24
第一条表示拒绝 user1 从除 192.168.1. 网段外的所有地方登录;第二条表示允许 admin 组用户仅从 192.168.1.0/24 网段登录。
实际应用建议:几个常见场景配置示例
限制特定用户只能从固定 IP 登录
- : john : ALL EXCEPT 10.0.0.5
这样 john 只能从 IP 为 10.0.0.5 的机器登录,其他地方都会被拒绝。
允许某个用户组从内网登录,禁止外网登录
+ : @developers : 192.168.0.0/255.255.0.0- : @developers : ALL
注意顺序,先允许再拒绝才能生效。这段配置的意思是:开发者组只能从 192.168.x.x 内网登录,其他所有来源都被拒绝。
禁止 root 用户远程登录
- : root : ALL
这条规则会阻止 root 用户通过任何方式远程登录(前提是 PAM 模块已启用)。这是增强系统安全性的常用做法。
注意事项与调试技巧
规则顺序很重要:匹配时是从上往下逐行读取,一旦匹配成功就不再继续判断。不要把自己锁在外面:测试新规则时最好保留一个 root 或不受限制的登录终端,防止误操作导致无法登录。日志查看:如果登录失败,可以查看 /var/log/secure 或 /var/log/auth.log,看是否因 access.conf 被拒绝。避免语法错误:空格、拼写错误可能导致整条规则失效。可以用 man access.conf 查看详细帮助。
基本上就这些。合理利用 /etc/security/access.conf,可以在不修改服务配置的前提下,对用户访问进行细粒度控制,提升系统安全性。
以上就是如何实现Linux用户的远程登录限制 /etc/security/access.conf配置的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/13176.html
微信扫一扫
支付宝扫一扫