Příkaz id v Linuxu se používá k zobrazení skutečného a efektivního ID uživatele a ID skupiny uživatele.
V tomto tutoriálu vám ukážu, jak používat příkaz id v Linuxu, s některými z nejběžnějších a nejužitečnějších příkladů.
příkaz id v systému Linux
Toto je syntaxe příkazu id:
id [options] [username]
Pokud nezadáte uživatelské jméno, příkaz zobrazí podrobnosti o aktuálně přihlášeném uživateli.
id
Zde je výstup, který se mi zobrazil v Ubuntu Linux.
[email protected]:~$ id
uid=1000(abhishek) gid=1000(abhishek) groups=1000(abhishek),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),119(lpadmin),130(lxd),131(sambashare)
Ve výše uvedeném výstupu uživatel abhishek
má uid 1000 a gid 1000. To je primární skupina uživatele abhishek
ve výchozím nastavení patří do.
Kromě toho uživatel abhishek
je také členem určitých dalších skupin a tyto skupiny byly také zobrazeny ve výstupu.
Příklady příkazu id
Zde jsou nejběžnější možnosti pro příkaz id:
Možnost | Popis |
---|---|
-u | Vytiskněte skutečné ID uživatele |
-g | Vytiskněte skutečné ID skupiny |
-G | Vytisknout ID všech skupin, do kterých uživatel patří |
-n | Namísto ID tisknout jména (nutno kombinovat s -u, -g nebo -G) |
-r | Vytisknout skutečné ID namísto efektivních ID (nutno kombinovat s -u, -g nebo -G) |
Skutečný vs. efektivní uživatel a ID skupiny?
To by pro vás mohlo být matoucí. Když je uživatel vytvořen, je mu přiděleno uživatelské jméno, ID uživatele (uid), výchozí skupina a id této výchozí skupiny je gid pro daného uživatele. Toto je 'skutečné' ID uživatele a skupiny.
Protože v Linuxu mohou být procesy spouštěny jako jiný uživatel a skupina, existuje také druhá sada ID nazývaná efektivní ID.
Ve většině případů jsou skutečné a efektivní UID a GID stejné. Existují však situace, kdy běžný uživatel musí upravit privilegovaný soubor. Zde se používá efektivní koncept ID. Nejběžnějším příkladem je použití příkazu passwd ke změně hesla, který upravuje soubor /etc/passwd vlastněný rootem.
Nemohu se zde rozepisovat podrobně, ale doporučuji si o tom přečíst zde. Měli byste si také přečíst o oprávněních SUID, GUID a sticky bit v Linuxu.
1. Vytiskněte UID a GID určitého uživatele
Chcete-li vytisknout uid a gid a všechna ostatní ID skupiny uživatele, stačí zadat uživatelské jméno:
id username
Chcete-li získat požadované uživatelské jméno, můžete uvést všechny uživatele ve vašem systému Linux.
2. Vytisknout pouze UID uživatele
Můžete použít -u
možnost tisku UID v Linuxu. Jak již bylo zmíněno, pokud vynecháte uživatelské jméno, zobrazí se informace o přihlášeném uživateli.
id -u userame
Mějte na paměti, že zobrazuje pouze UID, číselnou hodnotu, nikoli název.
[email protected]:~$ id -u
1000
3. Vytisknout pouze GID uživatele
Podobně můžete použít volbu -g
vytisknout GID uživatele. Když říkám GID, je to číselné ID výchozí skupiny, do které uživatel patří.
id -g username
Opět se zobrazí pouze číselné ID skupiny.
[email protected]:~$ id -g nobody
65534
4. Vytiskněte ID všech ostatních skupin, do kterých uživatel patří
Uživatel může patřit do několika skupin. Toto je základní vlastnost souborového systému Linux. Můžete použít příkaz usermod a přidat ho do skupiny sudo, abyste mu dali práva root.
Můžete použít -G
možnost zobrazení ID všech skupin, do kterých uživatel patří.
id -G username
Toto také zobrazuje pouze ID.
[email protected]:~$ id -G abhishek
1000 4 24 27 30 46 119 130 131
5. Vytiskněte jména namísto číselných ID
Pouze číselná ID mohou být matoucí. Pokud chcete názvy, můžete zkombinovat -n
možnost pomocí -u
, -g
nebo -G
pro zobrazení jmen.
Pokud například chcete zobrazit všechny skupiny, do kterých uživatel patří, můžete to použít takto:
id -nG username
Pokud použiji předchozí příklad s volbou -n
zde je to, co ukazuje:
[email protected]:~$ id -nG abhishek
abhishek adm cdrom sudo dip plugdev lpadmin lxd sambashare
Bonusový tip:Vytiskněte si skutečná ID
Všechny výše uvedené příklady zobrazují efektivní ID. Téměř po celou dobu to bude skutečné ID.
Pokud se však chcete ujistit, že získáte skutečné ID, můžete zkombinovat volbu -r
s -u
, -g
nebo -G
.
Lze jej použít takto:
id -ru username
V pořádku! Myslím, že teď o příkazu id víte dost. Pokud máte dotazy nebo návrhy, neváhejte zanechat komentář.