Operação Chown não permitida para root

18

Eu tento mandar o dono de um arquivo para root, mas não posso. Eu estou fazendo isso como root. Eu recebo a seguinte mensagem:

chown: changing ownership of 'ps': Operation not permitted
    
por Peter Stuifzand 31.08.2009 / 11:48

7 respostas

41

O atributo imutável pode ser definido no arquivo. Remova-o com chattr -i

    
por 31.08.2009 / 12:08
9

Várias soluções existem, algumas entre elas:

  • você tem um sistema de arquivos não permite, por exemplo. uid: gid, por exemplo: FAT
  • a unidade foi montada somente leitura
  • SELinux ou outras autoridades de segurança aplicam-se
  • o sistema de arquivos está configurado para o modo somente leitura (xfs_freeze, por exemplo)
  • o arquivo tem o sinalizador imutável definido (man chattr)
por 31.08.2009 / 12:03
3

Engraçado. Você verificou os logs do sistema (/ var / log / messages, / var / log / syslog, saída do dmesg) para alguma pista?

Possíveis motivos:

  • Você está executando algum Linux com segurança aprimorada, como o SELinux . Estas restrições de lugar até mesmo em que raiz pode fazer.
  • O arquivo está em um sistema de arquivos que não suporta a propriedade de arquivos, como (V) FAT. Dependendo das opções de montagem, chmod / chown lhe dará erros.
por 31.08.2009 / 11:56
3

Tente isto:

[root @ root] # chattr -ais / bin / ls

depois de alterar a propriedade e o grupo de volta à raiz.

    
por 03.07.2010 / 08:53
2

Eu tive o mesmo problema.

$ chattr -V -i dir
chattr 1.41.12 (17-May-2010)
Flags of dir set as s----a---------

O que não foi suficiente. Então eu adicionei o 'sa'

$ chattr -V -ais dir
chattr 1.41.12 (17-May-2010)
Flags of dir set as ---------------
$ chown root dir
$

Problema resolvido:)

    
por 19.01.2011 / 22:02
0

em que tipo de Filesystem é o arquivo "ps" que você está tentando usar? Os fs são montados como ro (readonly)?

se você está falando sobre / bin / ps, no debian é sempre como:

-rwxr-xr-x 1 root root 76132 2009-05-28 10:48 /bin/ps*
    
por 31.08.2009 / 11:54
0

Cada "palpite" feito por outras respostas é possível. Uma dica de depuração pode ser fazer um strace do comando, e olhar na saída para ver qual é o problema real no próprio syscalls.

strace chown root /bin/ps 2>&1 | less 
    
por 31.08.2009 / 12:19