Uso de ACL para permitir que los usuarios agreguen archivos pero no subdirectorios en una carpeta

Estoy en Mac OS X Lion y quiero evitar que los usuarios creen subdirectorios dentro de una carpeta, pero al mismo tiempo los usuarios deberían poder agregar archivos al mismo directorio.

El siguiente comando no permite al usuario agregar archivos a la carpeta:

chmod +a "user allow add_file" test

¿Qué debo hacer para permitir que los usuarios agreguen archivos y no subdirectorios?

Respuestas (1)

EDITAR: La siguiente es una solución parcial. Funcionará en el nivel de shell como se esperaba, pero en Finder se puede omitir si el usuario es administrador o conoce la identificación y la contraseña del usuario administrador. Vea los comentarios a continuación...

Compruebe la página del manual chmody encontrará...

 The following permissions are applicable to directories:
       list    List entries.
       search  Look up files by name.
       add_file
               Add a file.
       add_subdirectory
               Add a subdirectory.
       delete_child
               Delete a contained object.  See the file delete permission
               above.

Así que el comando que estás buscando es...

$ chmod +a "staff deny add_subdirectory" test

para prohibir que alguien en el personal del grupo cree una subcarpeta y luego la prueba debería darle

$ mkdir test/subtest
mkdir: test/subtest: Permission denied

Donde como crear un archivo...

$ touch test/blah.txt
$ 

no es problema. También debería encontrar que Finder tendrá la opción Crear carpeta deshabilitada también.

HTH

La terminal se comporta como se esperaba, pero no el Finder. Cuando copio un archivo usando Finder me pide una contraseña, aunque me permite mover un archivo cmd+shift+v y no entiendo por qué.
Sí, me acabo de dar cuenta también en mi OSX 10.6.8, Finder deshabilitará la acción Nueva carpeta pero permitirá mover una carpeta si se autentica. Extraño. Puede tener algo que ver con la propiedad. Mañana reviso y te informo.
Sin suerte. Siempre que el usuario sea o tenga acceso a una cuenta de administrador, puede omitir esto. Entonces es una solución parcial.