switch to user with nologin shell
Manche User, wie zb. der www
Account, haben als Shell /usr/sbin/nologin
eingetragen, was ein login verhindert. So weit ganz gut, jedoch ist es gelegentlich erforderlich unter diesem User verschiedene Anwendungen / Scripte auszuführen (Beispiel: der Updateprozess von Piwik bei größeren Installationen).
Ein einfaches su www
wird mit This account is currently not available.
quitiert und jedes mal die Shell temporär ändern wäre mehr als nervig, aber zum Glück geht es auch einfacher.
Zu erst wie gewohnt auf dem System mit seinem User einloggen, danach mit su
zu root wechseln (Root-Zugriff ist zwingend erforderlich) und im Anschluss mit su -m www -c ‘/bin/sh’
zum gewünschten User wechseln. Entscheidend ist der Parameter -m
, dadurch wird verhindert das u.a. die Umgebungsvariable shell
benutzt bzw. verändert und ausgeführt wird, mit -c ‘/bin/sh’
wird dann die gewünschte Shell / Anwendung oder das Script ausgeführt.
Nähere Infos bekommt ihr unter su(1) und environ(7).