제가 작업 중인 기계 중 하나에서 이상한 동작이 나타났습니다. /etc/passwd에서 한 사용자의 쉘을 수동으로 변경했지만 해당 사용자로 로그인하려고 하면 여전히 이전 쉘을 사용합니다. getent도 이전 것을 보여줍니다. 그러나 /etc/passwd 파일에 대한 grep을 통해 파일을 올바르게 저장했음을 확인했습니다.
/etc/passwd(Linux의 경우)에 대한 캐시가 있습니까?
그것을 피하는 방법?
답변1
running 이라는 프로세스가 있나요 nscd
? 이것은 이름 서비스 캐시 데몬입니다.
실행 중인 경우 캐시된 파일 데이터를 sudo nscd -i passwd
모두 잊어야 함을 알리기 위해 실행해야 할 수도 있습니다 . /etc/passwd
여기에는 다른 캐시가 있습니다. 해당 키워드는 group
, hosts
및 입니다 services
.netgroup
이는 LDAP/AD/NIS 기반 인증 체계와 함께 더 일반적으로 사용되지만 사용자/그룹/서비스/호스트 파일 조회를 많이 수행하는 특정 프로세스를 실행하는 경우 시스템 성능을 향상시킬 수 있습니다. 또는 실제로 사용하지 않는 일부 서비스(아마도 그 중 일부만)를 설치한 경우 일부 서비스가 nscd
종속성으로 도입되었을 수 있습니다.