Eu queria ter uma determinada pasta e arquivo e todos os descendentes, permissões de gravação.
Eu gostaria 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 recebi algo como:
chmod: 777: No such file or directory
Então fui ~/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 então eu vi que .. pasta especial tem: 777 permissões, mas não as outras.
Como posso reverter isso sem excluir a ~/Folder/app/
pasta?
Quero dizer: Como podemos permitir que ls funcione novamente sem digitar sudo dentro dessa pasta? E de alguma forma consertar a bagunça que fiz usando -r em vez de -R ?
Responder1
Como observei em meus comentários, você precisa fornecer --recursive
ou -R
(R maiúsculo) para chmod
que funcione recursivamente.
-r
(R minúsculo) significaremover permissões de leitura(pelo menos no meu entendimento). Esta operação seria então aplicada aopróximoparâmetro, que é 777
.
Portanto, 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
abortou ou se tentouremover permissões de leituradepróximoparâmetro ~/Folder/app/
.
Neste último caso, seria mesmoremoverleia as permissões da sua pasta, fazendo exatamente oopostodo que você queria em primeiro lugar :)
Agora, para resolver isso, basta usar ocorretosintaxe:
chmod --recursive 777 ~/Folder/app/
Isso adicionará as permissões de leitura de volta (e aplicará o modo 777 a todos os filhos dessa pasta). Por favor, tome notaComentário de Dennis Williamson, você quase nunca deseja definir um modo de 777.