chmod não altera as permissões de certos diretórios

5

Arquivo do sistema: ext4

Eu alterei o proprietário dos arquivos para apache: com o comando:

chown -R apache: wp.localhost

Então, eu não pude mudar as permissões dos diretórios em wp.localhost nem o próprio wp.localhost

Eu uso o comando chmod +w wp.localhost por exemplo. e não vejo nenhuma alteração de permissão.

Eu também alterei o grupo de pastas pelo comando novamente, mas não resolvi o problema.

chown -R apache:users wp.localhost

Vírgulas e permissões antes e depois:

#ls -ld wp.localhost
drwxr-xr-x 6 apache users 4096 Mar 28 15:26 wp.localhost/
# chmod +w wp.localhost
# ls -ld wp.localhost
drwxr-xr-x 6 apache users 4096 Mar 28 15:26 wp.localhost/
    
por Mohammad Etemaddar 28.03.2014 / 13:03

1 resposta

7

Se você quiser conceder permissão de gravação global nesse diretório, terá que fazer

chmod a+w wp.localhost [1]

Isso ocorre porque a omissão da carta "who is affected" ( u , g , o ou a ) implica a , mas não define bits definidos em sua conta umask . Por exemplo, se o seu umask for 0022 , o bit 'write' será definido nas posições 'group' e 'other', e chmod irá ignorá-lo se você não especificar a explicitamente .

A página chmod man é explícita sobre isso:

If none of these ['who is affected' letters] are given, the effect is as if a were given, but bits that are set in the umask are not affected.

[1] Pense bem antes de fazer isso!

    
por 28.03.2014 / 13:12