답변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