web-dev-qa-db-ja.com

「su-」を使用して、「ユーザーのpasswdエントリーがない」と指定されたユーザーを変更する

具体的には、「jenkins」ユーザーに切り替えて、ビルドサーバーで何かをテストしています。

Sudo su - jenkins
No passwd entry for user 'jenkins'
17
kevlarjacket

エラーメッセージは、ほとんど一目瞭然です。これは、ユーザーjenkins/etc/passwdファイルにエントリを持たない、つまりユーザーがシステムに存在しないことを示しています。

ユーザー名、パスワード、ホームディレクトリ、シェル情報を必要とするユーザー関連の操作を実行する場合、/etc/passwdファイルが最初に参照されます。そのファイルには、取得しているエラーそのものにつながるエントリはありません。したがって、最初にユーザーを作成する必要があります(useradd/adduser)。補足として、必要でない限り、サービス固有のユーザー(非人間)を作成する必要があります。 jenkins(システムユーザーとして)。

10
heemayl

「Linuxのすべてのユーザーを一覧表示」をすばやく検索したところ、 この答え が見つかり、次のコマンドを実行しました。

cut -d: -f1 /etc/passwd

そして、@ Ipor Sircerが示唆したように、このユーザーは実際には存在しないため、次のように追加する必要があります。

adduser jenkins
4
kevlarjacket