Setzen Sie $PATH für den Benutzer /bin/false

Setzen Sie $PATH für den Benutzer /bin/false

Ich habe einen Sensu-Benutzer:

sensu:x:496:496:Sensu Monitoring Framework:/opt/sensu:/bin/false

Es $PATHlautet: /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin

Ich möchte es aktualisieren PATH, sodass Sensu, während es mein Prüfskript auslöst, die von mir installierte Python-Version (installiert unter /usr/local/bin) verwendet. Daher möchte ich Sensu PATHwie folgt einstellen:

export PATH=$PATH:/usr/local/bin

Ich habe jedoch beide bearbeitet /opt/sensu/.bashrcund /opt/sensu/.profilees hat nicht funktioniert. Ich habe online gelesen (Verknüpfung), .bashrcwird sowohl für interaktive als auch für nicht interaktive Benutzer erst nach der Anmeldung als Quelle verwendet. Für Sensu als /bin/falseBenutzer .profilewird die Quelle jedoch nach der Benutzeranmeldung mit Bash verwendet. Meines Wissens verfügt es überhaupt nicht über eine Anmelde-Shell, aber wie kann ich mein Ziel erreichen, indem ich $PATHes festlege?

Übrigens sudo su - sensu -s /bin/bashhabe ich beim Ausführen gesehen, dass .profile richtig bezogen wurde. Das macht für mich jedoch wenig Sinn, da der Sensu-Client, während er mein Python-Prüfskript ausführt, kein Bash hat.

Kann ich /etc/passwddie Änderung /bin/falseauf ändern /bin/bash? Wird das bitte Probleme verursachen?

Antwort1

Wie Sie bereits bemerkt haben, ist die Shell für Ihren Sensu-Benutzer /bin/false, er hat also überhaupt keine Shell. Sie könnten ihm eine echte Shell wie /bin/bash geben und gleichzeitig das Konto sperren (verwenden passwd -l), sodass Sie sich nicht remote mit dem Konto anmelden können, was es etwas sicherer macht.

Antwort2

Um den $PATH zu aktualisieren, muss die folgende Zeile hinzugefügt werden

export PATH=$PATH:/usr/local/bin

Je nach Maschinentyp und Server/Client würde sich der Dateiname ändern:

Für Redhat-Maschine:

  • Sensu-Client

     /etc/sysconfig/sensu-client
    
  • Sensu-Server

     /etc/sysconfig/sensu-server
    

Für Debian-Rechner:

  • Sensu-Client

     /etc/default/sensu-client
    
  • Sensu-Server

     /etc/default/sensu-server
    

verwandte Informationen