ACL: solo otorga acceso a lectura, *no* a ejecución

ACL: solo otorga acceso a lectura, *no* a ejecución

Tengo un directorio llamado /test, hay dos archivos:

info.txt
script.sh

Quiero otorgar acceso de solo lectura al usuario john e hice lo siguiente:

setfacl -m u:john: r test/

Con el comando anterior, John no puede acceder a la carpeta porque carece del permiso de ejecución, así que intenté nuevamente con esto:

setfacl -m u:john: rx test/

Ok, ahora funciona: el usuario john puede acceder a la carpeta y leer los archivos.

Sin embargo, puede ejecutar script.sh. Este último poder no era mi intención concedérselo. ¿Cómo debo proceder?

Respuesta1

Podrías hacerlo chmod o-x test/script.sh, pero esto no tiene sentido. El usuario podría simplemente copiar el archivo a su directorio de inicio, hacerlo ejecutable y ejecutarlo desde allí. Se ejecutará con los privilegios del usuario de todos modos, a menos que sea setuid. Y los scripts de shell no pueden tener setuid, pero copiar un archivo setuid eliminará el bit setuid de la copia de todos modos.

información relacionada