У меня есть пользователь 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будет получен только после входа в систему как для интерактивных, так и для неинтерактивных пользователей, однако, как /bin/falseпользователь Sensu, он .profileбудет получен после входа в систему пользователем bash, насколько я понимаю, он не имеет имени входа Оболочка как все, но как я могу достичь своей цели установки $PATHдля него?
Кстати, запустив, sudo su - sensu -s /bin/bashя увидел, что .profile был получен правильно, однако для меня это не имеет большого смысла, так как пока клиент sensu запускает мой скрипт проверки Python, он не будет иметь bash.
Могу ли я изменить, /etc/passwdчтобы изменить /bin/falseна /bin/bash, это вызовет проблемы, пожалуйста?
sudo -u sensu PATH="/usr/local/bin:$(getconf PATH)" python program.py- проверьте свои страницыsudo(1)иsudoers(5)страницы руководства.