GNU/Linux >> Znalost Linux >  >> Linux

Jak Správce souborů připojí externí disk bez Sudo?

Přemýšleli jste někdy, proč sudo nebo root povolení je vyžadováno připojit externí disk nebo oddíl jako normální uživatel z Terminálu, ale ne ze správce souborů v Linuxu? Jak již víte, musíte být uživatelem sudo, abyste mohli zobrazovat, připojovat a přistupovat k vyměnitelným médiím (např. externí pevné disky, USB klíče, optické disky a digitální fotoaparáty) z příkazového řádku. Ale jak může grafický správce souborů (např. Nautilus) připojit tato vyměnitelná úložná zařízení bez root nebo sudo? V tomto stručném návodu vysvětlím, jak správce souborů připojuje externí disky bez sudo nebo root oprávnění v Linuxu.

Jak může správce souborů připojit externí disk bez oprávnění sudo nebo root v Linuxu?

Správci souborů používají UDisks2 připojit externí disky bez práv správce. UDisks2 je 2. verze UDisks. UDisks je nyní zastaralý. Nyní GNOME, KDE a různá další desktopová prostředí používají UDisks2, aby běžným uživatelům umožnila připojit vyměnitelná média.

Projekt UDisks2 poskytuje systémového démona s názvem udisksd a nástroj příkazového řádku s názvem udisksctl .

udiskd démon běží na pozadí a implementuje dobře definovaný D-Bus rozhraní, která lze použít k dotazování a manipulaci s úložnými zařízeními. udiskd spouští se automaticky při startu systému a běží jako root po celou dobu. Můžete to ověřit pomocí příkazu:

$ sudo systemctl status udisks2

Ukázkový výstup:

● udisks2.service - Disk Manager
     Loaded: loaded (/lib/systemd/system/udisks2.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-09-09 12:09:21 IST; 3h 9min ago
       Docs: man:udisks(8)
   Main PID: 978 (udisksd)
      Tasks: 5 (limit: 9336)
     Memory: 9.3M
     CGroup: /system.slice/udisks2.service
             └─978 /usr/lib/udisks2/udisksd

Sep 09 12:08:51 ostechnix systemd[1]: Starting Disk Manager...
Sep 09 12:09:00 ostechnix udisksd[978]: udisks daemon version 2.8.4 starting
Sep 09 12:09:21 ostechnix udisksd[978]: Acquired the name org.freedesktop.UDisks2 on the sy>
Sep 09 12:09:21 ostechnix systemd[1]: Started Disk Manager.

udisksctl Obslužný program CLI se používá k dotazování a použití démona. Akce, které může uživatel provádět pomocí udisků, jsou omezeny pomocí Polkitu . Polkit je sada nástrojů na aplikační úrovni pro definování a zpracování oprávnění. Umožňuje neprivilegovaným procesům mluvit s privilegovanými procesy.

Protože UDisks již běží jako root, umožňuje neprivilegovaným programům (např. správcům souborů) připojovat nebo odpojovat úložná zařízení bez oprávnění sudo nebo root. Takto správci souborů připojí externí disk bez administrátorských práv.

Můžete si to sami vyzkoušet připojením USB disku jako běžný uživatel pomocí udisksctl příkaz jako níže:

$ udisksctl mount -b /dev/sdc1

Nebo,

$ udisksctl mount --block-device /dev/sdc1

Nahraďte /dev/sdc1 s názvem vašeho zařízení.

Ukázkový výstup:

Mounted /dev/sdc1 at /media/sk/ventoy.

Podobně můžete USB disk odpojit pomocí příkazu:

$ udisksctl unmount -b /dev/sdc1

Nebo,

$ udisksctl unmount --block-device /dev/sdc1

Ukázkový výstup:

Unmounted /dev/sdc1.

Pokud jste někdy hledali způsob, jak bezpečně umožnit běžným uživatelům připojovat souborové systémy bez oprávnění superuživatele v Linuxu, doporučujeme Udisk2!

Související čtení:

  • Jak najít typ připojeného souborového systému v Linuxu

Nevěděl jsem, že připojování a odpojování jednotek bez povolení sudo je možné, dokud jsem nenarazil na tuto otázku na Redditu.

Doufám, že jste se dnes naučili něco užitečného.

Doporučený obrázek Jessica Lewis od Pexels .


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

  2. Jak nainstalovat Nemo File Manager?

  3. Získání propojení Správce souborů s Diskem Google?

  1. Jak připojit soubor iso v Linuxu

  2. Jak připojit k souboru jako sudo?

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

  1. Jak nainstalovat na Macbook Air 3,2 bez externí jednotky CD?

  2. Jak automaticky připojit externí pevný disk?

  3. Jak připojit soubor ISO v Linuxu?