Permissão de chown recusada no diretório de propriedade

4

Eu tenho o seguinte diretório ( /usr/local )

rwxr-xr-x. 43 root root  4096 Jul 25 14:19 .
rwxr-xr-x. 14 root root  4096 Feb 21 10:27 ..
rwxr-xr-x.  2 root root  4096 Jun 28  2011 bin
[...]
rwxr-xr-x   1 root root  8192 Jul 25 13:41 bad_dir
rwxr-xr-x.  4 root root  4096 Mar 28 11:56 good_dir

Estou logado como root. Quando eu executo chown root:root good_dir , tudo está ok, mas quando eu executo chown root:root bad_dir eu tenho chown: changing ownership of '/usr/local/bad_dir': Permission denied

O que há de errado com o bad_dir? O que devo alterar para que o chown funcione corretamente? Eu vejo um ponto no final das permissões, mas não sei o que isso significa.

Atualizar

Rodando

echo 0 > /selinux/enforce
chmod 755 bad_dir

também dá chmod: changing permissions of 'bad_dir': Permission denied

Atualização 2

A saída de ls -la /usr é

total 128
drwxr-xr-x.  14 root root  4096 Feb 21 10:27 .
dr-xr-xr-x.  24 root root  4096 May 28 08:22 ..
dr-xr-xr-x.   2 root root 28672 Jun 27 10:29 bin
drwxr-xr-x.   2 root root  4096 Jun 28  2011 etc
drwxr-xr-x.   2 root root  4096 Jun 28  2011 games
drwxr-xr-x.  36 root root  4096 Jul 23 14:04 include
dr-xr-xr-x.  12 root root  4096 Apr 11 17:10 lib
dr-xr-xr-x.  45 root root 36864 Jul 23 14:04 lib64
drwxr-xr-x.  14 root root  4096 Mar 28 11:58 libexec
drwxr-xr-x.  43 root root  4096 Jul 25 14:34 local
drwxr-xr-x.   3 root root  4096 Feb 21 10:27 man
dr-xr-xr-x.   2 root root 12288 Jul 23 14:04 sbin
drwxr-xr-x. 106 root root  4096 Mar 28 12:00 share
drwxr-xr-x.   4 root root  4096 Nov 20  2013 src
lrwxrwxrwx.   1 root root    10 Nov 20  2013 tmp -> ../var/tmp
    
por Piotr Stapp 25.07.2014 / 14:24

2 respostas

4

Os diretórios precisam de x permissão para abrir. Você provavelmente pode fazer,

chmod 755 bad_dir e tente seu comando chown .

De acordo com aqui , o ponto no final significa

De acordo com ls.c (linha 3785), . significa uma SELinux ACL . ( + significa uma ACL geral ).

Se for o messenger do SELinux, use setenforce para modificar seu modo. Execute setenforce 0 para colocar o SELinux no modo permissivo e setenforce 1 para colocá-lo novamente no modo de execução.

    
por 25.07.2014 / 14:30
1

Eu cometi um erro estúpido. Nós tínhamos poucas máquinas provisionadas de forma idêntica, mas uma delas (com esse problema) foi alterada por um de meus colegas.

O bad_dir foi montado pelo NFS, o que explica todos os problemas. Graças a Joel Davis, que me sugere para verificar isso novamente, eu resolvi o meu problema.

    
por 28.07.2014 / 09:13

Tags