「そのようなユーザーはいません」が、ユーザーは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ファイルが実際の主な情報源です。
ウォーレンヤング14

OP vipwは今後使用してください。詳細を管理する必要はありません。
ウィニー14

vipwと変更なしの保存を使用しても違いはありませんでした。バックアップを見て、master.passwdファイルのこの1つがバトラーがログインできなくなった直前に変更される前にリストされたユーザーのユーザーパスワードを確認しました。pwd_mkdb /etc/master.passwdを実行すればmaster.passwdを復元できますか?@winny:私は直接passwdファイル編集したことがありません
lbutlr

これは、右の呼び出しの引数でなければなりません:pwd_mkdb -p /etc/master.shadow
Winnyの

2

試してください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の直前のユーザーのUIDとGIDが(予想される1014ではなく)10014であることに気付きました。そのユーザーはパスワードを変更し、その後、UID 1015はログインできませんでした。vipwを使用して、2行を逆にしてファイルを保存しました。両方のユーザーがログインできるようになり、所有権が正しく表示されます。ポインタをありがとう。


0

FreeBSDは、データベースファイルを使用してパスワードやユーザーなどを検索します。したがって、/ etc / passwdおよびmaster.passwdは、互換性と情報提供の目的でのみ存在します。決してそれに頼るべきではありません。そのデータベースファイルを直接確認する方法があるかどうかはわかりません。pplがシステム上のユーザーなどを確認できるように、何らかのSQLインターフェイスを提供する必要があるかもしれません。その後、/ etc / passwdとmaster.passwdを完全に廃止できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.