2012-09-30 2 views

답변

5

예. /etc/passwd은 사용자 ID를 사용자 이름에 매핑하는 데 사용됩니다.

$ ls -l 
total 0 
-rw-rw-r-- 1 thomas thomas 0 Sep 30 10:54 bar 

$ ls -n 
total 0 
-rw-rw-r-- 1 1000 1000 0 Sep 30 10:54 bar 

궁극적 인 증거 :

$ strace ls -l 2>&1 | grep /etc/passwd 
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 4 

$ strace ls -n 2>&1 | grep /etc/passwd 
# no output 
+0

좋은 설명을 주셔서 감사합니다 –

1

"1! -l"인쇄 정보 우리는 우리에게 숫자 사용자 ID 및 그룹 ID (UID를, GID를)을 보여줄 것이다, -n를 사용하여이 전원을 켤 수 있습니다 파일과 디렉토리 (메타 데이터)에 대해, 예 : 액세스 권한, 크기 등. 파일이나 디렉토리의 내용을 읽지 않습니다. 파일에 대한 액세스 권한이없는 경우에도 메타 데이터 (예 : 액세스 권한, 크기)를 읽을 수 있습니다. 디렉토리에 대해서도 마찬가지입니다 (예외 : 디렉토리를 읽을 수 없다면 디렉토리를 "실행할"수없는 경우 디렉토리를 사용할 수없는 경로의 구성 요소로 사용할 수 있음).

대부분의 최신 Linux 시스템은 "섀도우 암호"를 사용하도록 구성되어 있습니다. 즉, /etc/passwd에는 암호 해시 (읽기 : 중요한 데이터)가 없습니다. 비밀번호 해시는 /etc/shadow에 저장됩니다. 이것은 /etc/passwd (모든 사용자가 자신의 이름, ID, 셸, 그룹 등 사용자에 대한 메타 데이터 만 포함)을 읽을 수 있지만 /etc/shadow은 root 만 읽을 수 있습니다.

2

토마스에게 +1을 추가했지만 파일에 액세스 할 수 있고 그렇지 않을 수도 있습니다. "/etc/nsswitch.conf"내용에 따라 다릅니다. 이 경우

$ grep passwd /etc/nsswitch.conf 
passwd:   compat 

에서

은 파일에 액세스하고,이 경우

$ grep passwd /etc/nsswitch.conf 
passwd:   ldap 

은하지 않습니다에있을 것입니다.

+0

@lgor 귀하의 설명도 읽을 가치가있었습니다 .. 설명 주셔서 감사합니다 –