それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

nologin 指定されたユーザにsu したりする。無理ログイン

apache ユーザーで bash を起動する

apache ユーザーなど /sbin/nologin のユーザーでは suは出来ない。

[takuya@ki data]$ sudo su apache
This account is currently not available.

/etc/passwdを見てみる

するとログインできなくなっている。

apache:x:48:48:Apache:/var/www:/sbin/nologin

無理矢理にログインしてみる

要は、このユーザーでbashを起動すればいいのだから、こんな事ができる。

[takuya@ki data]$ sudo su -s /bin/bash apache
bash-4.1$ id
uid=48(apache) gid=48(apache) groups=48(apache)

sudo su するくらいなら sudo だけでもできる。

[takuya@ki data]$ sudo -u  apache  /bin/bash
bash-4.1$ id
uid=48(apache) gid=48(apache) groups=48(apache)

シェルを起動することはできる。

できるけど、あまり勧められた方法ではない。

連続してコマンドを起動しない限りは、シェルスクリプトファイルをつくってやりたいことを1つにまとめて起動するほうがいいと思う

sudo -u apache /path/to/script