Z mojego zrozumienia, sesja Linuksa buforuje członkostwa w grupach przy logowaniu. Następnie, jeśli zostanie dodane nowe członkostwo w grupie (np. Za pomocą adduser someuser somegroup
), użytkownik musi się wylogować i zalogować ponownie, aby móc skorzystać z nowego członkostwa.
Moje pytanie brzmi: czy jest jakiś sposób na odświeżenie członkostwa w grupie w toku, bez konieczności ponownego logowania, wychodzenia z bieżącego procesu lub rozpoczynania nowego?
linux
permissions
Avdi
źródło
źródło
Nie wydaje mi się Ale możesz użyć tego
newgrp
polecenia, aby spawnować nową powłokę z nową grupą. To nie jest trwałe.Musisz ponownie zalogować użytkowników.
źródło
su
Inni wspominali „
su - $USER
” i „newgrp
”, i pomyślałem, że powinienem wspomnieć, że powinieneś także spojrzeć na „sg
”.źródło
Możesz to zrobić:
To domyślnie odświeża listę grup bez konieczności wychodzenia z terminala.
źródło
Możesz użyć
gpasswd
do natychmiastowej zmiany:Nie ma potrzeby tworzenia nowej powłoki lub ponownego logowania. Następnie sprawdź członkostwo grupy, używając
getent
:źródło
Co z tym (chociaż spełnia to tylko wymóg, że nie będziesz musiał ponownie logować się)
Flaga -l założy nową powłokę logowania, a exec zastąpi bieżącą powłokę nową. BTW, nie wpisuj błędnie nazwy powłoki :-)
Jednym z problemów z użyciem newgrp i su, jak sugerowano wcześniej, jest utworzenie nowej podpowłoki. Tak, możesz poprzedzić je również poleceniem exec.
źródło