Como altero as permissões em um diretório

9

Estou usando o CentOS e gostaria de saber como alterar as permissões em uma pasta com vários arquivos.

Eu usei os seguintes comandos na pasta como raiz (digamos, pasta = A):

chmod 777 (home / diretório / A)

chmod g + r (A)

Se eu visualizar a pasta como um usuário normal, usando o gerenciador de arquivos, o ícone de cadeado não estará visível, o que indica que as permissões foram concedidas? no entanto, todos os arquivos da pasta A ainda mostram um ícone de cadeado indicando que apenas a pasta A recebeu permissão e nenhum dos subdiretórios nela.

Isso provará ser uma tarefa bastante trabalhosa executar os comandos mencionados acima em todos os subdiretórios, pois existem muitos.

Obrigado!

Linux NewB
fonte

Respostas:

15

Para definir permissões na pasta e em todas as subpastas / arquivos, você precisa usar a opção recursiva em seu comando:

chmod 777 -R /path/to/directory

Para mais informações sobre o chmod, consulte aqui .

ATUALIZAR:

Isenção de responsabilidade: O uso do chmod 777 tornará sua pasta executável por todos. Veja abaixo uma olhada na configuração

Suas permissões são definidas usando três números.

os 100 são para o proprietário do arquivo
400, leia
200 escreva
100 execute

10 são para o grupo do arquivo
40 leitura
20 gravação
10 executar

1s são para todo mundo
4 lê
2 escreve
1 executa

No seu exemplo, você está dando ao proprietário, grupo e todos os direitos plenos ao seu arquivo. Se, por exemplo, você deseja conceder permissões completas ao proprietário e ao grupo, mas todos os outros apenas lêem e executam permissões, você usaria o 775.

Se você deseja usar representação de letras em vez de números, consulte aqui

Matthew Williams
fonte
Obrigado! Matthew por resolver o problema e por fornecer um link informativo, que acabou de ser marcado como favorito :-)
Linux NewB
Se você achou isso útil, marque como resposta.
Gaurav Joseph
isso não tornará todos os arquivos dentro da pasta executáveis?
Stib
Sim, mas com a pergunta dele, entendo que é isso que ele quer. O link que forneci o ajudará com suas permissões. Como você mencionou, atualizarei minha resposta para incluir uma olhada nisso.
Matthew Williams
1

Você pode usar o chmod para alterar os bits de permissão. A opção -R é usada recursivamente - para diretórios. Os bits são explicados como rwx, isto é, leitura, gravação e executável. Se r = 1, w = 1 ex = 1. O binário 111 significa 7 em decimal. Assim, você vê 7. Agora, os campos são decididos como u = usuário, grupo e outros. Portanto, se você quiser dar permissão a todos, faça chmod -R 777 dir_name. Além disso, você pode dizer chmod -R a + rwx dir ou, se quiser remover alguma permissão, pode dizer chmod -R ax dir - isso é para remover a permissão executável.

Além disso, você pode fazer o man on chmod para saber mais detalhes.

hábil
fonte