"해당 사용자가 없습니다." 그러나 해당 사용자는 passwd 파일에 있습니다.

"해당 사용자가 없습니다." 그러나 해당 사용자는 passwd 파일에 있습니다.

/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를 완전히 삭제할 수 있습니다.

관련 정보