我想授予一个特定用户对UNIX计算机上文件的读取访问权限。我不是root用户,所以我想我不能chown
。
我尝试搜索使用chmod
的内容,但似乎无法指定特定用户,只能指定一个人,一个组或全部。
我想这已经被问过了,但是我什么也找不到。
答案 0 :(得分:2)
通常,当您想在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
只能阅读。
答案 1 :(得分:1)
按照您的建议,传统的Unix方法是chown
文件并以这种方式设置权限。
您也许还可以使用访问控制列表(ACL)。看一下getfacl
和setfacl
命令(link)。坏消息是ACLs are not always enabled和默认的操作系统安装并不总是包含命令,如果您没有root用户,则无济于事。