お前は何を言っているんだ。
と言いたくなりますが、例えばapache
ユーザー等はログインシェルに/sbin/nologin
が指定されているので、普通にsu
しようとするとスイッチ出来ません。
# cat /etc/passwd | grep apache
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
# su - apache
This account is currently not available.
上記の通り怒られます。ので、下記のようにします。
su -s /bin/bash apache
-s
オプション用いることでログインシェルを指定することが出来ます。(ここでは/bin/bash
を指定)
結果apache
ユーザーへもログインすることが出来ます。
また-
付きでsu
すると、現在の環境変数を解除した上でそのユーザーにスイッチすることが出来ます。
su -s /bin/bash - apache