.png)
Entonces, no entiendo qué está pasando aquí.
Configuré un servidor Debian 10.2 y lo configuré como lo hice antes con otros servidores. Todo funciona bien y, como es una máquina local y yo soy el único usuario, utilicé root para todo. Ahora quería desactivar el inicio de sesión raíz ssh.
Pero si uso un usuario no root para iniciar sesión a través de SSH, no puede encontrar comandos básicos como "servicio" o "reiniciar". (Bash: Servicio: Comando no encontrado).
Aún más extraño, ni siquiera puedo acceder a esas cosas cuando uso "su root". De hecho, soy el usuario root, pero todavía no puedo acceder ni encontrar esos comandos.
Cuando inicia sesión directamente con el usuario root, todo funciona como debería.
Respuesta1
La variable de entorno de su usuario PATH
no contiene la ruta donde se encuentran estos archivos. Cuando usas su -
, las variables de entorno de root se cargan en tu sesión. Ver man su
:
-, -l, --login
Start the shell as a login shell with an environment similar
to a real login:
o clears all the environment variables except TERM and
variables specified by --whitelist-environment
o initializes the environment variables HOME, SHELL,
USER, LOGNAME, and PATH
o changes to the target user's home directory
o sets argv[0] of the shell to '-' in order to make
the shell a login shell
Para entender mejor esto, veamos dónde está uno de estos binarios y comparemos la RUTA de root con la tuya:
- hacer
su -
- hacer
which service
. Esto le indicaráservice
desde dónde se cargaría el binario si ejecutara el comandoservice
. - hacer
echo $PATH
. Esto le mostrará la RUTA de root. Notará que el directorio dondeservice
se puede encontrar se enumera aquí. - hacer
exit
para volver a ser su usuario no root. - hacer
echo $PATH
. Verás que el directorio que identificaste en el paso 2 no está aquí.
Esta es una configuración predeterminada normal en ciertos entornos/distros donde ciertos programas administrativos como service
, fdisk
, etc. se guardan en un directorio como /usr/sbin
o /sbin
, y dichos directorios se mantienen fuera de las RUTAS de los usuarios normales.