Os comandos chown
e chmod
são usados para gerenciar permissões de arquivos e diretórios no Linux e em outros sistemas operacionais baseados em Unix. Cada um tem uma função específica:
Primeiramente vamos verificar as permisoes do arquivo que queremos autera utilizando o coamdno ls - no diretorio onde o arquivo
1. chown
(Change Owner)
-
Função: O comando
chown
é usado para alterar o proprietário (dono) de um arquivo ou diretório e, opcionalmente, o grupo associado a ele. -
Sintaxe:
chown [novo_dono]:[novo_grupo] arquivo.tx
-
Exemplos:
-
Alterar o dono do arquivo:
chown maria arquivo.txt
Para mudar apenas o grupo de um arquivo ou diretório, a sintaxe é a seguinte:
chown :grupo arquivo_ou_diretorio
grupo
: O nome do grupo para o qual você deseja atribuir a propriedade.arquivo_ou_diretorio
: O arquivo ou diretório cujo grupo você deseja alterar.
-
Alterar o dono e o grupo:
chown maria:admin arquivo.txt
-
Aplicar de forma recursiva a um diretório e seus subdiretórios:
chown -R maria:admin /diretorio
-
Flags do chown
:
R
ou-recursive
: Aplica recursivamente o comando a todos os arquivos e subdiretórios dentro do diretório especificado.- Exemplo:
chown -R maria:admin /diretorio
- Exemplo:
v
ou-verbose
: Mostra uma saída detalhada de cada arquivo ou diretório modificado.- Exemplo:
chown -v maria:admin arquivo.txt
- Exemplo:
f
ou-silent
ou-quiet
: Suprime mensagens de erro.- Exemplo:
chown -f maria:admin arquivo.txt
- Exemplo:
-dereference
: Altera o proprietário do arquivo para o qual o link simbólico aponta, em vez do próprio link simbólico.- Exemplo:
chown --dereference maria:admin link_simbolico
- Exemplo:
-no-dereference
: Altera o proprietário do link simbólico em vez do arquivo para o qual ele aponta.- Exemplo:
chown --no-dereference maria link_simbolico
- Exemplo:
-from=CURRENT_OWNER:CURRENT_GROUP
: Altera o proprietário apenas se o arquivo tiver o proprietário e grupo especificados.- Exemplo:
chown --from=joao:admin maria:admin arquivo.txt
- Exemplo:
2. chmod
(Change Mode)
-
Função: O comando
chmod
é usado para modificar as permissões de leitura, escrita e execução de arquivos ou diretórios para o dono, grupo e outros usuários. -
Sintaxe:
chmod [permissões] arquivo
-
As permissões podem ser definidas de duas formas: com números (notação octal) ou com letras.
-
Notação Octal:
-
r
(leitura) = 4 -
w
(escrita) = 2 -
x
(execução) = 1 -
Exemplo:
chmod 755
significa:- Dono: leitura, escrita e execução (
7 = 4 + 2 + 1
) - Grupo: leitura e execução (
5 = 4 + 1
) - Outros: leitura e execução (
5 = 4 + 1
)
- Dono: leitura, escrita e execução (
-
Exemplo de comando:
chmod 755 arquivo.txt
-
Componentes da Notação com Letras:
Identificadores de Usuários:
u
: Dono (Owner/User)g
: Grupo (Group)o
: Outros (Others)a
: Todos (All - dono, grupo e outros)
Permissões:
r
: Leitura (Read)w
: Escrita (Write)x
: Execução (Execute)
Operadores:
+
: Adicionar permissão.- : Remover permissão.
=
: Atribuir permissão, removendo qualquer permissão pré-existente.
Exemplos de Uso:
Adicionar uma permissão:
-
Exemplo: Adicionar permissão de execução para o dono (
u
) e para o grupo (g
):Isso permite que o dono e o grupo possam executar o arquivo.chmod u+x,g+x arquivo.txt
Remover uma permissão:
-
Exemplo: Remover a permissão de escrita para "outros" (
o
):Isso remove a permissão de escrita para todos os outros usuários que não sejam o dono ou o grupo.chmod o-w arquivo.txt
Atribuir permissão específica:
-
Exemplo: Definir permissões de leitura e execução para todos (
a
), removendo qualquer outra permissão:Isso dá permissão de leitura e execução para todos (dono, grupo e outros), removendo qualquer permissão de escrita, se existisse.chmod a=rx arquivo.txt
Combinar permissões:
-
Exemplo: Adicionar permissão de leitura para o grupo (
g
) e remover permissão de execução para "outros" (o
):Isso concede ao grupo a permissão de leitura e remove a permissão de execução de outros usuários.chmod g+r,o-x arquivo.txt
Como isso funciona:
Vamos supor que temos um arquivo que possui estas permissões iniciais:
-rw-r--r--
- Dono: Leitura e escrita (
rw-
) - Grupo: Apenas leitura (
r--
) - Outros: Apenas leitura (
r--
)
Agora, aplicamos o seguinte comando:
chmod u+x,g+w,o-r arquivo.txt
u+x
: Adiciona permissão de execução para o dono.g+w
: Adiciona permissão de escrita para o grupo.o-r
: Remove a permissão de leitura para outros.
O resultado seria algo como:
-rwxrw----
- Dono: Leitura, escrita e execução (
rwx
) - Grupo: Leitura e escrita (
rw-
) - Outros: Sem permissões (
--
)
Flags do chmod
:
R
ou-recursive
: Aplica as permissões recursivamente a todos os arquivos e subdiretórios dentro do diretório especificado.- Exemplo:
chmod -R 755 /diretorio
- Exemplo:
v
ou-verbose
: Exibe uma saída detalhada de cada arquivo ou diretório cujas permissões foram alteradas.- Exemplo:
chmod -v 755 arquivo.txt
- Exemplo:
f
ou-silent
ou-quiet
: Suprime mensagens de erro.- Exemplo:
chmod -f 755 arquivo.txt
- Exemplo:
-reference=arquivo
: Copia as permissões de um arquivo para outro.- Exemplo:
chmod --reference=arquivo_origem arquivo_destino
- Exemplo:
Resumo:
chown
: Altera o dono e o grupo de arquivos e diretórios.chmod
: Altera as permissões (leitura, escrita, execução) de arquivos e diretórios.