Você pode explicar brevemente os principais conceitos e ferramentas de linha de comando usadas para gerenciar permissões de arquivo?
command-line
permissions
chmod
guillermooo
fonte
fonte
chown guillermooo
não deveria ser assimchown guillermooo filename
?Permissões de arquivo
O Ubuntu herdou o conceito de permissões do Unix quando, para arquivos ou diretórios, há três tarefas que podemos permitir ou negar:
( Percorrer um diretório significa essencialmente usá-lo como parte de um nome de caminho. Consulte https://unix.stackexchange.com/a/13891 ou https://unix.stackexchange.com/questions/21251 para obter mais explicações.)
Além disso, temos três casos sobre os quais concedemos uma permissão:
Agora, para obter a combinação desses itens, usamos um sistema binário em que cada bit define uma permissão. Isso pode ser melhor mostrado na tabela a seguir
Agora, se quisermos, por exemplo
a) o proprietário de um arquivo (= user) tem r ead, w rito, e e x ecute permissão,
b) grupo concedida do arquivo r ead e e x permissões ecute, e
c) todos os outros só deve ter r acesso ead.
A permissão do arquivo resultante será:
Para obter isso nos números octais, por exemplo. para o
chmod
comando ou quando precisamos entender uma mensagem de erro, precisamos preencher a tabela acima, como abaixo:Cada número de permissão precisa ser adicionado para resumir para um usuário (4 + 2 + 1 = 7), grupo (4 + 0 + 1 = 5) e outro (4 + 0 + 0 = 4). O número resultante é então:
Agora temos duas opções para alterar os bits de permissão com
chmod
:ou muito mais simples com
Ambos os comandos farão o mesmo.
Se queremos que os arquivos sejam executáveis como programas, teremos que mudar essa permissão.
Observe que também precisaremos alterar a permissão do diretório em que este executável pode estar. Somente se os bits executável do arquivo e do diretório estiverem definidos, poderemos executar esse arquivo como um programa.
Ao copiar um arquivo para nossa casa, ele perde suas permissões, que serão substituídas por nossas próprias permissões padrão (a menos que copiemos usando opções avançadas, por exemplo, uma opção de arquivamento).
Observe também que o arquivo pode herdar sua permissão do ponto de montagem, resp. opções de montagem. Isso é importante ao montar unidades formatadas para Windows que não suportam permissões Unix.
Usuários e Grupos
Logo percebemos que isso era apenas metade da história. Também precisamos resolver os pertences. Para fazer isso, cada arquivo ou pasta possui um proprietário definido e uma associação de grupo definida.
Cada vez que criamos um arquivo, seremos o proprietário de um arquivo e o grupo do arquivo também seremos nós. Com
ls -l
podemos ver permissões, propriedade e grupo como visto no seguinte exemplo de saída:Se não somos o proprietário do arquivo, obteremos um
Permission denied
erro. Somente o root pode alterar isso para todos os arquivos. É por isso que precisamos usarsudo
ao editar a permissão de arquivos que não são nossos. Existem dois comandos internos para fazer issochown
para usuários echgrp
grupos.Para alterar a propriedade de um arquivo de alguém para
takkat
nós, podemos emitir este comando:Para alterar o grupo de um arquivo para
takkat
emitirLeia as páginas de manual dos comandos para obter mais detalhes e opções. Há também este guia mais elaborado e recomendado para leitura adicional:
Encontre também algumas perguntas relacionadas aqui:
fonte