Como altero permissões em um diretório?

7

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

Eu usei os seguintes comandos na pasta como root (digamos que folder = A):

chmod 777 (home/directory/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 ficará visível, o que indica que as permissões foram concedidas? no entanto, todos os arquivos dentro da pasta A ainda mostram um ícone de cadeado indicando que apenas a pasta A recebeu permissão e nenhum dos subdiretórios dentro dela.

Será uma tarefa bastante trabalhosa executar os comandos mencionados acima em todos os subdiretórios, pois são simplesmente muitos.

Obrigado!

    
por Linux NewB 12.02.2014 / 12:16

2 respostas

12

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 usando chmod, consulte aqui .

ATUALIZAÇÃO:

Aviso: Usar o chmod 777 tornará sua pasta executável por todos. Por favor, veja abaixo para 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 com atenção 200 escrever
100 executar

10s são para o grupo do arquivo
40 leia com atenção 20 escrever
10 executar

1s são para todos os outros | 4 leia
2 escreva
1 executar

No seu exemplo, você está dando ao proprietário, ao grupo e a todos os direitos totais do seu arquivo. Se, por exemplo, você deseja conceder permissões completas ao proprietário e ao grupo, mas todos os outros apenas leem e executam as permissões que você usaria 775.

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

    
por 12.02.2014 / 12:21
1

Você pode usar chmod para alterar os bits de permissão. A opção -R é para recursivamente - usada para diretórios. Os bits são explicados como rwx, isto é, ler, escrever e executável. Se r = 1, w = 1 e x = 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. Então, se você quer dar permissão a todos, então você faz chmod -R 777 dir_name. Além disso, você pode dizer chmod -R a + rwx dir ou se você quiser remover alguma permissão, então você pode dizer que chmod -R a-x dir - isso é para remover permissão executável.

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

    
por 13.02.2014 / 18:25