UIDを変更した後、ユーザー名はありません。

UIDを変更した後、ユーザー名はありません。

[Ubuntu 16.04.7、ISPConfig、Jailkit]

ISPConfigの機能を使用して、新しく作成された(刑務所の)ユーザーのUIDを変更して、Add Shell User同じ仮想ホスト上の他のユーザーと区別する必要があります。それで、利用可能な次の項目を識別しuidて実行しましたusermod -u xxxx UserName

ユーザーのホームディレクトリを確認しましたが、ユーザー名ではなくユーザー列に表示されましたuid。最初はこの結果についてあまり考えていませんでした。

新しいユーザーとしてログインしたとき、他のすべては問題ありませんが、表示されるユーザー名がに設定されていることがわかりましたI have no name!。私は私のユーザー名を変更する必要がないか、変更したくないので(そして変更しなかった)、この結果に驚きました。このユーザーに対してアクションを実行すると、id次の結果が表示されます(ユーザー名はそのuidの横には表示されません)。

uid=5016 gid=5007(groupName) groups=5007(groupName)

ユーザーは間違いなく/etc/passwdファイルにあります。

あちこちで検索してみましたが、まだこの問題を解決する方法が見つかりませんでした。この問題をどのように解決できますか?

答え1

これは収監されたユーザーのためのものであると述べました。したがって、刑務所の内部と外部のuid /ユーザー名マッピングを変更する必要があります。

刑務所の外部のメインエディタを扱いますが、刑務所の内部の編集者をusermod編集するには、通常のエディタを使用する必要があります(usermod刑務所の内部ではコマンドがある可能性が低いため使用できませんchroot usermod...)。ファイルには{JailRoot}/etc/passwd適切な値が必要です{JailRoot}。 UIDは、コロンで区切られた3番目のフィールドです。

完全性のための最後のステップとして、古いUID()が所有するすべてのファイルが新しいUID(){oldUID}に変換されていることを確認してください。{newUID}もちろん、そのようなファイルがないと確信している場合は、この手順をスキップできます。

find / -user {oldUID} -exec chown {newUID} {} +

関連情報