Je sais que certains définissent des autorisations sur le système de fichiers (telles que www-data). Mais je ne comprends pas pourquoi cette question a été répondue avec succès en ajoutant un utilisateur au groupe "Vidéo".
La question est donc principalement de savoir ce que tous les groupes préconfigurés font dans Ubuntu. Plus raisonnablement, puisqu'il y en a beaucoup, quels groupes "spéciaux" existent et comment ou quand doivent-ils être utilisés?
Certains groupes autorisent l'accès aux fichiers ou aux répertoires, par exemple: le www-data
autorise l'accès aux fichiers Web ou le groupe adm
pour lire les fichiers dans /var/log
. Ceci est l'utilisation triviale.
Mais certains groupes autorisent l'accès à certains appareils. Par exemple, le groupe dialout
permet d'accéder aux ports série via des fichiers dans /dev
:
$ find /dev -group dialout -exec ls -ld {} \;
crw-rw---- 1 root dialout 4, 64 Jan 19 12:51 /dev/ttyS0
crw-rw---- 1 root dialout 4, 67 Jan 19 12:51 /dev/ttyS3
crw-rw---- 1 root dialout 4, 66 Jan 19 12:51 /dev/ttyS2
crw-rw---- 1 root dialout 4, 65 Jan 19 12:51 /dev/ttyS1
Ainsi, si vous êtes membre du groupe dialout
, vous pouvez utiliser les ports série en lisant et en écrivant dans le fichier de périphérique: echo "Hello world" > /dev/ttyS0
. Le groupe video
permet d'accéder au matériel vidéo.
Pour une description de chaque groupe, lisez le fichier: /usr/share/doc/base-passwd/users-and-groups.html
EDIT sur le premier commentaire:
En fait, vous n'avez généralement pas besoin d'être dans ces groupes pour "accéder" aux ressources matérielles, du point de vue de l'utilisateur. La pratique habituelle consiste à ce qu'un démon/serveur le gère, en tant que membre du groupe le plus restrictif, puis en vous permettant d'accéder au démon/serveur.
Dans votre cas, être membre du groupe video
permet un accès direct au matériel graphique, et non via le serveur X. Habituellement, sur un ordinateur de bureau ou un ordinateur portable, il est agréable d’avoir un accès direct au matériel graphique (glxinfo | grep "direct rendering"
).
Remarque secondaire, si vous avez un rendu direct mais que vous n'êtes pas membre du groupe video
(id | grep --color video
), vous avez été autorisé à accéder au matériel par un acl du fichier /dev
(find /dev/ -group video -exec getfacl {} \; | grep $USERNAME
).
En général, le concept de séparation des groupes se rapporte à ceci:
http://en.wikipedia.org/wiki/Principle_of_least_privilege
Il semble absurde d'avoir tous ces groupes jusqu'à ce que vous réalisiez que l'alternative serait un niveau commun unique de privilèges élevés (ex. Sudo/root) qui constituerait un cauchemar pour la sécurité.
La plupart des groupes présentés dans votre publication existent de sorte que différents éléments du système d'exploitation puissent accéder à des fonctionnalités communes avec le moins de privilèges. L'utilisateur ne devrait pas trop s'inquiéter de cela. Lors de certaines tâches administratives, vous devrez peut-être utiliser vos comptes personnels pour accéder à certaines fonctionnalités. Cela est généralement fait en utilisant Sudo pour des tâches ponctuelles courtes et en vous ajoutant à un groupe spécifique pour des tâches répétitives.