Fondamentalement, je veux que le nouvel utilisateur ne dispose que de quelques autorisations - ne peut pas lire les répertoires personnels des utilisateurs normaux, ne peut lire ou écrire des fichiers que dans un seul répertoire (ne peut lire ou écrire que /home/user/
... ne sait ni lire ni écrire /home/me/
ou lire ou écrire /home/someoneelse/
. C'est une configuration courante pour les écoles et les universités qui exécutent des réseaux Windows. Il semble que cela devrait être simple dans Ubuntu.
Je ne sais rien des "autorisations d'utilisateur invité" de cet autre système d'exploitation, mais pour Ubuntu, vous pouvez créer des utilisateurs avec tous les privilèges que vous souhaitez. Par contre, il existe une "session invité" accessible à partir d'une session déjà démarrée. Les deux sont décrits ici .
Outre les autorisations que vous accordez aux nouveaux utilisateurs que vous créez, je vous conseille de définir vos autorisations d'accès à vos répertoires personnels de votre côté (d'une manière positive, dans un certain sens; en définissant vos règles pour votre répertoire lui-même; ne le faites pas s'appuyer sur la situation "moins privilégiée" des utilisateurs invités.) Pour ce faire, accédez à/home, cliquez avec le bouton droit sur le répertoire de base que vous souhaitez définir, accédez aux propriétés, accédez aux autorisations et définissez-les comme vous le souhaitez. Cela peut également être fait via la ligne de commande.
Dans ubuntu, la plupart des fichiers peuvent être lus par n'importe qui et les fichiers ne peuvent être écrits/modifiés que par le propriétaire.
Les autorisations d'écriture sont donc correctes par défaut. Si vous souhaitez modifier les autorisations de lecture: procédez comme suit:
Supposons que vous ayez un fichier\home\user\file.txt, qui dispose des autorisations normales. Si vous exécutez
cd /home/user
ls -l file.txt
vous verrez quelque chose comme
-rw-r--r-- 1 user group 45655 2010-01-16 17:21 file.txt
Ça signifie:
Le groupe par défaut est le groupe qui n'a que "utilisateur" comme membre. Il vous suffit donc de modifier l'autorisation r pour quelqu'un d'autre, procédez comme suit:
cd /home/user
chmod o-r file.txt
Si vous exécutez maintenant
ls -l file.txt
tu devrais voir
-rw-r----- 1 user group 45655 2010-01-16 17:21 file.txt
Le dernier "r" est donc supprimé. Vous pouvez utiliser des caractères génériques dans votre commande comme
chmod o-r f*
changera tous les fichiers commençant par "f". Si vous souhaitez l'utiliser sur un répertoire complet, y compris tous les sous-répertoires, vous devez ajouter le paramètre '-R' (récursif):
chmod o-r -R /home/user
supprimera les droits de lecture du répertoire complet/home/user pour chaque utilisateur qui n'est pas le propriétaire ou le groupe.
Je ne recommande pas de changer les répertoires système, mais si vous le faites, vous devrez ajouter "Sudo" avant votre commande. Il n'y a pas d'informations importantes dans les répertoires système, donc les avoir inscriptibles est suffisant.
réponse finale:
Sudo chmod o-r -R /home/*
Vous pouvez utiliser mask de telle sorte que les autorisations de fichier soient définies pour autoriser uniquement les propriétaires de fichiers à accéder automatiquement à leurs fichiers.
Vous pouvez également utiliser attributs étendus .
Et je suppose qu'il devrait également être possible de protéger une session invité avec des technologies comme SELinux ou AppArmor.