我在一台计算机上有多个用户,需要指定哪个用户可以访问(读取和写入)指定的文件夹和/或已安装的驱动器。
首先,一个用户不应该看到home/<%username%>/
另一个用户的。
编辑:我会尝试非常简单地解释:假设我们有两个用户:史蒂文和约翰。他们的目录下都有一些私有数据:john/private、john/Desktop、steven/private、steven/Desktop。我想阻止 steven 可以在 john/dir 下访问(读或写),并阻止 john 在 steven/dir 下读/写。
我希望这样我就足够清楚了:)
答案1
一般来说,这在 Unix 上是不可能的。如果能够看到目录但不列出内容是可以接受的(可能是),则设置模式,以便受影响的用户不会在该目录(700
或类似目录)的模式上设置读取位。
答案2
我看到的一种解决方案是为每个用户提供自己的组(已经成为各种 Linux 机器上的标准),并将系统的默认 umask 设置为 027(映射到 gw、o-rwx)/etc/profile
或/etc/login.defs
(对于 PAM)。最后,将用户的“私有”目录更改为 0700 (u=rwx,go=),并将其主目录更改为 0750 (u=rwx,g=rx,o=)。
这仍然允许您的用户控制他/她的权限,但默认情况下将阻止其他用户查看内容。