人获取信息

人获取信息

我有一个共享目录 Department,它有 3 个子目录,部门分类为 Account、Sales、Presales,每个子目录都有部门员工目录,例如 acc1、acc2、acc3 / sale1、sales2 / ps1、ps2、ps3、ps4

每个员工如何拥有一个用户名密码才能访问其目录而不查看任何其他目录。

我在 Windows 服务器中做了同样的事情。

我该怎么做?

答案1

首先,让每个员工都属于部门组,即 acc1 属于 Account,ps3 属于 Presales。然后,在部门级别,让 Department 下的每个子目录的组 ID 等于相应的部门组,并具有组级别的读取+执行访问权限,并撤销其他所有访问权限,因此当您执行此操作时,它看起来像这样ls -la Departments

drwxr-x---  5 root Account  4096 Jul 25 08:43 Account
drwxr-x---  6 root Presales 4096 Jul 25 08:44 Presales
drwxr-x---  4 root Sales    4096 Jul 25 08:44 Sales

然后,让每个员工目录用户 ID 和组 ID 作为用户,让用户对目录具有完全访问权限,并撤销组和其他人的所有访问权限,例如对于帐户:

drwx------ 2 acc1 acc1 4096 Jul 25 08:43 acc1
drwx------ 2 acc2 acc2 4096 Jul 25 08:43 acc2
drwx------ 2 acc3 acc3 4096 Jul 25 08:43 acc3

chown,如果你在命令行上执行此操作,chgrp它们就是你的朋友。例如参见chmodhttp://www.perlfect.com/articles/chmod.shtml了解其用法的详细信息。


只要权限/成员资格能够分层且统一地定义,此方法就可以工作,即不需要在某个级别混合不同种类和/或级别的权限(例如,某些单独的用户具有读写访问权限,但仅属于某个组的用户只有只读访问权限) - 对于这些情况,需要 ACL。

答案2

或者,您可以为这些目录设置 FACLS。如果您需要更复杂的访问控制列表,这将是最干净、最好和首选的方法。

使用手册页来:

人获取信息

设置facl

用法将是这样的:

setfacl -md:g:"组名":rwx /路径/到/所需/目录

setfacl -mg:“组名”:rwx /路径/到/所需/目录

第一行设置规则,使其自动应用于目录中新创建的文件/文件夹。第二行应用于应用这些规则的同一上级目录,但由于该目录已经存在,因此允许访问该目录。

***注意:组名周围的引号表示您应该在命令中填写组的名称。执行命令时不要使用实际的引号,您希望其中的组名不带引号。

相关内容