表題の通り。
■ 環境
- Linux
■ きっかけ
Dockerfileを書いて、buildして、いざ起動しようとしたところ下記メッセージで起動できず。
This account is currently not available.
■ 起動ユーザ
このDockerコンテナに入れたスクリプトの中で、システムユーザとして作成したユーザにsuしてコマンドを叩こうとしている箇所があったので、どうやらそれが原因のようである。
This account is currently not available.でsuで別ユーザに変更できない時
http://blog.mizoshiri.com/archives/214
なるほどね。サービスを起動するだけのユーザだからシステムユーザにしても良いかと思い、下記のようにユーザを作成していたのだが、これがよろしくないようである。
$ groupadd -r withsin
$ useradd -r -g withsin -s /sbin/nologin withsin
httpdのように設定ファイルに書くだけで良いとかでなく、su等を利用してユーザ指定で起動する場合にはnologinは指定しない方が良いようだ。
勉強になった。
以上。