使用Linux组和用户权限设置朋友共享空间
我想通过以下方式设置linux共享空间: 我想让一个用户调用管理员有权访问所有其他用户的主目录。 我希望能够创建用户A、B、C、D、E,并且除了主文件夹(和/tmp/如果需要)之外,他们都不能查看任何其他文件夹。使用Linux组和用户权限设置朋友共享空间,linux,permissions,Linux,Permissions,我想通过以下方式设置linux共享空间: 我想让一个用户调用管理员有权访问所有其他用户的主目录。 我希望能够创建用户A、B、C、D、E,并且除了主文件夹(和/tmp/如果需要)之外,他们都不能查看任何其他文件夹。 我不希望他们能够查看任何其他文件。 我将使用此选项,以便为他们创建一个用户,他们可以登录查看/编辑其主文件夹中的文件,而无需其他操作(或将文件导入其中) 我该怎么做? 我的第一个想法是创建一个组并将它们全部放在该组中,但我不希望它们能够查看彼此的文件。 我注意到/home/*中的文件夹
我不希望他们能够查看任何其他文件。 我将使用此选项,以便为他们创建一个用户,他们可以登录查看/编辑其主文件夹中的文件,而无需其他操作(或将文件导入其中) 我该怎么做? 我的第一个想法是创建一个组并将它们全部放在该组中,但我不希望它们能够查看彼此的文件。 我注意到/home/*中的文件夹仅由所有者读取、写入和执行:
[test2@XXX home]$ pwd
/home
[test2@XXX home]$ ll
drwx------ 3 test2 test2 4096 Mar 7 18:54 test2
那么这就足够了吗?例如/home/A/中的文件是
[test2@XXX~]$ pwd
/home/test2
[test2@XXX~]$ ll
total 4
drwxrwxr-x 2 test2 test2 4096 Mar 7 18:54 testdir
-rw-rw-r-- 1 test2 test2 0 Mar 7 18:54 testfile
用户B将无法写入这些文件正确吗?
如果是这样的话,我需要做什么才能让用户管理员查看所有这些/home/文件夹,而不是其他人。首先,您需要一个用户“admin”,他将对用户a、B、C、D、E的所有主目录拥有rwx权限。在这里,我假设您的“admin”用户不是root 您可以参考此来实现此功能 现在,您不希望任何用户A、B、C、D、E看到彼此的文件,但您的主目录(/Home/user)中存在一个公用文件夹,用于与其他用户共享文件。如果其他用户希望访问此公用文件夹,则应在主目录上设置world的执行位 如果您不需要允许其他人访问您的主文件夹(其他人或用户,如Web服务器的www-data),您可以使用chmod o-rwx“$home”(从“其他”中删除读/写/执行,相当于chmod 750“$home”,因为默认权限为750)。否则,您也应该更改umask设置,以防止新创建的文件在默认情况下获得世界的读取权限 对于系统范围的配置,编辑/etc/profile;可以在~/.profile中配置每个用户的设置。我更喜欢对所有用户使用相同的策略,因此我会编辑/etc/profile文件并附加以下行: 乌马斯克027 您需要重新登录以应用这些更改,除非您在shell中。在这种情况下,您可以在shell中运行umask 027 现在,要修复现有权限,您需要从其他系统中删除读/写/执行权限: chmod-ro-rwx~ 现在,如果您决定将~/Public文件夹共享给所有人,请运行以下命令:
- chmod o+x~-允许所有人进入目录(x),但不获取目录列表(r)
- find~/Public-type f-exec chmod o+r{}-允许所有人阅读~/Public
- find~/Public-type d-exec chmod o+rx{}-允许每个人进入目录并列出其内容