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

How to grant one particular user read access to a unix file

我想授予一个特定用户对 unix 机器上文件的读取权限。我不是 root,所以我想我做不到 chown.

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

我想这已经有人问过了,但我找不到任何东西。

正如您所建议的那样,传统的 Unix 方法是 chown 文件并以这种方式设置权限。

您也许还可以使用访问控制列表 (ACL)。查看 getfaclsetfacl 命令(link). The bad news is that ACLs are not always enabled 和默认的 OS 安装并不总是包含这些命令,如果您不这样做,这对您没有帮助没有根。

通常,当您想要 Linux 中的更多 fine-grained 权限时,您应该使用访问控制列表。 Arch Wiki 有一个很好的设置指南。

设置完成后,您可以定义更复杂的规则来修改已安装文件系统的访问控制策略。

您可以使用如下命令设置这些规则:setfacl -m "u:johny:r-x" abc。 这表示 "Give (user) Johny read and execute permissions to the file/directory specified by the path 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 组中的任何 user/group 的默认值,可以读取、写入或执行目录。但是testusers只能读