Операция Chown не разрешена для пользователя root


21

Я пытаюсь назначить владельца файла root, но не могу. Я делаю это как root. Я получаю следующее сообщение:

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

Вывод ls -lha и lsattr помог бы в решении :)
drAlberT

Ответы:


45

Атрибут immutable может быть установлен в файле. Удалить это с помощью chattr -i


8
Это было. Но спасибо за поклон в правильном направлении.
Питер Стуифзанд

Спасибо, Как я могу снова установить неизменный атрибут?
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.
Питер 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---------

Которого было недостаточно. Итак, я добавил 'са'

$ 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*

Проблема в том, что моя система была взломана и некоторые файлы были заменены. Теперь я хочу заменить их оригиналами, но я не работаю.
Питер Stuifzand

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

1
Как сказал Cian, если ваша система была взломана, и они получили root-доступ, не заменяйте файлы. Он по- прежнему может содержать (почти) невидимый руткит, который перехватывает системные вызовы. Возможно, он по-прежнему перехватывает пароли, он может по-прежнему открывать бэкдоры в ваших сервисах, а также и (и бесконечное количество возможных вещей, которые может содержать взломанная машина). Разумное решение - отключить компьютер и изучить его содержимое в автономном режиме, поместив диск в другую коробку. Не доверяйте этой машине вообще и не заменяйте никакие двоичные файлы, они могут содержать ценную информацию, чтобы узнать, что делает руткит.
Каргиг

0

Любое «предположение», сделанное другими ответами, возможно. Подсказка отладки может заключаться в том, чтобы выполнить небольшую часть команды и просмотреть выходные данные, чтобы увидеть, какова реальная проблема в самих системных вызовах.

strace chown root /bin/ps 2>&1 | less 
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.