使用pam_chroot限定用户ssh登录linux主机后的目录权限

问题背景:

为了加强linux服务器的安全性,要求指定的用户从ssh登录后只能在指定的目录下工作并只能运行指定的命令或脚本

解决:
修改ssh的登录验证方法
[root@localhost ~]# vi /etc/pam.d/sshd
#%PAM-1.0
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
session include system-auth
session required pam_loginuid.so
session required pam_chroot.so (这是我们手动加入的一行)

设置用户目录
[root@localhost ~]# mkdir /virtual_root/chroot/lib -p
[root@localhost ~]# mkdir /virtual_root/chroot/etc -p 
[root@localhost ~]# mkdir /virtual_root/chroot/bin -p
[root@localhost ~]# mkdir /virtual_root/chroot/home/ziyang -p
(你的/etc/passwd中应该有一个名为ziyang的用户)
[root@localhost ~]# chown ziyang.ziyang /virtual_root/chroot/home/ziyang

修改chroot配置文件
[root@localhost ~]# vi /etc/security/chroot.conf
ziyang /virtual_root/chroot (手动加入此行,ziyang就只能被限定在/virtual_root/chroot目录下了。

注:是通过ssh登录的用户,对本地控制台登录的用户无效。但是可以有方法去实现)

设置用户权限和可用命令
[root@localhost ~]# cp /lib/ld-linux.so.2 /lib/libc.so.6 /lib/libdl.so.2 /lib/libtermcap.so.2 /virtual_root/chroot/lib
[root@localhost ~]# cp /bin/bash /virtual_root/chroot/bin
[root@localhost ~]# grep ziyang < /etc/passwd > /virtual_root/chroot/etc/passwd

应用测试
使用ssh从其他的主机登录你的linux服务器,你会发现ziyang这个用户登录后被限定在了/virtual_root/chroot目录下,并且没有可以使用的shell命令
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值