suで一時的にシェルを変える方法
CentOS 5で root から su できなかったので調べてみた。
なるほど。
下記のようになった場合
[root@hoge home]# su - hoge
This account is currently not available./etc/passwdを編集します。
[root@hoge home]# vi /etc/passwd
hoge:x:100:100::/home/hoge/:/nobin/nologin
hoge2:x:101:101::/home/hoge2/:/bin/bashここの「/nobin/nologin」を/bin/bashなどにしてやるとログインできるようになります。
ユーザーデータベースを編集せずともsuコマンドやsudoコマンドで一時的な変更は可能ですよ.
suコマンド
# /bin/su - --shell=/bin/sh apache -sh-4.0$ id uid=48(apache) gid=48(apache) 所属グループ=48(apache)
sudoコマンド
# /usr/bin/sudo -u apache id uid=48(apache) gid=48(apache) 所属グループ=48(apache)
まとめ
もうちょっとダラダラ長文を書いていたんだけど消えてしまった(涙