Eu tinha um arquivo com 644 ( -rw-r--r--
) e queria alterá-lo para 664 ( -rw-rw-r--
), depois de executar:
sudo chmod -664 my_file
as permissões de arquivo foram definidas como 000 ( ----------
).
Tentar alterar as permissões para algo diferente de 000 parece não estar funcionando. O que estou perdendo aqui?
command-line
permissions
chmod
illgoforit
fonte
fonte
-
na frente de 644? Tentesudo chmod 644 my_file
.-644
irá remover os direitos.Respostas:
Você está usando
-664
, basta usar664
. E nunca usesudo
quando você não precisar. Se esse é o seu arquivo, você não precisa desudo
:Quando você executa
chmod
com um-
antes do modo, você o remove. Vejaman chmod
(grifo meu):Os números são:
Portanto, um arquivo com
777
permissões significa que todos têm o direito de executar os três, desde 1 + 2 + 4 = 7, e, portanto, definir as permissões para 7 significa permitir leitura, gravação e execução.Se você começar com um arquivo cujo modo é
777
:E agora execute
chmod -644
, você removerá os bits644
e terminará com um arquivo cujo modo é133
:Isso porque você removeu 6 (leitura (4) + gravação (2)) das permissões do proprietário, deixando apenas 1 (execução) definido e 4 (leitura) do grupo e outras permissões. O resultado é um arquivo com apenas permissões execute (1) para o proprietário e grava e executa (você desativa 4, deixando 1 e 3) permissões para o restante.
Como seu arquivo provavelmente tinha as permissões padrão para novos arquivos, então
644
, quando você executouchmod -644 my_file
, removeu todos os bits de permissão definidos e obteve um arquivo sem permissões para ninguém.fonte