Frage Einen Befehl als nologin-Benutzer ausführen


Ich habe meinen Server kürzlich so eingerichtet, dass meine "virtuellen" suPHP-Benutzer nicht mit dem Benutzer angemeldet werden können Dieser Beitrag 

Mein Problem ist jetzt, dass, bevor ich lief rake Befehl für meine Ruby on Rails-Anwendung, die auf dem Server ausgeführt wird, habe ich verwendet su hinein gehen www-data und führe den Befehl von dort aus aus - offensichtlich kann ich das wegen des nologin nicht mehr tun.

Wie kann ich also als root-Benutzer Befehle als andere Benutzer ausführen, selbst wenn sie nicht loggen?


30
2017-11-21 18:14


Ursprung


Eine Möglichkeit besteht darin, eine Shell für diesen Benutzer zu starten (die Shell wird explizit angegeben): sudo -u www-data bash Führe deine Befehle aus und melde dich ab - cyberx86
@ cyberx86 Deine Lösung funktioniert gut, könntest du sie als Antwort für mich einreichen?


Antworten:


Eine Möglichkeit besteht darin, eine Shell für diesen Benutzer zu starten (die Shell wird explizit angegeben):

sudo -u www-data bash 

Dadurch wird eine (Bash-) Shell als der angegebene Benutzer gestartet. Sie können dann Ihre Befehle ausführen und sich abmelden (um zu Ihrer vorherigen Shell zurückzukehren)


41
2017-11-21 19:03





Als root können Sie verwenden su -s /bin/sh $user- das -s Option überschreibt die konfigurierte Shell für den Benutzer.


30
2017-11-21 18:32



Das scheint mir immer ein Fehler zu sein.
Funktioniert gut für mich, hatte nie ein Problem. Wenn Sie Skripte mit Bash-Syntax ausführen, benötigen Sie / bin / bash anstatt / bin / sh - ekerner