/etc/shadow에 대한 권한

/etc/shadow에 대한 권한

저는 Red Hat Enterprise Linux를 사용하고 있으며 자세한 내용은 다음과 같습니다.

uname -a
3.10.0-327.22.2.e17.x86_64 

섀도우 파일의 권한을 확인하면 다음이 표시됩니다.

ls -l /etc/shadow
----------. 1 root root 1467 /etc/shadow

이러한 권한을 보고 놀랐습니다. 내 생각에 "passwd"는 이 파일을 업데이트하려면 소유자로부터 최소한 읽기/쓰기 권한이 필요하다고 생각합니다. 무슨 일인지 아세요?

답변1

이것은 정상입니다.

passwdsuid 비트가 설정된 루트로 실행되므로 읽기/쓰기 권한이 필요하지 않습니다.

# ls -l /etc/shadow /usr/bin/passwd
---------- 1 root root   798 Jul 21 21:15 /etc/shadow
-rwsr-xr-x 1 root root 26688 Sep 10  2015 /usr/bin/passwd
#

더 많은 정보를 원하시면 방문해주세요Stackexchange "'passwd' 명령은 어떻게 루트 사용자 권한을 얻습니까?"네가 원한다면.

답변2

권한 비트는 일반적으로 적절한 기능으로 실행되는 프로세스(예: 루트 권한으로 실행되는 경우)에 적용되지 않습니다. 좀 더 정확한 요약 감사합니다Hauke ​​​​Larkin의 게시물:

(및 및 가 있는 root다른 사용자/프로세스 )는 항상 실행할 수 있다고 가정합니다.CAP_DAC_OVERRIDECAP_DAC_READ_SEARCH모든 것LSM(SELinux, AppArmor 또는 이와 유사한 것)이 그렇게 하는 것을 막지 않는 한.

~처럼스티브이미지적, passwd유사한 프로그램에는 suid 비트가 설정되어 있거나(모든 사람이 루트 권한으로 실행할 수 있음) 루트에서만 사용되므로 /etc/shadow권한이 중요하지 않습니다.

관련 정보