Estoy usando ubuntu 10.04.
Noté que después de ejecutar " sudo -s " en la terminal, el mensaje cambió de
" XXX @ XXX "
a
" root @ XXX ",
Parece que cambió a privilegio de root.
Pero cuando reviso la documentación del comando "sudo" aquí , explica otra historia de "sudo -s", ¿alguien puede explicarme qué está haciendo exactamente " sudo -s "?
sudo
Ubuntu es casi específica ...Respuestas:
Los dos no son realmente inconsistentes: el
sudo
comando siempre cambia al usuario, ya sea a la raíz, o al usuario que especifique con el-u
interruptor. Todo lo que-s
hace es proporcionar un acceso directo para iniciar un shell como ese usuario. Es realmente equivalente a:excepto que probablemente retrocederá
/bin/sh
o algo así siSHELL
no está configurado.fuente
sudo -s
ejecuta el shell especificado en su$SHELL
variable de entorno como superusuario / raíz. Puede especificar otro usuario usando-u
.La
$SHELL
variable de entorno contiene la ruta al shell de inicio de sesión predeterminado del usuario. La configuración real para el programa de shell predeterminado generalmente está enetc/passwd
. Dependiendo de lo que haya hecho en su sesión actual, la variable $ SHELL puede no contener el programa de shell que está utilizando actualmente. Si inicia sesión automáticamente con zsh, por ejemplo, pero luego invoca bash, $ SHELL no cambiará/bin/zsh
.Mostrar el usuario actual y el programa de shell:
echo $(whoami) is logged in and shell is $0
whoami
imprime el nombre de usuario con el que trabaja el usuario.$0
contiene el nombre / ruta del programa actualmente en ejecución (programa de shell en este caso).fuente
Del manual:
Más en serio, los sudo -s ejecutan una variable de entorno de shell. Como no agregó ninguna variable, se ejecuta como se especifica en passwd y, por lo tanto, lo conecta como root.
fuente
-u
opción para aprender eso. Pero para alguien que no está familiarizadosudo
, no sabrían mirar-u
.Echa un vistazo a esta publicación de superusuario:
¿Cuál es la diferencia entre los comandos "su -s" y "sudo -s"?
¡Por cierto, tu publicación debe moverse al superusuario (o askubuntu como se dice en los comentarios)!
fuente
Parece que está creando otra instancia del shell encima del shell actual, pero con privilegios de root. Apuesto a que después de hacerlo,
sudo -s
si escribe exit, volverá al shell original.fuente
sudo -s le permite ejecutar un comando para el que está preautorizado [vea / etc / sudoers], posiblemente solicitándole que confirme su ID actual.
fuente