CentOS 如何创建一个用户,只允许该用户(只读)访问特定文件夹下的文件,其他文件均对其不可见

2021-11-20 08:59:52 +08:00
 dLvsYgJ8fiP8TGYU

背景

有一台服务器需要登录上去查看日志。希望创建一个账户,实现以下权限管理:

执行过的操作

尝试过依据 https://www.digitalocean.com/community/questions/how-do-i-restrict-a-user-to-a-specific-directory 的内容,执行

adduser -g restricted_user -d /home/restricted_user restricted_user

并设置了 home 目录所有者

chown -R restricted_user /home/restricted_user

问题

使用 restricted_user 用户登录 SSH ,通过 Midnight Commander 测试,确实无法访问 /root 目录,提示无权限。但依然可以访问其他目录并看到其中文件名称,例如 /etc,这是不希望看到的。

解决方法?

/root 权限为 dr-xr-x--- (550)

/etc 权限为 drwxr-xr-x (755)

假如把包括 /etc /var 这些文件夹权限都设置成 550 ,是否会有些激进?是否会影响 root 账户下运行的其他进程,或者带来未知的系统性问题?

还有没有什么其他好办法来创建一个用户,只允许其访问指定文件夹下的文件?

感谢各位

1542 次点击
所在节点    CentOS
7 条回复
ihipop
2021-11-20 09:30:44 +08:00
chroot
ThirdFlame
2021-11-20 09:44:57 +08:00
楼上正解
wangtuyi
2021-11-20 09:45:49 +08:00
用 docker 吧,把日志目录挂载进去,里面安装 openssh-server ,端口绑定出来。然后用户连进去
Lax
2021-11-20 09:57:25 +08:00
这几条需求,越看越像 ftp 。1 楼正解
hefish
2021-11-20 13:04:58 +08:00
我觉着 2 楼说的办法也是个好办法。
yuedingwangji
2021-11-21 01:03:20 +08:00
1 ,使用堡垒机,堡垒机应该可以满足你的需求;
2 ,楼上说得用 chroot 限制用户的目录
xyjincan
2022-06-04 08:20:48 +08:00
docker

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/816697

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX