o comando
permite-lhe alterar a propriedade do utilizador e/ou do grupo de um dado ficheiro, directório ou ligação simbólica.
no Linux, todos os arquivos estão associados com um proprietário e um grupo e atribuídos com direitos de acesso de permissão para o proprietário do arquivo, os membros do grupo, e outros.
neste tutorial, vamos mostrar-lhe como usar o comando chown
através de exemplos práticos.,
como usar o comando chown #
Antes de entrar em como usar o comando chown
, vamos começar por rever a sintaxe básica.
chown
comando expressões assume a seguinte forma:
chown USER FILE(s)
USER
é o nome de usuário ou ID de usuário (UID) do novo proprietário. GROUP
é o nome do novo grupo ou o ID do grupo (GID). FILE(s)
é o nome de um ou mais arquivos, diretórios ou links., Os IDs numéricos devem ser prefixados com o símbolo +
.
-
USER
– se apenas o Utilizador for especificado, o utilizador especificado tornar-se-á proprietário dos ficheiros indicados, a propriedade do grupo não será alterada. -
USER:
– quando o nome do utilizador é seguido por dois pontos:
, e o nome do grupo não é dado, o utilizador tornar-se-á o proprietário dos ficheiros, e a propriedade do grupo de Ficheiros será alterada para o grupo de utilizadores., -
USER:GROUP
– se tanto o usuário quanto o grupo forem especificados (sem espaço entre eles), a propriedade do usuário dos arquivos é alterada para o usuário dado e a propriedade do grupo é alterada para o grupo dado. -
:GROUP
– se o Utilizador for omitido e o grupo for prefixado com dois pontos:
, apenas a propriedade do grupo dos ficheiros é alterada para o grupo indicado. -
:
If only A colon:
is given, without specifying the user and the group, no change is made.,
por omissão, no sucesso, chown
não produz qualquer resultado e devolve zero.
Use ls -l
comando para descobrir quem é dono de um arquivo ou o grupo ao qual o arquivo pertence a:
ls -l filename.txt
-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt|- | | | +-----------> Group +-------------------> Owner
usuários Normais pode mudar o grupo do arquivo somente se eles próprios o arquivo e apenas a um grupo do qual eles são um membro. Os usuários administrativos podem mudar a propriedade do grupo de todos os arquivos.,
Como Alterar o Proprietário de um Arquivo #
Para alterar o proprietário de um arquivo use o chown
comando seguido do nome de usuário do novo dono e o arquivo de destino como um argumento:
chown USER FILE
Por exemplo, o seguinte comando irá alterar a propriedade de um arquivo chamado file1
para um novo proprietário, denominado linuxize
:
chown linuxize file1
Para alterar a propriedade de vários arquivos ou diretórios, especificá-los como uma lista separada por espaço., O comando a seguir altera a propriedade de um arquivo chamado file1
e o diretório dir1
para um novo proprietário, denominado linuxize
:
chown linuxize file1 dir1
O valor numérico de IDENTIFICAÇÃO do usuário (UID) pode ser usado em vez do nome de usuário. O exemplo a seguir irá alterar a propriedade de um arquivo chamado file2
para um novo proprietário com o UID de 1000
:
chown 1000 file2
Se um valor numérico proprietário existe como um nome de utilizador e, em seguida, a propriedade será transferido para o nome de usuário., Para evitar esse prefixo de IDENTIFICAÇÃO com +
:
chown 1000 file2
Como Alterar o Dono e o Grupo de um Arquivo #
Para alterar o proprietário e o grupo de um arquivo use o chown
comando seguido pelo novo proprietário e de grupo, separados por dois pontos (:
), sem espaços entre eles e o arquivo de destino.,id=”61de68025d”>
Como Alterar o Grupo de um Arquivo #
Para alterar apenas o grupo de um arquivo use o chown
comando seguido por dois-pontos (:
) e o novo nome do grupo (sem espaço entre eles) e o arquivo de destino como um argumento:
chown :GROUP FILE
O seguinte comando irá alterar o grupo proprietário de um arquivo chamado file1
www-data
:
chown :www-data file1
Outro comando que você pode usar para alterar a propriedade do grupo de arquivos é chgrp
.,
como mudar a propriedade simbólica das ligações #
quando a opção recursiva não é usada, chown
comando muda a propriedade do grupo dos ficheiros para os quais as ligações simbólicas apontam, não as ligações simbólicas em si.,
Por exemplo, se você tentar alterar o dono e o grupo do link simbólico symlink1
que aponta para /var/www/file1
chown
vai alterar a propriedade do arquivo ou diretório o link simbólico aponta:
chown www-data: symlink1
as Chances são de que, em vez de alterar o destino da propriedade, você receberá um “não é possível anular a referência de ‘symlink1’: Permissão negada erro”.
o erro ocorre porque, por padrão, na maioria das distribuições Linux as ligações simbólicas estão protegidas, e você não pode operar em arquivos de destino., Esta opção é especificada em /proc/sys/fs/protected_symlinks
. 1
significa activo e0
desactivado. Recomendamos não desativar a proteção symlink.,-R
(--recursive
) opção:
chown -R USER:GROUP DIRECTORY
O exemplo a seguir irá alterar a propriedade de todos os arquivos e subdiretórios sob o /var/www
diretório para um novo proprietário e o grupo com o nome de www-data
:
chown -R www-data: /var/www
Se o diretório contém links simbólicos passar o -h
opção:
chown -hR www-data: /var/www
Outras opções que podem ser usadas quando recursivamente alterar o diretório de propriedade são -H
e -L
.,
If the argument passed to chown
command is a symbolic link that points to a directory, the -H
option will cause the command to traverse it. -L
diz achown
para atravessar cada ligação simbólica para um diretório que é encontrado. Normalmente, você não deve usar essas opções porque você pode estragar o seu sistema ou criar um risco de segurança.,
usando um ficheiro de referência #
a opção --reference=ref_file
permite-lhe alterar a propriedade do utilizador e do grupo dos ficheiros indicados para ser igual à do ficheiro de referência especificado (ref_file
). Se o ficheiro de referência for uma ligação simbólica chown
usará o utilizador e o grupo do ficheiro alvo.
chown --reference=REF_FILE FILE
Por exemplo, o comando a seguir irá atribuir o usuário e a propriedade do grupo de file1
file2