Operação de chown não permitida para raiz

21

Eu tento mostrar o proprietário de um arquivo como root, mas não posso. Estou fazendo isso como raiz. Recebo a seguinte mensagem:

chown: changing ownership of `ps': Operation not permitted
Peter Stuifzand
fonte
Um ls -lha e lsattr saída ajudariam a solução :)
drAlberT

Respostas:

45

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

Cian
fonte
8
Foi um. Mas obrigado pelo aceno na direção certa.
31440 Peter Stuifzand
Obrigado, como posso definir atributos imutáveis ​​novamente?
Zim3r
chattr + i <arquivo>
Cian
chattr: Inappropriate ioctl for device while reading flags on
andilabs
8

Existem várias soluções, algumas delas:

  • você tem um sistema de arquivos não permite, por exemplo. uid: gid, por exemplo: FAT
  • a unidade foi montada somente leitura
  • O SELinux ou outros aplicadores de segurança se aplicam
  • O sistema de arquivos está definido no modo somente leitura (xfs_freeze, por exemplo)
  • O arquivo possui o sinalizador imutável definido (man chattr)
asdmin
fonte
O sistema de arquivos é ext3, montado de leitura e gravação, sem SELinux.
31740 Peter Stuifzand
Também é possível que o arquivo esteja em um sistema de arquivos NFS, montado root_squash, embora improvável, considerando o arquivo.
Cian
3

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

Razões possíveis:

  • Você está executando um Linux com segurança aprimorada, como o SELinux . Isso impõe restrições mesmo sobre o que a raiz pode fazer.
  • O arquivo está em um sistema de arquivos que não suporta a propriedade do arquivo, como (V) FAT. Dependendo das opções de montagem, o chmod / chown fornecerá erros.
sleske
fonte
3

Tente o seguinte:

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

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

Lucas Kauffman
fonte
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 :)

Jesper Grann Laursen
fonte
0

em que tipo de sistema de arquivos é o arquivo "ps" que você está tentando exibir? O fs é montado como ro (somente leitura)?

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*
kargig
fonte
O problema é que meu sistema foi invadido e alguns arquivos foram substituídos. Agora quero substituí-los pelos originais, mas não trabalho.
31440 Peter Stuifzand
9
Se seu sistema foi invadido, você não deseja colocar os arquivos de volta. Você não tem como dizer o que foi quebrado e nada no sistema é confiável. Limpe e reinstale a partir de backups.
Cian
11
Como Cian disse, se seu sistema foi invadido e eles obtiveram acesso root, não substitua arquivos. Pode ainda conter uma (quase) rootkit invisível que chamadas de sistema seqüestros. Ele ainda pode estar cheirando senhas, ainda pode ter aberto backdoors em seus serviços, e / e (número infinito de possíveis coisas que uma máquina invadida pode conter). O mais razoável a fazer é desligar a máquina e estudar seu conteúdo offline, colocando o disco em outra caixa. Não confie nesta máquina e não substitua nenhum binário; eles podem conter informações valiosas para descobrir o que o rootkit faz.
kargig
0

Cada "palpite" feito por outras respostas é possível. Uma dica de depuração pode ser fazer um rastro do comando e examinar a saída para ver qual é o problema real nos próprios syscalls.

strace chown root /bin/ps 2>&1 | less 
drAlberT
fonte