Comportamento estranho de 'sudo chmod -rwx': não remove as permissões de gravação do grupo

5

Acabei de executar o seguinte comando em um diretório com vários arquivos, alguns de propriedade root, alguns de um usuário normal. Eu tenho uma mensagem estranha:

$ sudo chmod -rwx *
chmod: example-file: new permissions are ----w----, not ---------

Por que diabos o chmod se recusa a limpar todas as permissões, se um arquivo tiver direitos de gravação de grupo? Qual é o pensamento por trás desse comportamento?

E existe uma maneira de forçar a remoção de todas as permissões em uma etapa, sem ter que executar sudo chmod g-w * depois?

    
por Byte Commander 08.01.2016 / 22:34

1 resposta

6

De man chmod (ênfase minha):

A  combination  of the letters ugoa controls which users' access to the
file will be changed: the user who owns it  (u),  other  users  in  the
file's group (g), other users not in the file's group (o), or all users
(a).  If none of these are given, the effect is as if a were given, but
bits that are set in the umask are not affected.

Esse comportamento está funcionando conforme o esperado, portanto, não é um bug. Veja os comentários 4 e 5 em este relatório de erros .

$ touch 1; ll
total 0
-rw-rw-r-- 1 muru muru 0 Jan  9 03:17 1
$ chmod -rwx *; ll
total 0
---------- 1 muru muru 0 Jan  9 03:17 1
$ umask
002
$ umask 072; chmod ug+rw *
$ chmod -rwx * 
chmod: 1: new permissions are ---rw----, not ---------
$ chmod a-rwx *; ll
total 0
---------- 1 muru muru 0 Jan  9 03:17 1

Não seja um idiota preguiçoso. Use a .

    
por muru 08.01.2016 / 22:50