Операция Chown не разрешена для пользователя root
Я пытаюсь назначить владельца файла root, но не могу. Я делаю это как root. Я получаю следующее сообщение:
chown: changing ownership of `ps': Operation not permitted
8 ответов
Атрибут immutable может быть установлен в файле. Удалить это с помощью chattr -i
Существует несколько решений, некоторые из которых:
- у вас файловая система не позволяет вам например. uid:gid, например: FAT
- диск был установлен только для чтения
- SELinux или другие меры безопасности применяются
- файловая система установлена в режим только для чтения (например, xfs_freeze)
- файл имеет установленный флаг (man chattr)
У меня была такая же проблема.
$ 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
$
Задача решена:)
Смешной. Вы проверяли системные журналы (/var/log/messages, /var/log/syslog, вывод dmesg) на наличие каких-либо подсказок?
Возможные причины:
- Вы используете Linux с повышенной безопасностью, такой как SELinux. Это накладывает ограничения даже на то, что может делать root.
- Файл находится в файловой системе, которая не поддерживает владение файлом, например (V)FAT. В зависимости от параметров монтирования chmod/chown выдаст вам ошибки.
Попробуй это:
[root @ root] # chattr -ais / bin / ls
после смены владельца и группы обратно в root.
Любое "предположение", сделанное другими ответами, возможно. Подсказка отладки может заключаться в том, чтобы выполнить небольшую часть команды и просмотреть выходные данные, чтобы увидеть, какова реальная проблема в самих системных вызовах.
strace chown root /bin/ps 2>&1 | less
У меня была такая же проблема с каталогом, хотя проблема заключалась в том, что папка размещалась на сервере NFS сroot_squashвключено. В этом случае, если у вас есть root-доступ к NFS-серверу, просто запустите оттуда.
Если у вас та же проблема, но у вас нет root-прав на сервере NFS (только на клиенте), то (если вы ответственны и знаете, что делаете) альтернативой может быть стать пользователем, владеющим локальной папкой (sudo su user.name) на клиенте, а затем запуститеchown. (Примечание: стать локальным пользователем может быть выходом за рамки полномочий администратора, поэтому убедитесь, что вы знаете, что делаете).
На какой файловой системе находится файл "ps", который вы пытаетесь записать? Fs установлен как ro (только для чтения)?
если вы говорите о /bin/ps, то в Debian это всегда так:
-rwxr-xr-x 1 root root 76132 2009-05-28 10:48 /bin/ps*