Operazione chown non consentita per root


21

Cerco di trasferire il proprietario di un file alla radice, ma non ci riesco. Lo sto facendo come root. Ricevo il seguente messaggio:

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

Un output ls -lha e lsattr aiuterebbe la soluzione :)
drAlberT

Risposte:


45

L'attributo immutabile può essere impostato sul file. Rimuovilo con chattr -i


8
Era una. Ma grazie per il cenno del capo nella giusta direzione.
Peter Stuifzand,

Grazie, come posso impostare di nuovo l'attributo immutabile su di esso?
Zim3r,

chattr + i <file>
Cian il

chattr: Inappropriate ioctl for device while reading flags on
Andilabs

8

Esistono diverse soluzioni, tra cui alcune:

  • hai un filesystem non ti consente ad es. uid: gid, ad es .: FAT
  • l'unità è stata montata in sola lettura
  • Si applicano SELinux o altri responsabili dell'applicazione della sicurezza
  • il filesystem è impostato in modalità di sola lettura (ad esempio xfs_freeze)
  • il file ha il flag immutabile impostato (man chattr)

Il filesystem è ext3, montato in lettura-scrittura, No SELinux.
Peter Stuifzand,

È anche possibile che il file si trovi su un file system NFS, montato root_squash, sebbene sia improbabile dato il file.
Cian,

3

Divertente. Hai controllato i log di sistema (/ var / log / messages, / var / log / syslog, output di dmesg) per qualche indizio?

Possibili ragioni:

  • Stai eseguendo alcuni sistemi Linux ottimizzati per la sicurezza, come SELinux . Questi pongono restrizioni anche su ciò che può fare root.
  • Il file si trova su un file system che non supporta la proprietà del file, ad esempio (V) FAT. A seconda delle opzioni di mount chmod / chown ti darà errori.

3

Prova questo:

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

dopo aver modificato la proprietà e il gruppo di nuovo alla radice.


2

Ho avuto lo stesso problema.

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

Che non era abbastanza. Quindi ho aggiunto il "sa"

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

Problema risolto :)


0

su quale tipo di filesystem è il file "ps" che stai provando a chown? La fs è montata come ro (sola lettura)?

se stai parlando di / bin / ps, su debian è sempre come:

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

Il problema è che il mio sistema è stato violato e alcuni file sono stati sostituiti. Ora voglio sostituirli con gli originali ma non funziona.
Peter Stuifzand,

9
Se il tuo sistema è stato violato, allora non vuoi rimettere i file. Hai alcun modo di raccontare ciò che è stato rotto, e niente sul sistema è affidabile. Pulisci e reinstalla dai backup.
Cian,

1
Come ha detto Cian, se il tuo sistema è stato violato e hanno ottenuto l'accesso come root, non sostituire i file. Può ancora contenere un rootkit (quasi) invisibile che dirotta le chiamate di sistema. Potrebbe ancora annusare le password, potrebbe aver ancora aperto backdoor nei tuoi servizi ed e (e un numero infinito di cose possibili che una macchina compromessa potrebbe contenere). La cosa ragionevole da fare è spegnere la macchina e studiarne il contenuto offline, mettendo il disco in un'altra scatola. Non fidarti affatto di questa macchina e non sostituire alcun file binario, potrebbero contenere informazioni preziose per scoprire cosa fa il rootkit.
Kargig,

0

Ogni "ipotesi" fatta da altre risposte è possibile. Un suggerimento per il debug potrebbe essere quello di eseguire una sequenza del comando e di esaminare l'output per vedere qual è il vero problema nelle stesse syscalls.

strace chown root /bin/ps 2>&1 | less 
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.