Removeu acidentalmente as permissões de leitura da pasta. Como eu volto?

2

Eu queria ter uma determinada pasta e arquivo e todos os descendentes, escrever permissões.

Eu desejei que TODOS os arquivos e pastas pudessem receber recursivamente as seguintes permissões: 777

Então eu tentei:

chmod -r 777 ~/Folder/app/

Eu então tenho algo como:

chmod: 777: No such file or directory

Em seguida, fui para ~/Folder/app/ e tentei fazer um ls -la para verificar as permissões.

Eu recebo:

.: Permission Denied

Eu então fiz:

sudo ls -la

e depois eu vi que .. pasta especial tem: 777 permissões, mas não os outros.

Como posso reverter isso sem excluir a pasta ~/Folder/app/ ?

Quero dizer: Como podemos permitir que o ls funcione novamente sem digitar sudo dentro dessa pasta? E de alguma forma consertar a bagunça que fiz usando -r ao invés de -R?

    
por MEM 04.06.2012 / 14:20

1 resposta

4

Como observei em meus comentários, você precisa fornecer --recursive ou -R (capital R) para chmod para que ele funcione de forma recursiva.

-r (letra minúscula R) significa remover permissões de leitura (pelo menos para o meu entendimento). Essa operação seria aplicada ao parâmetro próximo , que é 777 .

Assim, sua chamada removeria as permissões de leitura de um arquivo chamado 777 . Esse arquivo não existe, portanto, a mensagem de erro

chmod: 777: No such file or directory

Não tenho certeza se chmod foi abortado ou se tentou remover permissões de leitura do parâmetro próximo ~/Folder/app/ .
No último caso, seria até mesmo remover as permissões de leitura da sua pasta, fazendo exatamente o oposto do que você queria, em primeiro lugar:)

Agora, para resolver isso, basta usar a sintaxe correta :

chmod --recursive 777 ~/Folder/app/

Isso adicionará as permissões de leitura de volta (e aplicará o modo 777 em todos os filhos dessa pasta). Por favor, tome nota de comentário de Dennis Williamson , você quase nunca quer definir um modo de 777.

    
por 04.06.2012 / 14:32