GNU/Linux >> Znalost Linux >  >> Linux

Potřebujete použít Newgrp nebo Su (nebo se odhlásit a znovu přihlásit), abyste mohli použít nové členství ve skupině?

Čím to je, že nové členství ve skupině vyžaduje nové přihlášení (nebo nový přihlašovací shell, jak to spustil su nebo newgrp ), aby byl viditelný?

Stačí spustit další instanci bash (nebo jakýkoli jiný shell) pomocí --login nefunguje, ale funguje něco, co je suid root jako su nebo newgrp.

Je něco zděděno z nadřazeného prostředí nebo uloženo v mezipaměti, co skrývá nové členství ve skupině?

Přijatá odpověď:

Když je vytvořen podřízený proces, ID uživatele procesu a ID skupiny se zdědí z jeho nadřazeného procesu.

Když tedy změníte skupiny uživatelů (ve skutečnosti změníte konfigurační soubory někde na disku), procesy si toho automaticky nevšimnou a nezmění svá ID skupin (procesy bez oprávnění root na to stejně nemají práva).

A když začnete bash... no, prostě začnete bash, nic zvláštního se nestane. Pouze zdědí ID skupiny rodičů (možná grafického prostředí nebo jiného bash).

Ale když spustíte su nebo se přihlásíte, stane se všechna kouzla. Kontrolují, zda se můžete přihlásit, a měnit jejich uživatelské ID a ID skupin (pomocí systémových volání, která mimochodem vyžadují efektivní root id – proto mají nastavený bit suid), aby všechny jejich podřízené procesy zdědily tato ID.


Linux
  1. Úvod do linuxových příkazů chgrp a newgrp

  2. Pomocí mount --bind Přesuňte webový a e-mailový adresář serveru ISPConfig 3 do nového adresáře

  3. Pomocí mount --bind Přesuňte webový a e-mailový adresář serveru ISPConfig 3 do nového adresáře

  1. Hašování hesel a proč to potřebujeme

  2. Jak nainstalovat a používat Flatpak v Linuxu

  3. Použít příkaz Grep a vyhledat?

  1. Antivirus na Linuxu:Měl bych jej skutečně používat a pokud ano, kdy jej potřebuji?

  2. Použijte SFTP a SCP

  3. Jak mohu použít xargs ke kopírování souborů, které mají v názvech mezery a uvozovky?