「該当ユーザーがいません。」ただし、そのユーザーは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を使って2行を置き換えてファイルを保存しました。これで、両方のユーザーがログインできるようになり、所有権が正しく表示されます。アドバイスありがとうございます。

答え4

FreeBSDはデータベースファイルを使用してパスワードやユーザーなどを照会します。したがって、/etc/passwd と master.passwd は互換性と情報上の理由でのみ存在します。決してこれに頼ってはいけません。データベースファイルを直接照会する方法があるかどうかわかりません。おそらく、彼らはpplがシステムなどのユーザーを識別できるように、いくつかのSQLインタフェースを提供する必要があるかもしれません。その後、/etc/passwdとmaster.passwdを完全に削除できます。

関連情報