ログインシェルが/sbin/nologinのユーザでコマンドを実行したい
通常ログインする必要がないユーザは、セキュリティのためログインシェルに/sbin/nologinが指定されている。
# grep apache /etc/passwd apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
su しようとするとエラーになってしまいます。
# su - apache Last login: Sat Dec 15 12:58:36 UTC 2018 on pts/0 This account is currently not available.
そんな場合は オプションに --shell=シェルへのパス
を指定することで su できる。意外と知らなかった。
su apache --shell=/bin/sh -c bundle install