Операція Chown заборонена для root


21

Я намагаюся пригнічувати власника файлу до root, але не можу. Я роблю це як корінь. Я отримую таке повідомлення:

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

Вихід ls-lha та lsattr допоможе вирішенню :)
drAlberT

Відповіді:


45

У файлі може бути встановлений незмінний атрибут. Видаліть його за допомогою chattr -i


8
Це було. Але дякую за кивок у правильному напрямку.
Peter Stuifzand

Дякую, як я можу знову встановити незмінний атрибут на ньому?
Zim3r

chattr + i <file>
Cian

chattr: Inappropriate ioctl for device while reading flags on
andilabs

8

Існує кілька рішень, деякі з них:

  • у вас файлова система не дозволяє, наприклад, uid: gid, напр .: FAT
  • привід встановлений лише для читання
  • Застосовуються SELinux або інші виконавці безпеки
  • файлова система встановлена ​​в режимі лише для читання (наприклад, xfs_freeze)
  • файл має набір непорушного прапора (man chattr)

Файлова система ext3, встановлена ​​для читання-запису, немає SELinux.
Peter Stuifzand

Можливо також, що файл знаходиться у файловій системі NFS, встановленій root_squash, хоча це й малоймовірно.
Cian

3

Смішно. Ви перевіряли системні журнали (/ var / log / messages, / var / log / syslog, вихід dmesg) на наявність підказок?

Можливі причини:

  • Ви працюєте з деяким підвищеним рівнем безпеки Linux, наприклад, SELinux . Вони обмежують навіть те, що може зробити root.
  • Файл знаходиться у файловій системі, яка не підтримує право власності на файл, наприклад (V) FAT. Залежно від параметрів кріплення, chmod / chown дасть вам помилки.


2

У мене була така ж проблема.

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

Якого було недостатньо. Отже, я додав "sa"

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

Проблема вирішена :)


0

на якій файловій системі є файл "ps", який ви намагаєтесь подавити? Чи встановлений fs як ro (лише для читання)?

якщо ви говорите про / bin / ps, на debian це завжди так:

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

Проблема в тому, що моя система була зламана, і деякі файли були замінені. Тепер я хочу замінити їх оригіналами, але я не працюю.
Peter Stuifzand

9
Якщо ваша система була зламана, ви не хочете повертати файли назад. Ви не можете сказати, що було порушено, і нічого в системі не є надійним. Протріть і перевстановіть із резервних копій.
Cian

1
Як сказав Сіан, якщо ваша система була зламана, і вони отримали кореневий доступ, не замінюйте файли. Він все ще може містити (майже) невидимий руткіт, який викрадає системну виклик. Це все ще може нюхати паролі, можливо, він все ще відкрився у ваших службах, і та і (нескінченна кількість можливих речей, які може зламати машина). Розумна річ - вимкнути машину та вивчити її вміст в автономному режимі, помістивши диск в інший ящик. Не довіряйте цій машині взагалі і не замінюйте жодних двійкових файлів, вони можуть містити цінну інформацію, щоб дізнатися, що робить руткіт.
kargig

0

Можлива кожна «здогадка», зроблена іншими відповідями. Підказка про налагодження може полягати у виконанні напруженої команди та заглядати у вихід, щоб побачити, що є справжньою проблемою у самих syscalls.

strace chown root /bin/ps 2>&1 | less 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.