如何在Linux上允许某个用户只能访问特定目录,例如/a/b/c ?
有两种方法,一是修改SSH的配置:
1、创建用户 useradd test
2、修改/etc/ssh/sshd_config文件
加上Match User test ChrootDirectory /home/xuhb
3、service sshd restart
本人测试,在ubuntu上16.0.4上能够成功,但centos 7.5.1804上报各种失败,通过逐一排查,主要是match User这条语句有相关,这条语句通不过,查找网上的ge各种资料,selinux 关闭,PAM配置修改等,尝试均无效,估计是和安全相关的策略有关,过程中出现修改root密码正确,但不能登录的问题,此时重新设置一下密码即可,无其他更好的捷径。
另一种方法通过ACL,实际操作可行:
1、下载ACL yum install acl
2、 setfacl -m u:jhtc:-x /a/b/ 设置可访问上一层目录的权限
3、 setfacl -m u:jhtc:rwx /a/b/c 设置本层目录可读写权限,还不能访问c的子目录
4、 保证c子目录以及文件都可以读写,可以使用chmod 777 -R /a/b/c
如何做到Linux只允许某个用户只能访问特定目录,例如/a/b/c ?
于 2020-03-07 19:00:20 首次发布