Respostas:
O comando chown é usado para alterar o proprietário e o proprietário do grupo de um arquivo ou diretório. São necessários privilégios de superusuário para usar este comando. A sintaxe do chown é assim:
chown [owner][:[group]] file...
chown pode alterar o proprietário do arquivo e / ou o proprietário do grupo de arquivos, dependendo do primeiro argumento do comando. aqui estão alguns exemplos:
chown owner file
exemplo:
chown bob file --> Changes the ownership of the file from its current owner to user bob.
chown owner:group file
exemplo:
chown bob:users file --> Changes the ownership of the file from its current owner to user bob and changes the file group owner to group users.
chown :group file
exemplo:
chown :admins file --> Changes the group owner to the group admins. The file owner is unchanged.
chown owner: file
exemplo:
chown bob: file --> Change the file owner from the current owner to user bob and changes the group owner to the login group of user bob.
Leia este bom tutorial https://www.linode.com/docs/tools-reference/linux-users-and-groups . Isso mostra algumas informações sobre usuário, grupos, permissões, ...
sudo
necessário executar o arquivo?
Não é user:user
, mas user:group
.
Este é o formato do comando
chown [OPTION]... [OWNER][:[GROUP]] FILE...
O grupo de usuários pode incluir muitos usuários. Aqui estão algumas informações sobre grupos:
O Linux usa grupos como uma maneira de organizar os usuários. Os grupos organizam coleções de contas, principalmente como uma medida de segurança. O controle da associação ao grupo é administrado por meio do arquivo / etc / group, que mostra uma lista de grupos e seus membros. Todo usuário tem um grupo padrão ou primário. Quando um usuário faz login, a associação ao grupo é definida para o grupo principal. Isso significa que quando um usuário inicia um programa ou cria um arquivo, o arquivo e o programa em execução serão associados à associação ao grupo atual do usuário. Um usuário pode acessar outros arquivos em outros grupos, desde que também sejam membros desse grupo e que as permissões de acesso estejam definidas. Para executar programas ou criar um arquivo em um grupo diferente, o usuário deve executar o comando newgrp para alternar seu grupo atual.
Um arquivo pertence a um usuário e um grupo. Por padrão, ele pertence ao usuário que criou o arquivo e seu grupo padrão, a menos que seja alterado.
No seu caso, o usuário root
é um membro do grupo root
.
root
e root root
O que o grupo faz? Eu entendo a seção proprietário embora
cut -d: -f1 /etc/group
comando, poderá ver a lista completa de grupos em seu sistema. unix.stackexchange.com/questions/153390/... pode ajudá-lo a compreender porque é que há um grupo com nome de usuário
man chown
fornece descrição, uso e outras informações úteis sobre o chown
comando.
NAME
chown - change file owner and group
SYNOPSIS
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
Das informações fornecidas pela página de manual, podemos saber que chown $USER:$USER
altera o proprietário e o grupo do arquivo de destino para $USER
, enquanto chown $USER
apenas altera o proprietário do arquivo de destino para $USER
, mantendo o grupo do arquivo de destino inalterado.
Detalhes (da página de manual) a seguir:
Owner is unchanged if missing. Group is unchanged if missing, but changed to
login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may
be numeric as well as symbolic.
Então chown $USER:$USER
pode ser reduzido como chown $USER:
.
Saídas como root root
from namei -l
command significam que o proprietário e o grupo desse arquivo estão ambos definidos como root
. Isso não é definido pelo proprietário ou listado duas vezes. Proprietário e grupo são dois conceitos relacionados, mas diferentes. E um arquivo sempre tem um proprietário e um grupo.
Quanto ao uso do chown
comando, grandes chances são de privilégio de superusuário, pois é provável que se transfira a propriedade de um arquivo ao usar o chown
comando. No entanto, isso nem sempre é a verdade.
Digamos, temos um usuário chamado 'teste', que pertence a vários grupos. id
O comando fornece a seguinte saída:
uid=1000(test) gid=1000(test) groups=1000(test),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),110(sambashare)
E o usuário 'test' possui o seguinte arquivo:
-rw-r--r-- 1 test test 0 May 27 23:34 test_file
Em seguida, podemos alterar o grupo de test_file
para sambashare
sem privilégio de superusuário, pois o usuário 'test' pertence ao grupo 'test' e ao grupo 'sambashare' ao mesmo tempo, o usuário 'test' já possui permissão suficiente para alterar o grupo do arquivo.