
答え1
はい、以下のすべてのファイルは/usr
ルートが所有する必要があります。ただし、/usr/local
サイトのポリシーによっては、以下のファイルがルートに属している場合とそうでない場合があります。ルートにシステム管理者だけが変更できるファイルがあるのは正常です。
ルートが絶対に所有する必要があるいくつかのファイルがあります。それ以外の場合、システムは正常に動作しません。これらはすべて設定値ルート実行可能ファイルは、誰が呼び出したかに関係なく、ルートとして実行されます。一般的な setuid ルートバイナリには以下が含まれます。su
そしてsudo
(認証後に別のユーザーとして他のプログラムを実行するプログラム)、(sudoedit
任意のプログラムを実行する代わりにファイルを編集するプログラムsudo
)、ユーザーアカウントを変更するプログラム(passwd
、、、)。chsh
chfn
さらに、多くのプログラムは追加のグループ権限で実行し、そのグループ(およびルート)が所有し、setgidビットを設定する必要があります。
パッケージデータベースから適切な権限を復元でき、復元する必要があります。手動で修正しようとすると、何かを見逃して診断するのが難しいエラーが残ります。次のコマンドを実行します。
rpm -qa | xargs rpm --setugids --setperms
答え2
編集:私の(おそらく不完全な)リストから調整するのではなく、権限と所有権を変更する方法については、Gilesの答えを参照してください。
通常、他のグループに属するいくつかのファイルがあります。私のシステムからインポートした内容:
$ lsb_release -d
Description: Debian GNU/Linux 6.0.9 (squeeze)
$ find /usr/bin -not -group root -exec ls -g {} \; | awk '{print $NF,$3}'
/usr/bin/crontab crontab
/usr/bin/mlocate mlocate
/usr/bin/mutt_dotlock mail
/usr/bin/expiry shadow
/usr/bin/mail-unlock mail
/usr/bin/wall tty
/usr/bin/mail-touchlock mail
/usr/bin/bsd-write tty
/usr/bin/screen utmp
/usr/bin/dotlockfile mail
/usr/bin/chage shadow
/usr/bin/ssh-agent ssh
/usr/bin/mail-lock mail
SUIDビットを持つファイル:
$ find /usr/bin -perm -4000
/usr/bin/newgrp
/usr/bin/sudoedit
/usr/bin/chfn
/usr/bin/chsh
/usr/bin/gpasswd
/usr/bin/passwd
/usr/bin/sudo