GNU/Linux >> Znalost Linux >  >> Linux

Jak může správce souborů připojit disk bez root?

Uživatelé pracující na konzole grafické pracovní stanice si všimli, že několik programů lze spustit, aniž by zjevně potřebovali autentizaci uživatele root nebo heslo, jako je například restart. Tento proces zahrnuje chytré použití programu SUID /usr/sbin/userhelper použit v širším kontextu, než byl původně navržen.

Grafický uživatel spustí zprostředkující program s aliasem /usr/bin/consolehelper který autorizuje akce na základě specifické konfigurace PAM (Programmable Authentication Modules) a poté odešle příkaz do programu SUID, aby spustil uživatelský program s oprávněními. Pokud uživatel nemá odpovídající oprávnění, požadovaný program se spustí v prostředí Linux uživatele.

V současné době nasazený konfigurační soubor PAM potřebný pro restart obsahuje kontroly, zda je uživatel přihlášen ke konzole nebo zda je aktuálně spuštěn v prostředí root, aby se zabránilo požadavkům na hesla.


Používá udisky. (FUSE se však používá v případě síťových souborových systémů). Pro vaše experimentování jsou k dispozici rozhraní příkazového řádku k udiskům. V posledních verzích přichází s rozhraním příkazového řádku udisksctl .

udisksd běží jako root a přijímá požadavky uživatelů pomocí D-Bus.

udisksd používá PolicyKit PolKit rozhodnout, které požadavky jsou povoleny. Některé mohou vyžadovat zvláštní oprávnění, např. formátování interních disků. To může zahrnovat další ověřovací krok - podobný výzvě Windows UAC nebo sudo na příkazovém řádku. Nevím přesně, jak je zvláštní ověřování koordinováno.

Požadavky přes D-Bus jsou v současnosti zadávány pomocí Unixových soketů pomocí SCM_CREDENTIALS, které identifikuje proces, který požadavek podává.

Jedním z faktorů používaných při rozhodování je, zda je uživatel přihlášen lokálně nebo přes síť (např. ssh ). Domnívám se, že tyto informace poskytuje systemd-logind (ve spiknutí s pam-systemd ).


Linux
  1. Jak připojit soubor iso v Linuxu

  2. Jak mohu symbolicky propojit soubor v Linuxu?

  3. Jak mohu nainstalovat RPM, aniž bych byl root?

  1. Jak mohu zapisovat soubory na USB, aniž bych byl root?

  2. Jak mohu chown soubor na subuid bez sudo

  3. Jak fungují oprávnění k souborům pro uživatele root?

  1. Jak skrýt soubory a složky ve Správci souborů bez přejmenování

  2. Jak spustit konkrétní program jako root bez výzvy k zadání hesla?

  3. Jak připojit soubor obrázku bez root?