4 votes

Meilleures pratiques UID == GID ?

Je suis en train de mettre en place une boîte RH Linux pour l'enseignement. Dans le passé, j'ai eu deux groupes, faculty y students . Chaque compte d'étudiant a été affecté au groupe primaire students , l'instructeur faculty .

Je lisais Nemeth et al. Unix and Linux System Admin (4ème édition) et ils recommandent que le groupe principal de chaque compte soit le même que l'identifiant de l'utilisateur.

Qu'est-ce qui est préférable ?

  • Configurez les comptes des étudiants avec le même groupe primaire que celui de leur (c.-à-d., uid == gid), puis ajoutez-les à un groupe de students groupe ?

  • Ou dois-je simplement ajouter tous les étudiants au départ à la base de données des students comme je l'ai fait dans le passé ?

S'agit-il de la même chose sur le plan sémantique ?

Surtout en termes de sécurité. Je prévois de rendre certains exemples de code/fichiers lisibles par tous les étudiants, mais je veux évidemment éviter que les étudiants puissent facilement jeter un coup d'œil dans les répertoires des uns et des autres.

5voto

Austin Hemmelgarn Points 7834

Si vous souhaitez que les étudiants ne puissent pas accéder aux fichiers des autres, deux possibilités s'offrent à vous :

  1. Utiliser des GID par utilisateur (UID == GID) et fixer l'umask par défaut à 0750.
  2. Fixer l'umask par défaut à 0700.

La première option est plus rapide à mettre en œuvre et beaucoup moins susceptible de causer des dégâts. Il faut toutefois garder à l'esprit qu'il n'existe aucun moyen pratique d'empêcher les gens d'autoriser intentionnellement d'autres personnes à accéder à leurs fichiers sans utiliser un système tel que SELinux.

4voto

De nombreuses distributions créent automatiquement un groupe primaire en même temps qu'un nouveau compte utilisateur. Par défaut, il utilise le prochain ID disponible, ce qui signifie généralement que l'UID d'un nouvel utilisateur sera égal à son GID, à moins que vous n'ayez précédemment créé un groupe auquel un GID automatique a été attribué, ou un UID sans son propre groupe primaire.

Dire UID==GID est donc une erreur, car sur de nombreuses machines multi-utilisateurs, l'UID peut ne pas correspondre au GID d'un utilisateur.

En général, tous les comptes d'utilisateurs sont également membres d'un groupe commun, généralement le groupe users(100) Ainsi, sur les systèmes où chaque compte a son propre groupe primaire, vous pouvez passer d'un paradigme à l'autre à la volée, par exemple par chown -R :users . les fichiers dans un dossier.

2voto

Tonny Points 26909

Il s'agit principalement d'une question de préférence personnelle.

Je me suis posé la même question il y a quelques années et j'ai fait des recherches sur le sujet.
Pour autant que j'aie pu le déterminer, il n'y a pas d'avantage majeur à l'une ou l'autre méthode. La plupart des grandes distributions Linux actuelles semblent adopter par défaut la méthode UID=GID. Certains autres systèmes Unix préfèrent encore l'autre méthode. Cela ne semble pas avoir d'importance tant que vous utilisez l'UMASK de manière appropriée. (750 est la norme pour GID=UID, 700 est préférable si plusieurs utilisateurs partagent le GID).

Certains logiciels peuvent supposer l'un ou l'autre, mais pour chaque logiciel qui préfère GID=UID, on peut trouver un autre logiciel qui veut l'inverse. Et il est toujours possible de faire fonctionner les choses par une utilisation créative de chown et de chgrp.

Dans certaines organisations, il se peut qu'il y ait une préférence pour le GID partagé, en raison de la façon dont les ressources réseau partagées sont configurées. (Permissions NFS ou la façon dont les permissions Unix sont mappées sur les ACL SMB).

Je suivrais donc le mouvement : Utilisez ce qui est prescrit dans votre organisation (s'il y a une telle règle) ou ce qui est par défaut sur votre distro de choix (pour minimiser les problèmes avec les applications qui supposent un certain système basé sur la distro utilisée).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X