/etc/에서 파일을 봅니다.
/etc/group:lbutler:*:1005:
/etc/master.passwd:lbutler:$6$s..../:1005:1005::0:0:L Butler:/home/lbutler:/bin/bash
/etc/passwd:lbutler:*:1005:1005:L Butler:/home/lbutler:/bin/bash
하지만:
$ passwd lbutler
passwd: lbutler: no such user
또한 파일은 /home/lbutler/
uid 1005 및 gid로 표시됩니다.lbutler
다른 유저들은 /etc/passwd
별 문제 없는 것 같은데
답변1
귀하의 것 같습니다 /etc/master.passwd
. 정상으로 복원할 수 있습니다. 다음을 시도해 보세요.
vipw
편집하다/etc/master.passwd
.- 변경하지 않고 저장합니다.
또한 이를 사용하여 pwd_mkdb
비밀번호 데이터베이스를 업데이트할 수도 있습니다.
답변2
노력하다 pwd_mkdb -p /etc/master.passwd
. 에서 man pwd_mkdb
:
-p Create a Version 7 style password file and install it into
/etc/passwd.
답변3
lbutler 이전 사용자의 UID 및 GID는 10014(예상된 1014 대신)인 것으로 나타났습니다. 사용자가 비밀번호를 변경한 후 UID 1015가 로그인할 수 없습니다. vipw를 사용하여 두 줄을 바꾸고 파일을 저장했습니다. 이제 두 사용자 모두 로그인할 수 있으며 소유권이 올바르게 표시됩니다. 조언해 주셔서 감사합니다.
답변4
FreeBSD는 데이터베이스 파일을 사용하여 비밀번호와 사용자 등을 조회합니다. 따라서 /etc/passwd 및 master.passwd는 호환성 및 정보상의 이유로만 존재합니다. 절대로 이것에 의존해서는 안 됩니다. 데이터베이스 파일을 직접 쿼리하는 방법이 있는지 모르겠습니다. 어쩌면 그들은 ppl이 시스템 등의 사용자를 확인할 수 있도록 일종의 SQL 인터페이스를 제공해야 할 수도 있습니다. 그런 다음 /etc/passwd 및 master.passwd를 완전히 삭제할 수 있습니다.