我知道我可以分配写给所有者/组/其他用户的权限,例如:

chmod u+w myfolder


我可以在此处指定特定用户吗?像这样的东西:

chmod username u+w myfolder


评论

我认为不可能。您为什么不只是将用户添加到组中?

#1 楼

如果要更改拥有此文件或目录(文件夹)的用户,则必须使用命令chown。例如,如果您运行

sudo chown username: myfolder


拥有myfolder的用户将是用户名。然后,您可以执行

sudo chmod u+w myfolder


以向用户名用户添加写权限。与“ myfolder”关联的计算机,可以运行

sudo usermod -a -G groupname username


,然后执行

sudo chmod g+w myfolder


添加写入该组的权限。

评论


两种方式都可以使两个用户都可以访问该文件夹,而不需要一个组。有人在这里为相同问题的答案提出了建议:superuser.com/a/235398/191720。

–栾尼科
16年3月3日在17:17

我可以不用sudo来做吗?

–壁虎
16年2月2日在13:36

@becko:如果您放到root shell,则可以。

– Charo
16年6月2日在14:07

@Charo我的意思是没有根

–壁虎
16年6月2日在14:28

@AER:在第一个命令中,如果冒号跟随用户名,则所属组也将更改为用户名(如果省略此冒号,则所属组将不会更改)。

– Charo
18年4月18日在8:46

#2 楼

您可以使用setfacl
setfacl -m u:username:rwx myfolder

这为特定用户设置权限,而无需更改目录的所有权。
请查阅手册页以获取更多详细信息和示例。
编辑:注释中的突出显示点

setfacl =设置文件ACL,ACL =访问控制列表,因此简称为“ setFacl”
如果要递归地将其应用于所有子目录:添加-R标志像这样:setfacl -R -m u:username:rwx myfolder



评论


完美的答案! setfacl也可以在CentOS(yum -y install acl)和FreeBSD上使用。

–越南
17年4月20日在12:21

只是一个注释:setfacl =设置文件ACL,ACL =访问控制列表,因此简称为“ setFacl”-更容易记住的方式。

– Yawar Murtaza
17年8月22日在10:29

如果要递归地将其应用于所有子目录:添加-R标志,如下所示:setfacl -R -m u:username:rwx myfolder

–乔斯A
18-3-14在21:01



向新用户授予权限的最简单方法

–拉杰什Mbm
18年3月17日在17:03

如果对多个文件或递归操作,是否可以在不更改任何现有x权限的情况下授予用户rw?

–范琦
18年4月23日在21:58



#3 楼

不行,这是不可能的。您可以使用

[sudo] chown username: foldername

更改文件的所有者,也可以使用

usermod -a -G {group-name} username
将用户添加到拥有文件的组中

评论


useradd -G {group-name}用户名告诉我用户名已经存在

– Erdal G.
16-09-20在11:51

我尝试了此操作,但我的用户仍然无法写入该文件夹

–声波灵魂
'18 Sep 9'在16:32

#4 楼

如果要递归地将其应用于所有子目录:添加-R标志,如下所示:

setfacl -R -m u:username:rwx myfolder