então basicamente eu quero poder gravar dados usando stfp, mas quando eu usá-lo. diz permissão negada. Eu quero poder fazer isso neste diretório /home/user
para que quando eu usar ls -l
o comando ele tenha a seguinte saída
total 8
drwxr-xr-x 2 root root 4096 Apr 22 21:43 FOLDER1
drwxr-xr-x 2 root root 4096 Apr 22 22:00 FOLDER2
Como posso ver quem é o proprietário deste diretório. Eu sei que posso usar este cmd chmod a+rw user
para dar permissão de leitura e gravação a todos, mas só quero concedê-lo a apenas um usuário. E há apenas um usuário no sistema, mas posso criar mais no futuro. Quero entender o conceito de proprietário e grupos. Perguntas adicionais: - como ver quais grupos existem. como criar grupos e como adicionar usuários a esses grupos.
Responder1
Resposta muito boa e correta poryxz
A única coisa que melhoraria é um exemplo real (mesmo que esteja implícito). Como ainda não posso comentar (não há pontos de reputação suficientes), tenho que escrever uma resposta adicional para fornecer exemplos.
Sintaxe de comando simplificada:
sudo chown username[:[groupname]] <filename>
sudo chown username[:[groupname]] <dirname>
Para os exemplos a seguir, estes são os parâmetros
- nome de usuário:Jack
- nome do grupo de login:temporizador
- nome do grupo:contas
- nome do arquivo:foo
- nome do diretório:clientes
O arquivo foo
existe no sistema nomeado server
no compartilhamento nomeado data
no diretório clients
.ou seja //sever/data/clients/foo
Exemplos: alterar propriedade do arquivo
1. admin@server:/data$ sudo chown jack clients/foo
2. admin@server:/data$ sudo chown jack: clients/foo
3. admin@server:/data$ sudo chown jack:accounts clients/foo
- mudar de dono dearquivonomeado
foo
paraJack - mudar de dono dearquivonomeado
foo
paraJacke grupotemporizador. Jack é um membro dogrupo de loginnomeadotemporizador. Neste exemplo ogrupo de loginestá implícito no uso de:
depois do nome do proprietário - mudar de dono dearquivonomeado
foo
paraJacke grupo paraaccounts
Exemplos: alterar propriedade do diretório
4. **admin@server:/data$** sudo chown jack clients
5. admin@server:/data$ sudo chown jack: clients
6. admin@server:/data$ sudo chown jack:accounts client
7. admin@server:/data$ sudo chown -R jack:accounts client
- mudar de dono dediretórionomeado
clients
paraJack - mudar de dono dediretórionomeado
clients
paraJacke grupotemporizador - mudar de dono dediretórionomeado
clients
paraJacke grupo paraaccounts
- mudar de dono dediretórioe todos os arquivos no diretório nomeado
clients
paraJacke grupo paraaccounts
Para obter mais ajuda, consulte:
chown --help
man chown
info chown
Responder2
Na sua ls -l
saída, a 3ª e a 4ª colunas são o usuário (proprietário) e o grupo (proprietário), respectivamente, portanto, suas pastas pertencem ao root.
Se você executar chmod +006 yourfile
, isso dará a todos os usuários permissão de leitura e gravação para yourfile
. Neste caso, root
é dono da pasta, então você precisaria usar sudo
(ou algum outro método para emitir o comando como root). Se você deseja que apenas um ou alguns usuários tenham acesso, você pode usar chown userowner[:groupowner]
(com sudo
) para tornar esse usuário ou grupo o proprietário do arquivo e usar chmod +600
para fornecer leitura e gravação ao proprietário e chmod +060
para fornecer leitura e gravação ao proprietário do grupo.
Para listar os grupos aos quais o usuário atual pertence, use groups username
. Para listar todos os grupos você pode usar cat /etc/group
. getent group
também funciona.
Para criar um novo grupo, use groupadd
.
Para adicionar um usuário a um grupo, use usermod -Ga groupname username
. Se você não usar o -a
sinalizador, o usuário username
será removido de todos os grupos atuais e estará presente apenas no novo grupo groupname
.