我有一台 Centos 7 服务器,上面有 80 个用户,并且我有许多目录可供所有 80 个用户访问。但是我希望某个特定用户无法访问某个目录,我该怎么做?
我只想阻止一个用户访问特定目录,保持所有其他用户的权限不变。我该怎么做?
答案1
使用访问控制列表
要阻止用户“user_to_block”:
setfacl -m u:user_to_block:000 <path_to_directory_you_want_to_block_access>
m->修改文件系统
u -> 用户(也可以是组 ACL 的‘g’)
:000 -> Linux 文件系统中的权限(也可以是 0 到 7 的八进制数字或字母 - 读(r)、写(w)、执行(x))
您可以使用以下命令检查 ACL:
getfacl <file_or_dir_you_want_to_check_ACLS>
要删除一个用户/组的 ACL (例如用户 'user_to_block'):
setfacl -x u:user_to_block <file_or_directory>
要删除整个 ACL(所有组和用户都已设置 ACL):
setfacl –b <file_or_directory>
参考
可以在命令的手册页中找到其他选项和信息setfacl
:
man setfacl
答案2
假设所有用户都在命令行上访问目录而不是通过 samba 访问,我猜“man setfacl”可能会对您有所帮助。