mkdir como otro usuario según el archivo de configuración

mkdir como otro usuario según el archivo de configuración

Tenemos un entorno Linux compartido donde la mayoría de los archivos se montan en muchas máquinas en un recurso compartido NFSv3, que no controlamos. Dado que solo tenemos permisos básicos del sistema de archivos disponibles (sin ACL), estamos buscando una manera de permitir que las personas ejecuten mkdir en un disco compartido sin otorgar permisos de escritura a todo el grupo sobre la raíz del recurso compartido.

Por ejemplo, un binario con el bit setuid configurado y el propietario del binario configurado como propietario del recurso compartido podría leer un archivo de configuración que definiría qué usuarios o grupos pueden crear un directorio en dicho directorio compartido. Luego podría decidir si el usuario que ejecuta el binario puede crear un directorio en el recurso compartido.

Los permisos en el recurso compartido de nivel superior serían:

drwxr-x--- 1 owner group …

Entonces, la idea es que haya un contenedor para mkdir que luego se ejecute como propietario del recurso compartido, verifique un archivo de configuración y cree el directorio solicitado si el archivo de configuración lo permite. De esa manera, los usuarios no pueden simplemente ejecutar el mkdir integrado.

El directorio creado se vería así:

drwx------ 1 normaluser group 4096 Nov 3 18:14 newdir

¿Es este el mejor enfoque? ¿O estamos reinventando la rueda?

Respuesta1

Configure umaskcuando cada usuario inicie sesión:

umask 002

A partir de entonces, el grupo tendrá los mismos permisos que el usuario:

mkdir newdir
ls -ld newdir
drwxrwxr-x+ 1 roaima roaima 0 Nov  3 22:04 newdir

Si eso no es lo que quieres, crea un alias para mkdir

alias md='mkdir -m 775'
md newdir

información relacionada