/ etc / passwd가 읽기 위해 공개되어있는 이유는 무엇입니까?


12

/ etc / passwd가 전 세계에서 읽을 수 있어야하는 이유가 있습니까? 노출되어서는 안되는 암호 해시와는 다릅니다. 이유를 알고 싶습니다.


1
선택한 쉘이 ~user사용자의 홈 디렉토리 로 확장 되는 것을 알고있을 때 실제로 그것을 찾고 /etc/passwd있기 때문에 모든 쉘에 높은 권한을 부여하는 대신 읽을 수있는 것이 좋습니다.
Ulrich Schwarz

"~"확장은 $ HOME 변수의 함수입니다. $ HOME을 / var / tmp로 설정 한 다음 "cd ~"를 수행하면 / var / tmp로 변경됩니다.
Saurabh Hirani 2012

답변:


14

/etc/passwd때로는 사용자 데이터베이스라고도합니다. 그것은 왜 모든 사람이 읽을 수 있어야하는지에 대한 실마리를 제공해야합니다. 검사 파일의 메타 데이터 요구를 읽을 수 있다는 모든 유틸리티 /etc/passwd(및 /etc/group순서는) 우리가 의존하고있는 커널과 인간 친화적 인 이름에 그것의 서브 시스템에서 사용되는 숫자 ID를 해결할 수 있습니다. 필요에 그 정보를 조회 홈 디렉토리 (메일 전송 에이전트 등)를 찾을 수 있음을 도구 /etc/passwdinet같은 miniservers fingerd에 세부 사항까지보기 /etc/passwd.

다른 곳에서 지적했듯이 현대 시스템은 암호 해시를 섀도우 암호 파일에 넣고 루트로만 읽을 수 있기 때문에 파일에 특히 민감한 데이터가 없습니다.


6
그렇다면 passwd실제로이 이름이 파일의 내용을 반영하지 않을 때 호출 되는 역사적인 이유 때문 입니까?
Emanuel Berg

8
예, 그렇게 생각합니다. 초기 버전의 UNIX에서는 암호가 실제로 저장되었습니다 /etc/passwd(처음에는 암호화되지 않음). 비밀번호 해시가 새도우 파일로 이동 될 때까지의 다른 정보에 의존하는 많은 유틸리티가 이미 존재 /etc/passwd하므로 이름이 붙어 있습니다.
D_Bye

7

/etc/passwd암호 해시가 포함되어 있지 않으므로 큰 문제는 아닙니다. /etc/shadow비밀번호 해시를 포함하며 루트 (& 쉐도우 그룹) 만 읽을 수 있습니다.


1
일부 설정에서 비밀번호는 LDAP 또는 다른 보안 백엔드에 있기 때문에 해당 파일에도 없습니다!
Tim
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.