/etc/passwd
및 /etc/shadow
파일 이름을 바꾸는 데 쓸모는 없지만 보안을 강화하려면 PAM (플러그 가능한 인증 모듈)과 NSS (이름 서비스 스위치)를 확인하십시오. 여기처럼
PAM을 사용하여 표준 파일에서 인증 규칙을 읽는 대신 인증 모듈을 추가하여 ldap 또는 데이터베이스와 같은 다른 소스에서 읽을 수 있습니다. 그것을 사용하면 /etc/shadow
거의 completley가 제거 될 수 있음을 의미합니다 .
NSS는 표준 파일 ( /etc/passwd
, /etc/groups
)과 독립적으로 일부 이름 확인 (이 사용자가 속한 그룹 등)을 만들어 PAM을 보완합니다 . 이것을 사용하면 암호 파일에 잠재적으로 루트에 대한 대체 옵션 만 포함될 수 있습니다. SSH 키를 사용하여 루트 로그인의 유효성을 검사하면 섀도 파일 내에 루트 암호가 없어도됩니다 (SSH 연결이 끊어지면 필요할 수 있음).
또는 별도의 데이터베이스 또는 LDAP 호스트를 통해 사용자를 인증하지 않으려면이 옵션을 권장하지 않지만 비표준 파일에서 데이터를 읽는 자체 PAM 및 NSS 모듈을 만들 수도 있습니다.
당신이 그들을 사용하려고 할 때, 알려진 작동하는 인증 계층에 어떤 종류의 폴백을 유지하는 것을 잊지 마십시오. 그렇지 않으면 루트로도 시스템에서 자신을 잠글 수 있습니다.
모든 응용 프로그램이 PAM을 지원하는 것은 아닙니다 (그러나 많은 응용 프로그램이 지원함). 그러나 NSS를 사용하여 PAM을 지원하지 않는 앱에 대한 인증을 구현할 수 있으며 NSS에 대해 읽은 일부 사이트에서는 실제로이 방법을 제안합니다. 그러나 이것은 NSS 모듈이 NSS 인증 계층에 액세스 할 수있는 모든 사람에게 (잠재적으로) 해시 된 암호를 제공한다는 것을 의미합니다. )! 따라서이 방법을 사용하는 경우 항상 NSS를 사용하여 사용자에게 기본 데이터 (예 : 내용 /etc/passwd
)를 제공하고 PAM이 인증 계층으로 사용되도록하십시오.