¿Cuál es la diferencia entre sudo su - y sudo su -

22

Cuando estoy trabajando en nuestras máquinas RHEL, uso sudo su -para cambiar a ser root. Un día, un error tipográfico significaba que escribía en su sudo su --lugar; me parece que todo era igual que con un solo guión, excepto que estaba en la misma carpeta que antes de emitir el comando (con un solo guión en el que me encuentro /root).

¿Hay otras diferencias? ¿Es seguro usar esto en escenarios en los que sé que quiero trabajar en el mismo directorio?

Rico
fuente

Respuestas:

22

Cuando proporcionas un guión doble, la experiencia que tendrás es idéntica a la que acabas de ejecutar sudo susin ningún guión.

Pasar un solo guión es idéntico a pasar -lo --login. La página del manual sudescribe el comportamiento como:

Proporcione un entorno similar al que el usuario esperaría si el usuario hubiera iniciado sesión directamente.

Esto incluye configurar su directorio en su directorio de inicio y establecer un montón de otras variables de entorno.

Pasar un guión doble a un comando generalmente se usa para marcar el final de las banderas de línea de comandos y el comienzo de los argumentos que no son de bandera. Por ejemplo, si ejecuta touch -R, recibirá un error que dice que -R no es una opción touch, pero si lo ejecuta touch -- -Rcreará un archivo llamado -R. Esto es cierto para muchas herramientas de línea de comandos ( ls -Rhará un recursivo lsmientras ls -- -Rque realizará un lsen un archivo o directorio llamado -R.

Entonces, para terminar, cuando pasas solo -- a suél, básicamente ignoras --y actúas como si no pasaras ninguna opción.

Mark Drago
fuente
Voy a crear una pregunta de ella, pero sudo su -, y sudo su -les diferente. En una cuenta en la que ssh en sólo una tecla, y tengo derechos sudo para el cambio a un otro usuario específico, sudo su -cambia el usuario sin problemas, pero sudo su -lo sudo su --loginse pida una contraseña de sudo, que no tengo (aunque mediante el examen de sudo -llo podría ejecutar /bin/sucon NOPASSWD)
karatedog
@karatedog, parece que no creaste una pregunta ...
Wildcard