web-dev-qa-db-ja.com

ルートに対するChown操作は許可されていません

ファイルの所有者をrootに変更しようとしましたが、できません。これをrootとして実行します。次のメッセージが表示されます。

chown: changing ownership of `ps': Operation not permitted
22
Peter Stuifzand

不変属性はファイルに設定できます。 chattr -iで削除します

47
Cian

いくつかの解決策があり、そのうちのいくつかは:

  • あなたがファイルシステムを持っている場合、例えばあなたを許可しません。 uid:gid、例:FAT
  • ドライブは読み取り専用でマウントされています
  • SELinuxまたは他のセキュリティ実施者が適用されます
  • ファイルシステムは読み取り専用モードに設定されています(xfs_freezeなど)
  • ファイルには不変のフラグが設定されています(man chattr)
8
asdmin

これを試して:

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

所有権とグループを変更してrootに戻した後。

3
Mukesh

おかしい。システムログ(/ var/log/messages、/ var/log/syslog、dmesgの出力)で手がかりを確認しましたか?

考えられる理由:

  • SELinux など、セキュリティが強化されたLinuxを実行しています。これらはrootができることにも制限を課します。
  • ファイルは、(V)FATなどのファイル所有権をサポートしないファイルシステム上にあります。マウントオプションによっては、chmod/chownでエラーが発生します。
3
sleske

同じ問題がありました。

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

問題が解決しました :)

あなたがchownしようとしている「ps」ファイルはどのようなファイルシステムですか? fsはro(読み取り専用)としてマウントされていますか?

/ bin/psについて話している場合、debianでは常に次のようになります。

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

他の回答による「推測」はすべて可能です。デバッグのヒントは、コマンドのstraceを実行し、syscalls自体の実際の問題を確認するために出力を調べることです。

strace chown root /bin/ps 2>&1 | less 
0
drAlberT