Conceda permissão específica ao usuário para gravar em uma pasta usando a notação + w

154

Eu sei que posso atribuir a permissão para escrever para um proprietário / grupo / outros como este:

chmod u+w myfolder

Posso especificar o usuário específico aqui? Alguns assim:

chmod username u+w myfolder
Maxim Koretskyi
fonte
Eu não acho que é possível. Por que você não adiciona o usuário ao grupo?
Emil

Respostas:

158

Se você quiser alterar o usuário possuir este arquivo ou diretório (pasta), você terá que usar o comando chown. Por exemplo, se você executar

sudo chown username: myfolder

o usuário que possui minha pasta será o nome de usuário. Então você pode executar

sudo chmod u+w myfolder

para adicionar a permissão de gravação ao nome do usuário.

Mas se você deseja adicionar este usuário ao grupo associado ao "myfolder", você pode executar

sudo usermod -a -G groupname username

e depois executar

sudo chmod g+w myfolder

para adicionar a permissão de gravação ao grupo.

Charo
fonte
Existe uma maneira pela qual os dois usuários terão acesso à pasta e um grupo não é necessário; foi sugerido em uma resposta para a mesma pergunta aqui: superuser.com/a/235398/191720.
Luan Nico
Posso fazer isso sem sudo?
Becko
1
@ Becko: Você pode se você soltar em um shell raiz.
Charo
1
@Charo eu quis dizer, sem raiz
Becko
1
@AER: No primeiro comando, se dois pontos seguirem usernameo grupo proprietário também será alterado para username(se você omitir esses dois pontos, o grupo proprietário não será alterado).
Charo #
192

Você poderia usar setfacl:

setfacl -m u:username:rwx myfolder

Isso define permissões para usuários específicos, sem alterar a propriedade do diretório.

Confira a página de manual para obter mais detalhes e exemplos.

user3689208
fonte
8
Resposta perfeita! Também setfaclestá disponível no CentOS ( yum -y install acl) e no FreeBSD.
Viet
7
apenas uma observação: setfacl = set ACL do arquivo, ACL = lista de controle de acesso, portanto, para abreviar "setFacl" - maneira mais fácil de lembrar, eu acho.
Yawar Murtaza
12
Se você quer aplicá-lo de forma recursiva para todos os subdiretórios: adicionar a opção -R assim:setfacl -R -m u:username:rwx myfolder
Jose A
maneira mais fácil de dar permissão para um novo usuário
Rajesh Mbm
1
Existe uma maneira de conceder a um usuário rwsem alterar nenhuma xpermissão existente , se estiver operando em vários arquivos ou recursivamente?
Qi Fan
8

Não, isso não é possível. Você pode alterar o proprietário do arquivo com

[sudo] chown username: foldername

ou você pode adicionar o usuário ao grupo que possui o arquivo com

usermod -a -G {group-name} username
Pabi
fonte
useradd -G {group-name} usernameme diz que nome de usuário já existe
Erdal G.
Eu tentei isso, mas o meu usuário ainda não pode escrever para essa pasta
o Sonic Alma