Tengo un usuario sensu:
sensu:x:496:496:Sensu Monitoring Framework:/opt/sensu:/bin/false
Su $PATH
es:
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
Quiero actualizarlo PATH
, de modo que mientras sensu activa mi script de verificación, use mi versión de Python instalada en mi lado (instalada en /usr/local/bin
), por lo tanto, quiero configurar sensu PATH
en:
export PATH=$PATH:/usr/local/bin
Sin embargo, edité ambos /opt/sensu/.bashrc
y /opt/sensu/.profile
no funcionó; He leído en línea (enlace), .bashrc
se obtendrá solo después de iniciar sesión para los usuarios interactivos y no interactivos, sin embargo, como /bin/false
usuario, .profile
se obtendrá después de iniciar sesión con bash, tengo entendido que no tiene un shell de inicio de sesión como todos, pero ¿cómo podría? ¿Logro mi objetivo de establecerlo $PATH
?
Por cierto, al ejecutarlo sudo su - sensu -s /bin/bash
vi que .profile se obtuvo correctamente, sin embargo, esto tiene poco sentido para mí ya que mientras el cliente sensu ejecute mi script de verificación de Python, no tendrá bash.
¿Puedo modificarlo /etc/passwd
para cambiar /bin/false
a /bin/bash
? ¿Esto causará problemas, por favor?
Respuesta1
Como ya habrás notado, el shell para tu usuario sensu es /bin/false
, por lo que no tiene ningún shell. Podría darle un shell real como /bin/bash y, al mismo tiempo, bloquear la cuenta (use passwd -l
) para que no pueda iniciar sesión con la cuenta de forma remota, lo que la hace un poco más segura.
Respuesta2
Para actualizar $PATH, se debe agregar la siguiente línea
exportar RUTA=$RUTA:/usr/local/bin
Dependiendo del tipo de máquina y del servidor/cliente, el nombre del archivo cambiaría:
Para máquina redhat:
sensu-cliente
/etc/sysconfig/sensu-client
servidor sensu
/etc/sysconfig/sensu-server
Para máquinas Debian:
sensu-cliente
/etc/default/sensu-client
servidor sensu
/etc/default/sensu-server