El problema que tengo es que, cuando ingreso el comando,
su - root
al comienzo de mi archivo de script de shell, le pide al usuario que ingrese la contraseña y NO continúa con el resto del script de shell. Luego tengo que localizar y ejecutar manualmente el script de shell a través de la terminal. Quiero que el script se asegure de que el usuario inicie sesión como root y luego continúe con el resto del script de shell.
En otras palabras, quiero ejecutar el script como cualquier usuario, pero tan pronto como el script comience a ejecutarse, el usuario debe cambiar a root y luego continuar con el resto del script como root hasta que esté listo. Se puede hacer esto?
sudo: must be setuid root
, entonces algo le sucedió a tu sudo. Para solucionarlo:chmod u+s $(which sudo)
. Y sí, soy muy consciente de lo que intentas hacer, hago lo mismo todo el tiempo en mis guiones.También puede verificar el UID:
fuente
Puede llamar al script en sí y verificar:
fuente
En el punto donde desea iniciar sesión, simplemente agregue el siguiente comando
Esto funciona perfectamente con mi código
fuente