【发布时间】:2019-11-15 22:36:31
【问题描述】:
我想授予一个特定用户对 unix 机器上文件的读取权限。我不是root,所以我想我做不到chown。
我尝试搜索使用 chmod 的内容,但我似乎无法指定特定用户,只能指定自己、组或全部。
我想这已经被问过了,但我找不到任何东西。
【问题讨论】:
我想授予一个特定用户对 unix 机器上文件的读取权限。我不是root,所以我想我做不到chown。
我尝试搜索使用 chmod 的内容,但我似乎无法指定特定用户,只能指定自己、组或全部。
我想这已经被问过了,但我找不到任何东西。
【问题讨论】:
通常,当您想要在 Linux 中获得更细粒度的权限时,您应该使用访问控制列表。 Arch Wiki 有一个很好的设置指南。
设置完成后,您可以定义更复杂的规则来修改挂载文件系统的访问控制策略。
您可以使用如下所示的命令设置这些规则:setfacl -m "u:johny:r-x" abc。
这表示“授予(用户)Johny 对路径 abc 指定的文件/目录的读取和执行权限”。
您还可以使用getfacl查看文件系统对象的权限
root@testvm:/var/tmp# getfacl appdir/
# file: appdir/
# owner: root
# group: appgroup
user::rwx
group::rwx
group:testusers:r--
mask::rwx
other::r-x
在此示例中,您可以看到不(在)testusers 组中的任何用户/组的默认值,可以读取、写入或执行目录。但是testusers只能读取。
【讨论】:
按照您的建议,传统的 Unix 方式是 chown 文件并以这种方式设置权限。
您还可以使用访问控制列表 (ACL)。查看getfacl 和setfacl 命令(link)。坏消息是ACLs are not always enabled 和默认操作系统安装并不总是包含命令,如果您没有 root,这对您没有帮助。
【讨论】: