Page 1 sur 1

[Nouveau groupe] comment l'activer ...? [Résolu]

Publié : ven. 22 août 2008, 06:09
par Logicien
Br,
il me semble avoir lu qu'il est possible d'ajouter un utilisateur à un groupe et de rendre possible l'utilisation immédiate de ce groupe par l'utilisateur sans qu'il aie à redémarrer sa session. Quelqu'un sait-il comment faire?

Re: [Nouveau groupe] comment l'activer en cours de session?

Publié : ven. 22 août 2008, 09:21
par chipster
Logicien a écrit :Br,
il me semble avoir lu qu'il est possible d'ajouter un utilisateur à un groupe et de rendre possible l'utilisation immédiate de ce groupe par l'utilisateur sans qu'il aie à redémarrer sa session. Quelqu'un sait-il comment faire?
Ça ne marche que pour les consoles ça et pas sur l'intégrité de l'utilisateur en cours. Autrement redémarrer, ce n'est pas franchement nécessaire. Tu fermes la session et tu l'as réouvres et c'est bon

Publié : ven. 22 août 2008, 11:54
par tuxce
sinon, en console, c'est

Code : Tout sélectionner

newgrp nome_groupe
pour avoir un nouveau shell et

Code : Tout sélectionner

sg nom_groupe 'commande'
pour juste lancer la commande avec le groupe

Publié : ven. 22 août 2008, 18:18
par Logicien
Merci tuxce et chipster. C'était la commande newgrp que je cherchais. Je ne connaissais pas la commande sg. Avec ça, je devrais être capable de mettre à jour 'dynamiquement' les modifications à /etc/group.

Publié : ven. 22 août 2008, 18:23
par tuxce
Logicien a écrit :Avec ça, je devrais être capable de mettre à jour 'dynamiquement' les modifications à /etc/group.
ca met rien à jour, ca permet juste de lancer une commande avec un groupe donné en tant que groupe primaire

Publié : ven. 22 août 2008, 19:15
par mélodie
Il y a aussi gpasswd pour gérer les groupes.
En mode root:
gpasswd -a user group → ajoute un utilisateur à un groupe

gpasswd -d user group → retire un utilisateur d'un groupe

Et il n'y a rien à redémarrer, c'est fonctionnel tout de suite, il me semble.
tuxce a écrit :ca met rien à jour, ca permet juste de lancer une commande avec un groupe donné en tant que groupe primaire
Pourrais-tu me donner un exemple, en indiquant dans quel cas ça peut être utile, s'il te plaît ?

Publié : ven. 22 août 2008, 20:05
par tuxce
newgrp et sg suppose que l'utilisateur fait partie du groupe que tu veux utiliser.
gpasswd n'affecte pas le shell en cours, il ne fait que modifier /etc/group
mélodie a écrit : Pourrais-tu me donner un exemple, en indiquant dans quel cas ça peut être utile, s'il te plaît ?
http://tuxce.blogspot.com/2008/02/lance ... roupe.html

Publié : ven. 22 août 2008, 22:52
par Logicien
Si je comprend, newgroup change le groupe de base d'un utilisateur, il ne met pas à jour tous les nouveaux groupes auxquels l'utilisateur à été ajouté. Pour ça, il faut réouvrir sa session et non pas redémarrer l'ordinateur évidemment.

(man newgrp)

Publié : ven. 22 août 2008, 23:04
par mélodie
Logicien a écrit :Si je comprend, newgroup change le groupe de base d'un utilisateur, il ne met pas à jour tous les nouveaux groupes auxquels l'utilisateur à été ajouté.
newgrp ! La syntaxe ! :)
Pour ça, il faut réouvrir sa session et non pas redémarrer l'ordinateur évidemment.
Pas forcé, tu peux aussi ouvrir une console graphique ou une console virtuelle (Ctrl+Alt+F2 ou F3 etc... ). À ce moment là c'est uniquement dans le shell dans lequel la commande aura été lancée que le groupe principal de ton utilisateur aura été changé.

tuxce, merci, j'ai bien lu ton article. Je ne vois pourtant toujours pas ce que ça change, ce que ça apporte de particulier saurais-tu en dire plus ?

par exemple:
En quoi :
$ sg network 'qemu -kernel-kqemu disque_qemu.img -net nic -net tap,ifname=tap0,script=no -m 256'

t'apporte-t-il quelque chose que:

$ qemu -kernel-kqemu disque_qemu.img -net nic -net tap,ifname=tap0,script=no -m 256

ne fait pas ?

(déjà je ne sais pas ce que qemu fait de spécial avec l'interface réseau, ou/et autre, dans cette ligne de commande)

/Oui, je sais, je suis trop une newbie. :cry:

Publié : ven. 22 août 2008, 23:15
par tuxce
Logicien a écrit :il ne met pas à jour tous les nouveaux groupes auxquels l'utilisateur à été ajouté.
qu'est ce que tu veux dire par là, c'est quoi "mettre à jour" ?
mélodie a écrit : tuxce, merci, j'ai bien lu ton article. Je ne vois pourtant toujours pas ce que ça change, ce que ça apporte de particulier saurais-tu en dire plus ?
le truc le plus important est:
tuxce a écrit : $ id
uid=1000(tuxce) gid=1000(tuxce) groupes=10(wheel),19(log),90(network),91(video),92(audio),93(optical),100(users),1000(tuxce)
$ sg network id
id=1000(tuxce) gid=90(network) groupes=10(wheel),19(log),90(network),91(video),92(audio),93(optical),100(users),1000(tuxce)
mélodie a écrit : par exemple:
En quoi :
$ sg network 'qemu -kernel-kqemu disque_qemu.img -net nic -net tap,ifname=tap0,script=no -m 256'

t'apporte-t-il quelque chose que
j'ai pris la commande avec laquelle je venais de découvrir "sg"
en fait qemu avec l'option "-net tap..." utilise le périphérique /dev/tun
j'avais mis ce dernier avec les droits "root.network"
étant donné que qemu y accède avec le groupe primaire de l'utilisateur, il fallait donc avoir "network" comme groupe principal pour que qemu se lance, d'où le "sg network..."

maintenant supposons que tu viens de te rajouter aux groupe log par exemple en tapant:

Code : Tout sélectionner

sudo gpasswd -a melodie log
si tu essais de lister les log juste après avec

Code : Tout sélectionner

tail -f /var/log/messages.log
ca échouera, il te faut relancer un shell ou provisoirement lancer:

Code : Tout sélectionner

sg log 'tail -f /var/log/messages.log'

Publié : sam. 23 août 2008, 00:23
par mélodie
tuxce a écrit :
Logicien a écrit :il ne met pas à jour tous les nouveaux groupes auxquels l'utilisateur à été ajouté.
qu'est ce que tu veux dire par là, c'est quoi "mettre à jour" ?
Je crois comprendre qu'il veut dire que le fichier /etc/group n'a pas bénéficié de modifications, telles que celles que "gpasswd -a user group" va générer.

C'est ça Logicien ?
tuxce a écrit :maintenant supposons que tu viens de te rajouter aux groupe log par exemple en tapant:

Code : Tout sélectionner

sudo gpasswd -a melodie log
si tu essais de lister les log juste après avec

Code : Tout sélectionner

tail -f /var/log/messages.log
ca échouera, il te faut relancer un shell ou provisoirement lancer:

Code : Tout sélectionner

sg log 'tail -f /var/log/messages.log'
Ok, j'ai compris maintenant ! Merci tuxce ! :D

Publié : sam. 23 août 2008, 01:07
par Logicien
Par mettre à jour, activer ou actualiser les nouvelles permissions d'un utilisateur, je veux dire que le système relit le contenu de /etc/group et ajuste en conséquence les permissions, pour les applications déjà ouvertes et à ouvrir, sans que j'aie à redémarrer la session. Ça serait dynamique.

Par exemple, j'ouvre une session dans un terminal en mode texte et je ne suis pas dans le groupe vboxusers. Je fais startx et ouvre VirtualBox, je ne peux pas lancer de machine virtuelle, du fait que je ne suis pas dans le groupe vboxusers. J'ajoute l'utilisateur qui a ouvert la session au groupe vboxusers en root en éditant /etc/group, sans relancer la session, c'est-à-dire, sans fermer la session graphique, sans faire exit dans le terminal texte et sans me connecter de nouveau. Autrement dit, en gardant ma session actuelle ouverte. Les permissions restent telles quelles étaient quand j'ai ouvert la session depuis le terminal texte pour toutes les applications ouvertes et à ouvrir, sauf par exemple, si je lance VirtualBox dans un nouveau shell graphique qui lui, a lu /etc/group et utilise les nouvelles permissions. En gros c'est ce que permet de faire la commande sg.

Il est peut-être mieux que root utilise la commande gpasswd tel que proposé par mélodie ou que l'utilisateur exécute la commande

Code : Tout sélectionner

newgrp -
qui réinitialise sa session, quand les groupes auxquels il appartient ont changés pendant que sa session est ouverte. En tous cas, j'ai plus de chances de ne pas avoir à relancer la session pour que les permissions s'actualisent complètement. Ça semble de toutes façons impossible à réaliser sans relancer les applications déjà ouvertes avec les anciennes permissions, dont le Bash du terminal texte. Idéalement, je préfère que les permissions des utilisateurs sont au point avant même qu'ils se connectent au système.

Publié : sam. 23 août 2008, 09:50
par mélodie
On ne *doit pas* éditer /etc/group directement. C'est le rôle de gpasswd d'écrire dans ce fichier.

Et tu n'as plus besoin de relancer une session, maintenant que tu sais qu'il te suffit de t'ajouter au groupe vboxusers (si tu as créé ce groupe) et de lancer:

Code : Tout sélectionner

sg vboxusers 'virtualbox options'
(par exemple, en suivant les explications données par tuxce, ou avec 'newgrp', ou 'newgrp -', en effet).

Publié : sam. 23 août 2008, 17:06
par Logicien
On ne *doit pas* éditer /etc/group directement.
Je suis d'accord pour celles et ceux qui ne savent pas ce qu'ils font. Je n'ai jamais eu de problème à le faire. Les commandes sg et newgrp sont effectivement des outils très pratiques tant qu'on n'a pas relancé sa session. Bonjour.

:D

Publié : sam. 23 août 2008, 17:50
par tuxce
l'édition de ces fichiers nécessite quand même des précautions
dans la plupart des cas, ca ne pose pas de problème mais mieux vaut utiliser les bons outils, en l'occurence, pour éditer les groupes directement, c'est

Code : Tout sélectionner

vigr
vipw pour /etc/passwd, et visudo pour /etc/sudoers
ces commandes mettent des verrours pour éviter toutes corruption.

Publié : sam. 23 août 2008, 18:25
par mélodie
tuxce a écrit :en l'occurence, pour éditer les groupes directement, c'est

Code : Tout sélectionner

vigr
vipw pour /etc/passwd, et visudo pour /etc/sudoers
ces commandes mettent des verrours pour éviter toutes corruption.
Et gpasswd est supposé avoir quelle utilité ? :oops:

Publié : sam. 23 août 2008, 19:33
par tuxce
gpasswd avec usermod, passwd ... evite les erreurs et est à préconiser ;)
j'ai juste indiqué la commande pour éditer proprement si on tient à éditer directement les fichiers.

Publié : dim. 24 août 2008, 16:18
par Logicien
Je ne connaissais pas vigr et vipw, mais j'utilise déjà visudo. Merci encore tuxce, ça fait maintenant 4 nouveaux outils que j'ai à ma disposition depuis que j'ai lancé ce message. :!: