/etc/passwd 업데이트가 작동하지 않습니다

/etc/passwd 업데이트가 작동하지 않습니다

제가 작업 중인 기계 중 하나에서 이상한 동작이 나타났습니다. /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종속성으로 도입되었을 수 있습니다.

관련 정보