restreindre les permissions des counts des étudiants, donner access à la faculté

J'ai mis en place deux groupes d'users, étudiants et professeurs sur Ubuntu 12.04 et créé un certain nombre d'étudiants et de professeurs. Le problème est qu'un étudiant peut actuellement voir et lire tous les files d'un camarade de class: – /

Je voudrais empêcher les étudiants de voir / lire les directorys / files de chacun, mais permettre à un membre du groupe de la faculté d'accéder librement aux groupes d'étudiants.

Je ne sais pas comment s'y prendre, est-ce que quelqu'un peut donner des conseils sur la façon de mettre en œuvre cette politique? Je sais comment définir / modifier des groupes, mais pas comment limiter la politique à ce qu'ils peuvent faire / voir. (J'ai été un user Linux pendant un certain time, mais administrer plus que mon propre count est nouveau pour moi)

En outre, devrais-je changer le umask pour tous les counts d'étudiant pour m'assurer que cette politique ne soit pas contournée avec de nouveaux files / directorys que les étudiants créent par la suite?

Est-ce que j'exécuterais chmod go-rx /home/* en tant que root sur chaque annuaire d'étudiant pour accomplir cet objective, ou est-ce que je vais dans le mauvais sens?

MISE À JOUR : Juste pour clarifier, mon but est d'avoir ceci en tant que configuration par défaut, je ne m'attends pas à empêcher les étudiants avertis / curieux de changer leurs propres permissions – et je suis prêt à vivre avec cela.

    Je pense que je tenterais de le faire en utilisant les ACL. La seule autre méthode que je peux concevoir de le faire serait la suivante.

    1. Créer 2 groupes d' students et de faculty
    2. Dir de la maison de chaque user. serait comme ça:

       drwxrws---. 253 student1 faculty 32768 Nov 29 16:39 student1 

      Cela permettrait à quiconque dans le groupe de la faculty accéder au directory de student1 , mais personne d'autre, sauf le propriétaire, student1 .

    3. chown -R student1.faculty / home / student1

    4. find / home / student1 -type d -exec chmod ug + rwx, g + s, o-rwx {} +

    Le problème avec cette approche est qu'il peut être un peu fragile si le propriétaire était en désordre avec la propriété du groupe, ou était de mv files dans ce directory. Seuls les files / directorys nouvellement créés conserveraient les propriétés + bit setgid.

    Cette configuration nécessite que tous les files / directorys préexistants sous / home doivent être ajustés en utilisant les étapes 3 et 4 ci-dessus.

    ACL

    Comme je l'ai dit plus haut, je pense que je le ferais toujours en utilisant les ACL. Je voudrais consulter ce tutoriel sur les lists de contrôle d'access, intitulé: Utilisation des ACL avec Fedora Core 2 (Linux Kernel 2.6.5) . Le titre le rend daté mais les commands sont toujours pertinentes.

    Ce que vous devriez considérer lors de la configuration de telles permissions granulaires est de mettre en place des lists de contrôle d'access , ce qui vous donnera la possibilité d'activer l'access à l'user + faculté.

    Il y a beaucoup de pages man sur les commands setfacl et getfacl qui vous permettront de configurer correctement.

    La première chose est de créer deux groupes d' students et de faculty et de s'assurer que tous les étudiants et membres du corps professoral sont dans leur groupe approprié. Faites-en un groupe secondaire: laissez la configuration par défaut où chaque nouvel user obtient son propre groupe dédié.

    Changez le umask par défaut afin que tous les files soient privés par défaut. Changer la ligne UMASK dans /etc/login.defs à 027 (c.-à-d. L'user peut tout, le groupe peut lire, les autres ne peuvent rien). De cette façon, tous les files seront privés par défaut.

    Cela aidera également à placer les directorys personnels des étudiants sous un directory dédié; Par exemple, si Alice est un membre du corps professoral et Bob est un étudiant, faites leurs directorys personnels respectifs /home/faculty/alice et /home/students/bob .

    Vous pouvez donner à la faculté un access discrétionnaire aux directorys des étudiants en définissant une list de contrôle d'access dans les directorys des étudiants. Pour accorder au groupe faculty access en lecture à tous les files des étudiants et pour accorder également l'access aux files nouvellement créés par défaut, exécutez la command

     sudo setfacl -R -d -mg:faculty:rX /home/students sudo setfacl -R -mg:faculty:rX /home/students 

    Les étudiants peuvent toujours rendre les files privés en modifiant explicitement leur mode (par exemple chmod go= somefile .

    Vous pouvez aller plus loin et donner à la faculté l'access en lecture obligatoire à tous les files. Je ne recommand pas de le faire, car les étudiants devraient avoir le droit d'avoir des dossiers privés. Si vous voulez vraiment organiser les choses de cette façon, consultez d'abord un avocat (même si les étudiants ne sont pas autorisés à utiliser ces appareils à titre privé, ce qui peut vous donner le droit de les expulser s'ils ne s'y conforment pas, mais pas nécessairement lire leurs mails privés). C'est-à-dire que c'est techniquement possible et pas si difficile: voir Utilisateur avec access en lecture à / home