¿Quién debería ser propietario de los archivos compartidos por un grupo y dónde deberían ir?

¿Quién debería ser propietario de los archivos compartidos por un grupo y dónde deberían ir?

Estoy configurando una estación de trabajo Linux que será utilizada por una pequeña cantidad de usuarios (20-30). Estos usuarios pertenecerán a un pequeño conjunto de grupos (5-10) y cada usuario pertenecerá a al menos un grupo y potencialmente a varios grupos. En la estación de trabajo hay archivos que sólo deberían poder escribir los miembros de un grupo en particular. Solo los miembros de un grupo pueden escribir en cada archivo, por lo que los permisos estándar de Linux deberían funcionar bien. Tengo dos preguntas.

¿Quién debería ser propietario de los archivos que ya existen? Estaba pensando rooten crear un conjunto de usuarios ficticios correspondientes a los grupos. ¿Hay alguna opción mejor que me falta? Parece poco probable que esta sea una situación única, por lo que esperaba que hubiera una convención estándar.

La segunda pregunta es ¿dónde debo colocar los archivos? Si creara usuarios ficticios, podría crear subdirectorios en /home/. Si root es el propietario de los archivos, uso /srv/groups/o tal vez `/share/? De nuevo, ¿hay una convención?

Respuesta1

¿Quién debería ser propietario de los archivos que ya existen? Estaba pensando en rootear o crear un conjunto de usuarios ficticios correspondientes a los grupos.

Dejarlos como raíz propia pero pertenecientes a un grupo común, suponiendo que los archivos estén enmascarados 0002 (es decir, que se puedan escribir en grupo) tiene una pequeña ventaja en términos de evitar que se les vuelva a poseer accidentalmente si crea usuarios que coincidan con los grupos y el las personas que están en los grupos pueden iniciar sesión como ese usuario. me refiero aaccidenteaquí porque, por supuesto, un usuario malintencionado del grupo podrá eliminar los archivos en cualquier caso. Pero si son propiedad root (o cualquier otro usuarioese no es el grupo), entonces, aunque alguien del grupo aún pueda escribirles (y, por lo tanto, eliminarlos), no podrá volver a ser propietario ni modificar los permisos, de modo que otros miembros del grupo no puedan acceder posteriormente al archivo.

Usar un grupo pero sin un propietario fijo (es decir, los archivos pueden ser propiedad de cualquiera, pero deben estar en el grupo correcto con permisos de grupo) tiene una ventaja si los usuarios van a crear archivos (ver más abajo).

Crear nuevos usuarios sólo para que coincidan con los grupos probablemente creará más problemas potenciales de los que realmente resuelve. Si el uso de permisos de grupo funciona, quédate con eso. También puedes crear un pequeño comando para el superusuario:

#!/bin/sh
chown -R root:groupx $1
chmod -R g+w $1

Y úsalo foo /some/directory. Esto garantizará que todo en el árbol sea propietario root, con grupo groupxy grupo escribible.

Existe un problema potencial al utilizarlo rootcomo propietario si root luego agrega elsetuidbit a un archivo, pero creo que solo el propietario puede hacerlo. Si está realmente preocupado, cree un usuario ficticio, pero no uno que coincida con el grupo. Uno que no tiene privilegios pero que nadie puede utilizar.

Hay otro problema con los usuarios que crean nuevos archivos, que de forma predeterminada serán de su propiedad. Podrán cambiarlo al grupo correcto, lo que hará que otros puedan acceder al archivo, pero no podrán cambiar el propietario. Por esa razón, y porque la gente puede olvidarlo, es posible que desee ejecutarlo foo /some/directorya intervalos regulares o en momentos oportunos (por ejemplo, cuando nadie haya iniciado sesión, ya que cambiar la propiedad puede afectar el software que tiene el archivo abierto).

Teniendo en cuenta el último párrafo, se podría decir simplementeel dueño no importa en absoluto, sólo el grupo es importante. En ese caso el foocomando debería usar:

chgrp -R groupx $1

en lugar de chown.

donde debo poner los archivos

Crear un /home/groupxestá absolutamente bien incluso si groupxes un grupo y no un usuario. El único problema potencial sería si luego crea un usuario con el mismo nombre, pero no quiere eso de todos modos. Coloque los archivos allí y foo /home/groupx.

Si no desea que los usuarios puedan crear archivos, configure el directorio 755. Aún podrán modificar archivos propiedad de su grupo.

Respuesta2

Por lo general, en esta situación, los archivos serán propiedad de quien los guardó por última vez (o de quien los creó, si se están editando con un programa que modifica el archivo existente en lugar de crear una nueva versión). Si está creando un conjunto de archivos iniciales, los dejaría como propiedad de su cuenta, a menos que esté generando datos para un grupo al que no pertenece, en cuyo caso root es tan bueno como cualquier otro. Pero no es gran cosa.

No existe una convención ampliamente aceptada para los datos que no forman parte del sistema ( /usr, /var, /bin, /sbin, /lib, /etc) ni de los directorios personales de los usuarios ( /home). Puede crear otros directorios en /homeo puede colocarlos en otro lugar. /srvEn principio es para los datos utilizados por los servidores, pero como administrador del sistema, eres libre de poner lo que quieras allí. /net/MACHINENAMEes una opción popular para "datos varios almacenados en MACHINENAME" en redes donde las máquinas exportan sistemas de archivos entre sí.

información relacionada