A saída do comando ls (formato longo) é apresentada em formato de colunas.
Para os propósitos deste artigo, considere os campos abaixo:
Compare com a imagem abaixo:
Na próxima imagem:
Há ocorrência, na primeira coluna, dos tipos:
Para os propósitos deste artigo, vamos convencionar os tipos como sendo apenas arquivos e diretórios.
Ao executar o comando ls com a opção -l temos a saída na imagem abaixo.
Considerando os arquivos abaixo listados, as opções que ocorrem nas colunas (variando da segunda a décima posição) referem-se as permissões de leitura[r], escrita[w] e execução[x] para o dono, grupo e outros, respectivamente.
Considerando o s diretórios, as opções que ocorrem nas colunas (variando da segunda a décima posição) referem-se as permissões para listar [r], modificar [w] e acessar [x] para o dono, grupo e outros, respectivamente.
A permissão de leitura (r) habilita a ação de ler um arquivo. Quando definido para um diretório, esta permissão habilita o potencial de listar (r) os arquivos contidos no diretório.
A permissão de escrita (w) concede o potencial de editar um arquivo. Quando definido para um diretório, esta permissão atribui a habilidade de modificar (w) as entradas no diretório. Isso inclui as propriedades de criar, remover e renomear arquivos.
A permissão de execução (x) concede a prerrogativa de executar um arquivo. Esta permissão deve ser definida para os binários executáveis, por exemplo, um código compilado em Linguagem C ou um Shell Script. Quando definido para um diretório, esta permissão atribui a ação de acessar (x) o diretório, com pelo menos a propriedade de listar (sem essa prerrogativa não faria sentido acessar um diretório). Porém sem garantir a propriedade para editar e executar arquivos (a menos que estas ações estejam definidas).
[1] Comentário enviado por
beneskate em 29/09/2010 - 15:33h:
Artigo de muita ajuda pra quem tá começando no linux, pois trabalhar com permissões é meio complicado.... Parabéns!!!
[2] Comentário enviado por
gambin.br em 29/09/2010 - 16:22h:
Olá Luiz,
Artigo realmente muito importante, pois pra quem é iniciante (ou não) é facil se perder no meio de 10 caracteres para identificar as permissões do arquivo!
Apenas uma observação: os valores r (read) e w (write) estão trocados na tabela.
Flw!
[3] Comentário enviado por
nildopd em 29/09/2010 - 22:13h:
putz.... tava procurando isso.....
muito obrigado ai maninho.... muito bom mesmo...
grande abraço
[4] Comentário enviado por
davidsonpaulo em 30/09/2010 - 09:34h:
"esta permissão atribui a ação de acessar (x) o diretório, com pelo menos a propriedade de listar (sem essa prerrogativa não faria sentido acessar um diretório)"
Errado. É possível dar permissão de acessar um diretório sem permissão de ver seu conteúdo, e isso faz bastante sentido. :-)
Considere a seguinte situação (baseada em um caso verífico): um provedor precisa armazenar dados de todos os seus clientes em uma área comum, mas não quer que um cliente sequer tenha conhecimento da existência de dados de outros clientes. Então, ele cria o diretório /share tendo como donos o usuário root e o grupo users e tendo as permissões 0710. Dentro desse diretório existem os diretórios dos usuários, como /share/cliente1 e /share/cliente2, por exemplo, com as permissões definidas de forma que somente seus proprietários possam acessá-los.
Com essa configuração, o cliente1 poderá executar "cd /share/cliente1" e visualizar seus arquivos, porém, se executar "ls /share" receberá um erro de permissão negada, ficando assim sem ter como saber quais os nomes dos outros diretórios que estão lá dentro.
Portanto, um diretório pode sim ter permissão de acesso (x) sem ter permissão de leitura (r).
[5] Comentário enviado por
souza889 em 30/09/2010 - 14:23h:
albathross
O assunto do artigo é interessante mas me corrija se eu estiver vendo demais, mas a primeira imagem "Tabela" está citando r = escrita e w = leitura, estas atribuições estão invertidas.
r = leitura
w= escrita
x= execução
Na descrição abaixo as imagens está correto.
"Considerando os arquivos abaixo listados, as opções que ocorrem nas colunas (variando da segunda a décima posição) referem-se as permissões de leitura[r], escrita[w] e execução[x] para o dono, grupo e outros, respectivamente. "
Se um iniciante ler este artigo pode ficar confuso com estas informações.
Abraço
[6] Comentário enviado por
albathross em 30/09/2010 - 14:52h:
souza889
...é verdade na imagem as atribuições estão invertidas. Vou entrar em contato com o suporte para muidar isso.
Luiz Alberto
[8] Comentário enviado por
mcnd2 em 30/09/2010 - 19:49h:
Muito bom o artigo.
Definindo corretamento quem pode ter acesso, escrever e executar o arquivo é a melhor maneira de protegermos os dados confidencias.
[9] Comentário enviado por
miguel arcanjo3 em 04/10/2010 - 02:41h:
Grande artigo Cara, muito esclarecedor.
[10] Comentário enviado por
bakunin em 06/10/2010 - 15:48h:
Podia ter explicado para a galera como usar isso no command line.
Ficou no caminho.
[11] Comentário enviado por
xerxeslins em 06/10/2010 - 23:42h:
Parabéns! Abordou de forma bem legal um assunto básico, mas muito importante! Todo usuário Linux deveria saber isso. =)
[12] Comentário enviado por
mophilos em 08/10/2010 - 11:34h:
Muito bom.....................................................