“이러한 사용자는 없지만”사용자는 passwd 파일에 있습니다


12

/ 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문제가없는 것 같습니다

답변:


9

귀하의 일부 부패가 발생한 것으로 보입니다 /etc/master.passwd. 정상적인 상태로 복원 할 수 있습니다.

  • vipw편집 /etc/master.passwd합니다.
  • 변경하지 않고 저장하십시오.

pwd_mkdb비밀번호 데이터베이스를 업데이트 하는 데 사용할 수도 있습니다 .


5
+1 : OP는 Linux 사용자 일 수 있으며 OS는 실제로 기본 소스로 / etc / passwd에주의를 기울이고 있다고 생각합니다. FreeBSD에서 / etc / passwd에서 생성 된 DB 파일 등은 실제 기본 소스입니다.
Warren Young

OP vipw는 나중에 사용 하십시오. 그러면 세부 정보를 관리 할 필요가 없습니다.
Winny

vipw를 사용하고 변경 사항을 저장해도 아무런 차이가 없습니다. 버틀러가 로그인을 중지 한 시간에 대해 master.passwd 파일에서이 사용자 이전에 나열된 사용자의 백업 및 사용자 비밀번호를 확인했습니다. pwd_mkdb /etc/master.passwd를 실행하면 master.passwd를 복원 할 수 있습니까? @winny : 암호 파일을 직접 편집 한 적이 없습니다
lbutlr

이것은 올바른 호출 인수 여야합니다.pwd_mkdb -p /etc/master.shadow
Winny

3

시도하십시오 pwd_mkdb -p /etc/master.passwd. 보낸 사람 man pwd_mkdb:

 -p    Create a Version 7 style password file and install it into
       /etc/passwd.

1

lbutler 직전의 사용자는 1014가 아닌 UID와 GID가 10014라는 것을 알았습니다. 해당 사용자가 비밀번호를 변경 한 후 UID 1015가 로그인 할 수 없습니다. vipw를 사용하여 두 줄을 뒤집어 파일을 저장했습니다. 두 사용자 모두 로그인 할 수 있으며 소유권이 올바르게 나타납니다. 포인터 주셔서 감사합니다.


0

FreeBSD는 데이터베이스 파일을 사용하여 암호 및 사용자 등을 검색합니다. 따라서 / etc / passwd 및 master.passwd는 호환성 및 정보 제공상의 이유로 만 존재합니다. 결코 그것에 의존해서는 안됩니다. 해당 데이터베이스 파일을 직접 요청할 수있는 방법이 있는지 모르겠습니다. ppl이 시스템의 사용자 등을 확인할 수 있도록 일종의 SQL 인터페이스를 제공해야 할 수도 있습니다. 그런 다음 / etc / passwd 및 master.passwd를 완전히 폐지 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.