Esiste un modo in Linux per aggiornare le proprietà dell'utente / del gruppo senza dover accedere nuovamente?


24

Dopo aver modificato / etc / group e ho aggiunto un utente ai gruppi a cui non apparteneva, l'utente non sarà in grado di utilizzare i privilegi appena acquisiti a meno che non inizi una nuova sessione.

Esiste un comando per aggiornare le proprietà utente / gruppo in una sessione in corso?


1
C'è un motivo per cui stai modificando il file a mano invece di usarlo useradd -G groupname username?
Bobby,

4
@Bobby: questo non farebbe differenza.
niXar,

Potresti cercare questa risposta .
Pablo A

Risposte:


16

A livello di kernel, l'appartenenza al gruppo è una proprietà di ogni processo. A meno che non abbia la capacità appropriata (CAP_SETGID se non sbaglio), vale a dire i privilegi di root a tutti gli effetti, un processo non può appartenere a un nuovo gruppo.

Un utente non esiste come oggetto a livello di kernel; lo fanno solo i processi (e i file). Un processo ha un uid (efficace e quant'altro) e un elenco di ID di gruppo.

Quando si aggiunge un utente a un gruppo, il kernel non ha idea di cosa significhi. Sa solo, indirettamente, che la prossima volta / bin / login o / usr / bin / newgrp verrà eseguito un processo con quell'ID utente avrà un nuovo ID gruppo nel suo elenco.

Quindi, per rispondere alla tua domanda, se stai parlando di una sessione di Gnome o KDE, devi davvero riavviarla. Oppure, se ti interessa solo il risultato di un comando per quel nuovo gruppo, puoi usare newgrp che ho appena menzionato. Inizierà una nuova shell con il gruppo appena aggiunto.


5

Ho già letto che il comando newgrp fa questo, ma solo per la shell corrente. Non sembra esserci un'alternativa migliore che disconnettersi e riconnettersi.


3
Quello che fa newgrp è in realtà avviare una nuova shell. Quindi, se ^ D da esso sei di nuovo al tuo vecchio guscio. Di solito faccio semplicemente "exec newgrp"
niXar il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.