Entendo que chmod u+w
significa dar ao usuário/proprietário ( u
), permissões de escrita ( w
, que equivale ao número 2
), então as novas permissões do arquivo após rodar o chmod
comando acima ficariam (em octal):
2XY
Onde 2
(equivalente a write
) é a permissão do novo proprietário e XY
marca o grupo/outras permissões que não foram modificadas.
Isso é correto?
Não, na verdade adiciona o 2 à permissão original que o proprietário tinha.
Portanto, se originalmente ele tivesse apenas permissões para
read
(4) eexecute
(1), depois de executarchmod u+w
a permissão do proprietário seria: 1+2+4=7 em vez de 5.Se ele tivesse apenas
read
permissões, após ochmod
comando, o proprietário teria 4+2=6 em vez de apenas 4.A propósito, se o comando fosse
chmod u=w
( sinal de igual em vez de um sinal de mais ), você estaria correto e a permissão do proprietário mudaria para 2 (somentewrite
). Essa é a diferença entre+
e=
no comando chmod. O primeiro adiciona às permissões, o segundo as substitui .Dito isso, se você quiser afetar todos os grupos (u,g,o), faça, digamos,
chmod 200
.