Permiso de escritura para un file específico sin cambiar la propiedad

Según lo entiendo, para dar un permiso de escritura a un usuario puedo cambiar el propietario del file a ese usuario y darle "permiso de escritura de usuario" (que no quiero hacer), o mantener el mismo propietario pero agregue este usuario al grupo del file y dé al grupo un permiso de escritura. Pero este último dará permiso a este usuario a todos los demás files asociados con este grupo (cualesquiera que sean esos permissions).

Así que diga si el file es propiedad de user1 y group user1, la mayoría de los files user1 también tienen user1 group. Si agrego user2 al grupo user1, user2 habrá ganado permissions adicionales. La única manera en que puedo pensar es crear un grupo para este file específico, cambiar el grupo con chown y luego añadir user2 a este grupo. ¿Es esto correcto? Me parece que esto crea mucha complejidad si tengo que hacer esto por cada file. Vengo de un background de las windows y de allí usted apenas derecho-chasca el file y agrega al usuario al permiso del file. Así que no hay necesidad de crear 20 grupos para 20 files diferentes, a continuación, agregar los usuarios a los 20 grupos, etc

¿Puede alguien aclararme?

Gracias.

Esa es la forma principal de conceder permissions en unix, sí.

La idea es que por lo general no tendría 20 grupos para los 20 files diferentes y agregar los usuarios a los 20 grupos. En cambio, si tiene unos cuantos usuarios que necesitan acceder a una serie de files, agregaría un grupo que contenía esos usuarios y tendría todos los 20 files de ese grupo.

La ventaja de usar grupos en lugar de agregar usuarios individuales es en una organización, donde las personas obtienen o pierden privilegios a medida que cambian de trabajo. A continuación, en lugar de agregar o eliminarlos de un gran número de files, simplemente agregar o eliminarlos de un grupo.

Sin embargo, para los casos en que los privilegios normales de usuario / grupo / otros no son lo suficientemente flexibles para sus necesidades, hay una alternativa, llamada Lista de control de acceso o ACL. Las ACL otorgarán o revocarán permissions para usuarios o grupos además de los permissions de usuario / grupo antiguos.

Para agregar un usuario a la ACL de un file, utilice setfacl . Ejemplo:

 setfacl -mu:lisa:r /path/to/file 

concederá al usuario "lisa" acceso de lectura al file.

Hay más información en las páginas de setfacl de setfacl y getfacl .