授予特定用户使用+ w表示法写入文件夹的权限


152

我知道我可以分配写给所有者/组/其他人的权限,如下所示:

chmod u+w myfolder

我可以在这里指定特定用户吗?像这样:

chmod username u+w myfolder

我认为不可能。您为什么不只是将用户添加到组中?
埃米尔(Emil)2014年

Answers:


157

如果要更改拥有此文件或目录(文件夹)的用户,则必须使用命令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。
an尼科

我可以不这样做sudo吗?
becko

1
@becko:如果您放到根外壳上,则可以。
Charo 2016年

1
@Charo我的意思是无根
becko

1
@AER:在第一个命令中,如果冒号跟随username所有者组,也将更改为username(如果省略这样的冒号,所有者组将不会更改)。
Charo

191

您可以使用setfacl

setfacl -m u:username:rwx myfolder

这将为特定用户设置权限,而不更改目录的所有权。

请查阅手册页以获取更多详细信息和示例。


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

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

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

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

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

8

不行,这是不可能的。您可以使用以下方式更改文件的所有者

[sudo] chown username: foldername

或者您可以将用户添加到拥有该文件的组中

usermod -a -G {group-name} username

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

我尝试了此操作,但我的用户仍然无法写入该文件夹
Sonic Soul
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.