Chmod -r issues

4

Esta pode ser uma pergunta boba, no entanto, desejo que os testes alterem as permissões de pastas para incluir todos os subdiretórios. No entanto eu digito

sudo chmod -r 755 bwjam/

e

 chmod -r 755 bwjam/

respectivamente sem sucesso. O resultado de retorno é

chmod: cannot access '755': No such file or directory

Se eu não inlcudar o sinalizador -r, ele funciona muito bem, eu suponho que estou recebendo algo errado, mas não consigo encontrar o que estou fazendo de errado com o google. Cuidados para lançar alguma luz?

    
por Achmann 22.11.2016 / 04:21

3 respostas

4

chmod usa -R para recursão, não -r . (Isto é verdade para chown e irmãos também que lidam com permissões padrão, e vêm com o GNU coreutils ).

Porque: se você usar -r , ele será considerado como uma representação de permissão simbólica do bit de permissão de leitura e necessariamente significará remover ( - ) a leitura ( r ) do que segue , e então os bits octal 755 (e o que segue) serão tomados como nome (s) de arquivo.

Você pode ter misturado essas opções com cp (também a partir de coreutils ) -r / -R , em cp ambos significa a mesma coisa, recursão.

Em poucas palavras, você precisa:

chmod -R 755 bwjam/
    
por heemayl 22.11.2016 / 04:45
3

A letra de opção correta para as alterações do modo recursivo é uma maiúscula R

-R, --recursive
       change files and directories recursively

Quando você escreve

chmod -r 755 bwjam/

o comando está interpretando -r como uma instrução para remover a permissão de leitura dos arquivos 755 e bwjam/

    
por steeldriver 22.11.2016 / 04:29
3

Deve ser chmod -R 755 bwjam/ para recursivo. -r não é uma opção válida para recursiva com chmod .

    
por Terrance 22.11.2016 / 04:28