일반 사용자로 FreeBSD에 로그인할 수 없습니다

일반 사용자로 FreeBSD에 로그인할 수 없습니다

이 사용자는 우리 서버의 권한이 없는 SFTP 액세스 사용자입니다. 올해 초 코로나19로 인해 재택 주문 중에 사용되었으며, 오늘은 내일 작업을 준비하는 데 사용했습니다.

이전 비밀번호를 잊어버렸기 때문에 명령을 사용하여 재설정했는데 sudo passwd <user>로그인할 수 없었습니다. pw unlock를 사용하여 명시적으로 잠금을 해제하고 /etc/master.passwd기록된 비밀번호 해시가 성공적으로 변경되었음을 확인하고 확인했습니다. 하지만 sftp원격 명령을 사용하거나 login관리자 SSH 세션 중에 명령을 사용하여 로그인할 수 없습니다 .

그 이유는 무엇입니까?

고쳐 쓰다

권한이 없는 다른 사용자의 비밀번호 해시를 복사했는데 여전히 로그인할 수 없지만 권한이 없는 다른 사용자는 로그인할 수 있습니다.

답변1

매뉴얼 페이지를 탐색하면서 명령 passwd(5)을 찾았습니다 pwd_mkdb(8). 달리기:

pwd_mkdb -p /etc/master.passwd

문제를 해결했습니다.

본질적으로 문제는 /etc/master.passwd파일도 업데이트되지 않는다는 /etc/pwd.db것 입니다 /etc/spwd.db. 이 두 개는 Berkeley 데이터베이스 형식의 "캐시된" 데이터베이스 파일입니다(자격 증명 조회 속도를 높이기 위해 존재함).

pwd_mkdb(8)"비밀번호 데이터베이스", 즉 사용자 정보 테이블을 생성하기 위한 시스템 관리 명령이다. 지난달에 서버를 12.2-RELEASE로 업데이트했는데 명령 실행을 잊어버린 것이 원인일 수 있습니다.

관련 정보