Pregunta

Escribí un script de bash simple que hace una copia de seguridad del directorio de inicio, E lo pone en / var / copias de seguridad. Dado que ese directorio está protegido, escribí el script como root, y luego configuré el SUID.

armando@ubuntu:~/scripts/bash $ ll
-rwsr-xr-x 1 root    root    2596 Jul 28 10:43 homebackup.sh*

Aun así, obtengo el error "Permiso denegado" cuando los scripts intentan escribir en / var / copias de seguridad.¿Por qué?

¿Fue útil?

Solución

En Linux y la mayoría de los otros sistemas modernos de la familia Unix, los bits de Setuid solo se reconocen para los ejecutables binarios directos, no los scripts.

Esto es por diseño, y por razones de seguridad.Puede trabajar alrededor de él construyendo una envoltura compilada para sus scripts de setuid, o usando una herramienta existente (como sudo con una configuración para evitar necesitar una contraseña al llamar al script específico como usuario deseado).

Consulte Esta discusión completa sobre Unix StackExchange .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top