Operasi chown tidak diizinkan untuk root


21

Saya mencoba mengunyah pemilik file untuk di-root, tetapi saya tidak bisa. Saya melakukan ini sebagai root. Saya mendapatkan pesan berikut:

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

Ls -lha dan lsattr keluaran akan membantu solusi :)
drAlberT

Jawaban:


45

Atribut yang tidak dapat diubah dapat diatur pada file. Hapus dengan chattr -i


8
Itu merupakan. Tapi terima kasih atas anggukan ke arah yang benar.
Peter Stuifzand

Terima kasih, Bagaimana saya bisa menetapkan atribut yang tidak dapat diubah lagi?
Zim3r

chattr + i <file>
Cian

chattr: Inappropriate ioctl for device while reading flags on
andilabs

8

Ada beberapa solusi, beberapa di antaranya:

  • Anda memiliki sistem file tidak memungkinkan Anda misalnya. uid: gid, misal: FAT
  • drive telah dipasang hanya baca
  • SELinux atau petugas keamanan lainnya berlaku
  • filesystem diatur ke mode read-only (xfs_freeze, misalnya)
  • file memiliki set flag yang tidak dapat diubah (man chattr)

Filesystem adalah ext3, mount baca-tulis, No SELinux.
Peter Stuifzand

Mungkin juga file tersebut berada pada sistem file NFS, yang dipasang root_squash, meskipun tidak mungkin diberikan file tersebut.
Cian

3

Lucu. Apakah Anda memeriksa log sistem (/ var / log / messages, / var / log / syslog, output dmesg) untuk mencari petunjuk?

Alasan yang mungkin:

  • Anda menjalankan beberapa Linux yang ditingkatkan keamanannya, seperti SELinux . Pembatasan tempat ini bahkan pada apa yang dapat dilakukan root.
  • File ada di sistem file yang tidak mendukung kepemilikan file, seperti (V) FAT. Tergantung pada opsi mount chmod / chown akan memberi Anda kesalahan.

3

Coba ini:

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

setelah mengubah kepemilikan dan grup kembali ke root.


2

Saya memiliki masalah yang sama.

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

Itu tidak cukup. Jadi saya menambahkan 'sa'

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

Masalah terpecahkan :)


0

pada Filesystem seperti apa file "ps" yang Anda coba garap? Apakah fs dipasang sebagai ro (hanya baca)?

jika Anda berbicara tentang / bin / ps, di debian selalu seperti:

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

Masalahnya adalah sistem saya diretas dan beberapa file diganti. Sekarang saya ingin menggantinya dengan yang asli tetapi saya tidak bekerja.
Peter Stuifzand

9
Jika sistem Anda diretas, maka Anda tidak ingin mengembalikan file. Anda tidak memiliki cara untuk mengatakan apa yang rusak, dan tidak ada pada sistem yang dapat dipercaya. Hapus, dan instal ulang dari cadangan.
Cian

1
Seperti yang dikatakan Cian, jika sistem Anda diretas dan mereka mendapat akses root, jangan ganti file. Mungkin masih berisi (hampir) rootkit yang membajak panggilan sistem. Ini mungkin masih mengendus-endus kata sandi, mungkin masih membuka pintu belakang di layanan Anda, dan dan dan (jumlah tak terbatas dari hal-hal yang mungkin terdapat pada mesin yang diretas). Hal yang wajar untuk dilakukan adalah mematikan mesin dan mempelajari isinya secara offline, dengan meletakkan disk ke kotak lain. Sama sekali tidak mempercayai mesin ini dan tidak mengganti binari apa pun, mereka mungkin berisi informasi berharga untuk mengetahui apa yang dilakukan rootkit.
kargig

0

Setiap "tebakan" yang dibuat oleh jawaban lain adalah mungkin. Petunjuk debugging mungkin untuk melakukan strace dari perintah, dan melihat ke output untuk melihat apa masalah sebenarnya di syscalls itu sendiri.

strace chown root /bin/ps 2>&1 | less 
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.