No meu departamento, temos um pequeno servidor de arquivos com o CentOS e o samba. Eu tenho acesso root para poder executar alguma manutenção básica.
Hoje eu estava criando algumas pastas somente leitura, então fui em frente e fiz um chmod -R -w some-folder/
, mas por alguns arquivos obtive a resposta:
chmod: ./somefile.pdf: novas permissões são r-xrwxr-x, não r-xr-xr-x
Depois de adicionar -v
, não recebo muita informação:
modo de `./somefile.pdf 'mantido como 0575 (r-xrwxr-x)
Eu tentei o seguinte apenas para ter certeza:
# touch test-file
# chmod -v -R -w .
mode of `./somefile.pdf' retained as 0575 (r-xrwxr-x)
chmod: ./somefile.pdf: new permissions are r-xrwxr-x, not r-xr-xr-x
mode of `./test-file' changed to 0444 (r--r--r--)
Não consigo pensar em boas razões pelas quais o root não seria capaz de executar um chmod?
Alguns petiscos:
- O sistema de arquivos não é somente leitura (apenas alguns arquivos se recusaram a ser modificados).
- Eu executei os comandos chmod como root, mas sem efeito.
- A partição em que os arquivos residem é ext4.
ATUALIZAÇÕES : Esta é a saída para lsattr
o arquivo e a pasta que contém:
# lsattr somefile.pdf
-------------e- somefile.pdf
# lsattr ..
-------------e- ../myfolder
Não há presente setuid ( ls -la
):
dr-xr-xr-x 2 userxyz abc 4096 May 30 09:29 .
dr-xr-xr-x 17 userxyz abc 4096 Sep 19 2013 ..
-r-xrwxr-x 1 userxyz abc 275150 Aug 6 2013 somefile.pdf
lsattr
desses mesmos arquivos e o diretório acima dele?Respostas:
Segundo fontes, você tem um modo esperado ingênuo . Depois de abandonar mais, acho que a causa é a
-w
opção, que não é o que você está esperando. Você deve darg-w
ouugo-w
(de acordo com suas necessidades).Sem fornecer um destino explícito (a, o, g, u), alguns resultados inesperados podem ser fornecidos, de acordo com o valor umask. Eu acho que essa mensagem extra é feita por causa de mudanças inesperadas.
Editar: fontes em http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/chmod.c#n301
Retirado do cache do google, um comentário nesse código que não existe mais:
fonte
ugo-w
e ele não reclama mais. Vou esperar um pouco antes de aceitar por cortesia a possíveis atendentes.