Puedo hacer un sucon su <username>y me pide mi contraseña. ¿Hay un parámetro de contraseña para suque no se me solicite una contraseña?
p.ej su <username> -p <password>
superuseraquí, superuser.com/questions/67765/...
Puedo hacer un sucon su <username>y me pide mi contraseña. ¿Hay un parámetro de contraseña para suque no se me solicite una contraseña?
p.ej su <username> -p <password>
superuseraquí, superuser.com/questions/67765/...
Respuestas:
Si desea escribir un script que se ejecute como un usuario diferente, algo como esto funciona, aunque genera la palabra "contraseña" sin una nueva línea para la salida estándar
su - username <<!
enterpasswordhere
enter commands to run as the new user
!
si tiene un usuario llamado fred con una contraseña de 1234 y desea obtener un directorio de inicio de ls of fred como fred, sin la cadena de contraseña mostrada, se vería como
su - fred <<! >/dev/null 2>&1
1234
whoami > /dev/tty
ls > /dev/tty
!
su: must be run from a terminal.
Creo que no existe y no sería una buena idea. He aquí por qué:
si escribe una contraseña en un comando como su <username> -p <password>, se almacenaría en texto sin formato en su historial de bash. Este es ciertamente un gran problema de seguridad.
Si necesita ejecutar comandos con su(o sudo) de forma automática, escriba un shellscript que contenga los comandos sin suo sudoy ejecutesu <username> script.sh
su root script todavía necesita ingresar passwd.
echo <passwd> | sudo -S <command-line>Aunque no es seguro, pero funciona.
Si desea ejecutar algunos comandos específicos como un nuevo usuario, use el siguiente comando:
sudo -u {username} {command to be executed as the new user}