Установить $PATH для пользователя /bin/false

Установить $PATH для пользователя /bin/false

У меня есть пользователь Sensu:

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

Его $PATHявляется: /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin

Я хочу обновить его PATH, чтобы при запуске моего сценария проверки sensu использовал версию Python, установленную на моей стороне (установленную в /usr/local/bin), поэтому я хочу установить sensu PATHследующим образом:

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

Однако я отредактировал и то, /opt/sensu/.bashrcи другое/opt/sensu/.profile другое, не помогло; я прочитал онлайн (связь), .bashrcбудет получен источник только после входа в систему как для интерактивных, так и для неинтерактивных пользователей, однако, sensu как /bin/falseпользователь, .profileбудет получен источник после входа в систему пользователя с помощью bash, насколько я понимаю, у него вообще нет оболочки входа в систему, но как мне достичь своей цели настройки $PATHдля нее?

Кстати, запустив, sudo su - sensu -s /bin/bashя увидел, что .profile был получен правильно, однако для меня это не имеет особого смысла, поскольку, пока клиент Sensu запускает мой скрипт проверки Python, у него не будет bash.

Могу ли я изменить /etc/passwdего /bin/falseна /bin/bash, вызовет ли это проблемы? Пожалуйста, подскажите, пожалуйста.

решение1

Как вы уже заметили, оболочка для вашего пользователя sensu — /bin/false, так что у него вообще нет оболочки. Вы можете дать ему настоящую оболочку, например /bin/bash, и в то же время заблокировать учетную запись (используйте passwd -l), чтобы вы не могли войти с учетной записью удаленно, тем самым сделав ее немного более безопасной.

решение2

Чтобы обновить $PATH, необходимо добавить следующую строку

экспорт ПУТЬ=$ПУТЬ:/usr/local/bin

В зависимости от типа машины и сервера/клиента имя файла будет меняться:

Для машины RedHat:

  • сенсу-клиент

     /etc/sysconfig/sensu-client
    
  • sensu-сервер

     /etc/sysconfig/sensu-server
    

Для машин Debian:

  • сенсу-клиент

     /etc/default/sensu-client
    
  • sensu-сервер

     /etc/default/sensu-server
    

Связанный контент