【转载】在Linux下限制用户登陆IP

来源:互联网 发布:约翰霍普金斯大学知乎 编辑:程序博客网 时间:2024/06/06 20:41

       今天,头让我做一个事,就是限制服务器下的test用户只能从公司内网登陆,不能从公网登陆。偶想了一下,觉得利用pam可以很好的实现,下面列出我的操作步骤:
       第一步,编辑/etc/pam.d/sshd,加入如下内容
                    account  required  pam_access.so

       加入后的内容如下:

                   auth          required     pam_stack.so service=system-auth
                   auth          required     pam_nologin.so
                   account     required     pam_stack.so service=system-auth
                   account     required     pam_access.so
                   password   required     pam_stack.so service=system-auth
                   session      required     pam_stack.so service=system-auth
                   session      required     pam_loginuid.so
       退出保存。

       第二步:编辑/etc/security/access.conf,在尾行加入一行-:test:ALL EXCEPT 192.168.1.

解释一下,“-”的意思是拒绝“test”是用户名,“ALL”是所有,“EXCEPT 192.168.1.”意思是排除192.168.1这个网段,需要注意的是192.168.1. 最后的这个“.”一定要加上哦!

     还要为每个用户加上相应的权限,不然即使是root用户,一些权限也会被禁用了,比如说crontab -e权限。

+ : root : cron crond :0 tty1 tty2 tty3 tty4 tty5 tty6
+ : userx : cron crond :0 tty1 tty2 tty3 tty4 tty5 tty6

修改端口号:vim /etc/ssh/ssh_config
vim /etc/ssh/sshd_config
修改两个文件中的Port 这个配置项

  第三步:重启sshd服务即可
service sshd restart
原创粉丝点击