Opération chown non autorisée pour root


21

J'essaie de chown le propriétaire d'un fichier à root, mais je ne peux pas. Je fais ça en tant que root. Je reçois le message suivant:

chown: changing ownership of `ps': Operation not permitted

Une sortie ls -lha et lsattr aiderait la solution :)
drAlberT

Réponses:


45

L'attribut immuable peut être défini sur le fichier. Supprimez-le avec chattr -i


8
C'était un. Mais merci pour le signe de tête dans la bonne direction.
Peter Stuifzand

Merci, comment puis-je définir à nouveau un attribut immuable?
Zim3r

chattr + i <fichier>
Cian

chattr: Inappropriate ioctl for device while reading flags on
andilabs

8

Plusieurs solutions existent, certaines d'entre elles:

  • vous avez un système de fichiers ne vous permet pas par exemple. uid: gid, par exemple: FAT
  • le lecteur a été monté en lecture seule
  • SELinux ou d'autres responsables de la sécurité s'appliquent
  • le système de fichiers est défini en mode lecture seule (xfs_freeze, par exemple)
  • le fichier a le drapeau immuable défini (man chattr)

Le système de fichiers est ext3, monté en lecture-écriture, pas de SELinux.
Peter Stuifzand

Il est également possible que le fichier se trouve sur un système de fichiers NFS, monté root_squash, bien que peu probable compte tenu du fichier.
Cian

3

Marrant. Avez-vous vérifié les journaux système (/ var / log / messages, / var / log / syslog, sortie de dmesg) pour tout indice?

Raisons possibles:

  • Vous utilisez un Linux à sécurité renforcée, tel que SELinux . Ces restrictions imposent même ce que root peut faire.
  • Le fichier se trouve sur un système de fichiers qui ne prend pas en charge la propriété des fichiers, tel que (V) FAT. Selon les options de montage, chmod / chown vous donnera des erreurs.

3

Essaye ça:

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

après avoir changé la propriété et le groupe à la racine.


2

J'ai eu le même problème.

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

Ce qui n'était pas suffisant. J'ai donc ajouté le 'sa'

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

Problème résolu :)


0

sur quel type de système de fichiers se trouve le fichier "ps" que vous essayez de représenter? Le fs est-il monté en ro (lecture seule)?

si vous parlez de / bin / ps, sur debian c'est toujours comme:

-rwxr-xr-x 1 root root 76132 2009-05-28 10:48 /bin/ps*

Le problème est que mon système a été piraté et certains fichiers ont été remplacés. Maintenant, je veux les remplacer par les originaux mais je ne travaille pas.
Peter Stuifzand

9
Si votre système a été piraté, vous ne voulez pas remettre les fichiers. Vous n'avez aucun moyen de dire ce qui a été brisé et rien sur le système n'est digne de confiance. Essuyez et réinstallez à partir des sauvegardes.
Cian

1
Comme l'a dit Cian, si votre système a été piraté et qu'ils ont un accès root, ne remplacez pas les fichiers. Il peut toujours contenir un rootkit (presque) invisible qui détourne les appels système. Il peut toujours renifler des mots de passe, il peut encore avoir ouvert des portes dérobées dans vos services, et et et (nombre infini de choses possibles qu'une machine piratée peut contenir). La chose raisonnable à faire est d'éteindre la machine et d'étudier son contenu hors ligne, en plaçant le disque dans une autre boîte. Ne faites pas confiance à cette machine et ne remplacez aucun binaire, ils peuvent contenir des informations précieuses pour découvrir ce que fait le rootkit.
kargig

0

Chaque "supposition" faite par d'autres réponses est possible. Une astuce de débogage peut être de faire une séquence de la commande et d'examiner la sortie afin de voir quel est le vrai problème dans les appels système.

strace chown root /bin/ps 2>&1 | less 
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.