web-dev-qa-db-fra.com

Comment puis-je créer un nouvel utilisateur avec l'équivalent des autorisations d'un utilisateur invité Windows?

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.

4
ixtmixilix

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.

2
marenostrum

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:

  • rw = autorisations de lecture et d'écriture pour l'utilisateur "utilisateur",
  • r = autorisations de lecture pour le groupe "groupe"
  • r = autorisations de lecture pour toute autre personne.

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
  • chmod = changer les modificateurs, changer les permissions
  • o = tous les autres (pas l'utilisateur et pas dans le groupe)
  • -r = supprimer l'autorisation de lecture

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/*
1
sanderd17

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.

0
JanC