如何对用户隐藏别人的目录?

如何对用户隐藏别人的目录?

我有几个文件夹:

/home/user1/ -u user1 -G user1
/home/user2/ -u user2 -G user2
/home/user3/ -u user3 -G user3

我创建了三个用户user1、user2、user3。每个用户都有自己的组。任何用户都可以暂时看到其他帐户文件夹,但无法打开它。

user2 使用 ssh 登录后,他们不应该看到其文件夹下的任何文件夹/home/user2/。他们应该只能看到/home/user2/.

如何设置这些权限?

答案1

如果您使用set 只为/homechmod设置 x 位- 这将不允许读取(在 /home 上将失败),但该位允许遍历已知的子目录。groupother/homelsx

并且还设置不访问group即用户目录other中的子目录。/home

如果您是 root 用户,则命令将是:

chmod go=x /home 
chmod go-rwx /home/user[123]

那么user2将只能看到user2主目录中的文件,而ls/home、/home/user1和/home/user3上的文件将失败;ls:无法打开目录“目录名称”:权限被拒绝

答案2

这取决于您使用的系统。

MAC的实现有很多种,强制访问控制

FreeBSD 因其 MAC 而闻名。 (看手册

看看 OpenBSD 的系统跟踪,它的 shell 包装器使您可以完全控制用户可以或不可以执行和查看的内容。

Linux 喜欢大量这样的系统。看着SELinux,应用装甲, 也可以看看安全补丁...

最简单和最流行的方法是将用户放入 chroot(Linux)、lxc-container(Linux)、jail(FreeBSD) 等等...

相关内容