如何授予一个特定用户对UNIX文件的读取访问权限

时间:2019-07-05 09:46:35

标签: unix chmod chown

我想授予一个特定用户对UNIX计算机上文件的读取访问权限。我不是root用户,所以我想我不能chown

我尝试搜索使用chmod的内容,但似乎无法指定特定用户,只能指定一个人,一个组或全部。

我想这已经被问过了,但是我什么也找不到。

2 个答案:

答案 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)。看一下getfaclsetfacl命令(link)。坏消息是ACLs are not always enabled和默认的操作系统安装并不总是包含命令,如果您没有root用户,则无济于事。