¿Dónde debo colocar los archivos compartidos grupales en un sistema Linux?

14

Estoy migrando una gran cantidad de pequeños scripts personalizados y datos de un sistema Linux a otro.

En el sistema anterior, teníamos un usuario compartido que poseía la mayoría de los archivos y estaban ubicados en esos usuarios /home, pero en el nuevo preferimos iniciar sesión con nuestras propias cuentas y usar permisos de grupo para colaborar, pero como no habrá un único propietario de los archivos, no hay /home-dir.

Entonces, ¿dónde debo poner esos archivos compartidos? ¿Debo crear un usuario sin inicio de sesión que posea los archivos? ¿O hay un /grouphomelugar adecuado ?

(No quiero distribuirlos en usuarios individuales /home: s.)

Daniel
fuente
¿Qué tipo de archivos son?
Dan Carley
La mayoría son scripts de importación con diferentes tipos de datos asociados que deben filtrarse e importarse a las bases de datos.
Daniel
Me gusta / grouphome. El usuario sin inicio de sesión que posee la idea de los archivos también es bueno.
pjc50

Respuestas:

15

Seguramente sugeriría usar /usr/local.

Se pueden colocar scripts de usuario accesibles globalmente /usr/local/bin. También podrían entrar pequeñas cantidades de datos asociados bin. O puede desear separar los datos en /usr/local/varo /usr/local/share.

Al hacer esto, estará bastante seguro de que cualquier persona familiar de FHS podrá localizarlos con bastante rapidez sin ningún conocimiento previo del sistema en particular.

Dan Carley
fuente
3
(+1) Para referencia futura de qué poner dónde: pathname.com/fhs/pub/fhs-2.3.html
Kyle Brandt
Gracias a los dos. /usr/localque sea En realidad, fue una de mis primeras opciones, pero la descripción del propósito de /usr(solo lectura) en el artículo sugerido me alejó de esa idea. Supongo que debería haber seguido leyendo /usr/local.
Daniel
7

Es exactamente el tipo de cosas para las que están diseñados los derechos de grupo. Así es como lo hago en Ubuntu:

sudo mkdir /home/shared
sudo addgroup shared
sudo chown :shared /home/shared
sudo chmod 770 /home/shared
sudo vim /etc/group

Agregue la lista de usuarios que deben tener acceso al directorio compartido al grupo compartido. Por ejemplo:

shared:x:1002:norman,nextuser,and,so-on

Por supuesto, puede usar cualquier nombre que no sea 'compartido' y no tiene que estar en el directorio / home. Lo bueno es que no necesita hacer nada especial en las cuentas de los usuarios y puede agregar o eliminar fácilmente usuarios del grupo.

más simple
fuente
Gracias por el voto negativo. Pero me gustaría saber lo que he escrito que es incorrecto.
simple
también configure el bit fijo del grupo, de modo que el grupo esté configurado para los nuevos archivos creados. chmod g+s /home/shared
jris198944
1
@ jris198944 ses para bits SUID y GUID, tes para bits fijos . Verifique dos veces antes de publicar, por favor ;-) Ver: unix.stackexchange.com/a/79401/136321 .
hoja
1

La respuesta corta es; Donde quieras :)

Me gusta usar algo como / proyectos, / compartido o / común. / home / trabajos compartidos también.

Roy
fuente
Gracias. Corto y agradable, pero a veces es más fácil si no tienes que decidirte ... ¿Sería compatible con FHS poner mi propio directorio justo debajo /? ¿Cuándo (si es que importa) importa? No tengo suficiente experiencia para darme cuenta de las implicaciones de mi elección.
Daniel
Esas son realmente solo convenciones. Otros programas que buscan cosas miran en estas ubicaciones predefinidas. Los directorios bin ya estarán en su $ PATH, por lo que no tendrá que especificar el nombre completo de la ruta para ejecutar el script. Otros administradores pueden esperar que estén allí. Probablemente no importe realmente en su caso, pero los buenos hábitos son buenos :-)
Kyle Brandt
Hay una serie de convenciones aplicables en entornos UNIX. El FHS es una buena línea de base, pero es bastante común desviarse de este estándar. Por ejemplo, la arquitectura flexible óptima para los servidores de bases de datos Oracle usa / u * (/ u01, / u02) para los datos de los usuarios locales, mientras que Ubuntu, entre otros, usa / media para los puntos de montaje de medios extraíbles. Mientras tenga una convención que acuerde internamente en su entorno operativo, no debería haber ningún problema.
Roy
0

Yo uso /shares; esta es también la ubicación que usa qnap.

En /sharesTengo un enlace simbólico al destino en una carpeta llamada /shares/.mnt/donde tengo las unidades de datos montadas.

Esto se hace para evitar largos tiempos de espera al mover archivos entre recursos compartidos cuando se usan enlaces /sharesduros en los que se necesitan cuando las unidades de datos solo se montan en / mnt.

/shares/.mnt no se comparte, por cierto.

Jeroen
fuente