Otorgue permiso de escritura predeterminado para agrupar a los archivos y carpetas recién creados

15

Digamos que tenemos 2 usuarios: a y b, que son parte del grupo general.

Me gustaría que cualquier archivo o carpeta que cree A tenga permiso de escritura para el grupo GENERAL.

¿Cómo puedo hacerlo?

Por ejemplo, el archivo recién creado se establece como:

-rw-r--r-- 1 a general

Esto no da permiso de escritura al grupo general

Dejel
fuente
Quizás te interese esta respuesta: stackoverflow.com/questions/3175303/…
Gavriel
2
No quiero hacerlo desde Java. Esta no es la forma correcta de hacerlo
Dejel
"No quiero hacerlo desde Java. Esta no es la forma correcta de hacerlo". Eso es casi una declaración filosófica. Se aplica en todas partes ...
GargantuChet

Respuestas:

15

Sí, puedes hacer eso cambiando el umask. Los umaskdetermina cuales son los permisos predeterminados para un archivo recién excretada.

Puede agregar umask g+wal final de su archivo de configuración de shell ( ~/.bashrcpor ejemplo).

Pero en realidad, no es una práctica recomendable. En el caso de que desee garantizar la integridad de un archivo y olvide actualizar los permisos del archivo, el grupo podrá modificarlo. Va en contra del principio de seguridad de "valores iniciales seguros".

Lo que podría hacer en su lugar es hacer que el grupo pueda escribir todo el archivo recién creado de un directorio específico . Puede hacerlo manipulando las ACL del directorio. Por ejemplo, setfacl -dm u::rw,g::rw,o::r ~/shared.

Mire esas publicaciones como referencia: /server/349145/can-i-override-my-umask-using-acls-to-make-all-files-created-in-a-given-director y /programming/580584/setting-default-permissions-for-newly-created-files-and-sub-directories-under-a .

lgeorget
fuente
¿Qué pasa si no sé cuál será el directorio? Ya que digamos que tengo la carpeta TEST. Todos los archivos que crea A estarán bajo PRUEBA. Sin embargo, podría crear una carpeta 20130515 y debajo de ella para localizar el archivo recién creado. por lo que debería ser para cualquier archivo y carpeta que se cree de forma recursiva en la carpeta TEST
Dejel
2
Las ACL predeterminadas heredan los nuevos subdirectorios y se aplican a los archivos creados en esos directorios. Entonces, si ha /srv/TESTconfigurado las ACL predeterminadas en ese directorio, entonces /srv/TEST/20130515tendrá las mismas ACL predeterminadas que el directorio principal.
Bratchley
También podría ser una buena idea ejecutar sudo chmod g+s [dir]para que los archivos sean propiedad del grupo
linuxgnuru