Muy parecido /etc/profile
y ~/.profile
ejecutado por root en lugar de que el usuario esté haciendo inicio de sesión. /etc/rc.local
se ejecuta después del arranque, pero necesito ejecutar el script antes de iniciar sesión. El usuario no es un sudoer.
¡Gracias!
/etc/profile
o~/.profile
porque la ejecución del código en esos scripts es realizada por el shell del usuario y está sujeta al control del usuario, mientras que si no desea que el usuario tenga poder ejecutar programas comoroot
ellos mismos, entonces esto tendrá que hacerlo algún servicio en ejecución externo a los procesos del usuario. ... Puede ser útil que nos diga el propósito del script que desea ejecutar.mount
comando en particular y otorgar al usuario el privilegio de ejecutar solo ese script (configuración/etc/sudoers
). Un comando con opciones dadas se puede configurar directamente ensudoers
.Respuestas:
Solo para volver al método de los sudoers, creo que ya casi había llegado antes de darse por vencido. Mirando sus últimos comentarios, me gustaría abordar algo que probablemente arregle las cosas por usted:
Si ejecuta un script como root, no necesita llamar a sudo desde dentro.
Tengo un script como este:
Si corro
sudo ./myscript
veoroot
devuelto para ambos. La sesión en la que se ejecuta el script es un shell raíz.En resumen, eso significa que todo lo que haces en tu script ya tiene permisos de root. No necesita llamar
sudo
(no es que deba doler, por loroot
general tienesudo
permisos).Así que escribir su guión,
chown
que aroot
ychmod
que700
(por lo que sólo root puede ejecutar, leer, editar o ella) y luego simplemente permitir que su usuario [s] para ejecutarlo a través sudoers. Eso debería funcionar.Si no funciona, es probable que sea un problema mayor con el script, no con el marco de permisos. Sugeriría darle a un usuario
sudo
acceso completo (agregar al grupo de administración es la forma más fácil) y luego ejecutar su script.fuente
Paso 1. crea un script con el comando bind usando cualquier editor. Por ejemplo:
contenido:
Paso 2. guardar bind_user_directories.sh y hacerlo ejecutable:
Paso 3. vincúlelo a una ubicación adecuada como / usr / local / sbin:
Paso 4. crea el script de inicio:
contenido:
Si esto funciona para usted, hágamelo saber. Puede verificar si hay mensajes en el registro del sistema después de iniciar sesión. (Todavía no lo probé y nunca he implementado algo como esto antes). Si mejora la solución, comparta su solución final aquí. Gracias.
fuente
mdm
s de/etc/mdm/PostLogin/
secuencias de comandos en el mundo de Ubuntu !!Para ejecutar un script como root antes del inicio de sesión
Podrías iniciar el script con Upstart .
Puede agregar la llamada de secuencia de comandos a las secuencias de comandos de inicio kdm / gdm / etc existentes .
Ejemplos: Tema: Preguntas frecuentes: Inicio automático / ejecución automática, ejecución periódica .
fuente
root
en el momento en que un usuario en particular inicia sesión .