GNU/Linux >> Znalost Linux >  >> Linux

Linux sysadmin základy:Správa uživatelských účtů s UID a GID

Stejně jako mnoho úkolů a povinností správce systému není správa uživatelských účtů jen jedna věc a neexistuje ani ve vzduchoprázdnu. Správa uživatelských účtů je trvalým pracovním aspektem a má mnoho aspektů:vytvoření účtu, odebrání účtu, manipulace s oprávněními, vypršení platnosti účtů, stanovení standardů hesel, vynucení zabezpečení, vynucení změn hesel a manipulace s UID a GID, aby byl systém organizován a podporovatelné. První část se zaměřila na užitečné příkazy. Tento aktuální článek se zabývá správou uživatelských ID (UID) a skupinových ID (GID).

Úvod do UID a GID

Ve výchozím nastavení systémy Linux automaticky přiřazují UID a GID novým uživatelským účtům v číselném pořadí od 1000. Jinými slovy, pokud během instalace vytvoříte nový uživatelský účet, bude mít UID =1000 a GID =1000, jak je uvedeno níže:

khess:x:1000:1000:Ken Hess:/home/khess:/bin/bash

Teorie za tímto svévolným přiřazením je, že cokoli pod 1000 je rezervováno pro systémové účty, služby a další speciální účty a běžné uživatelské UID a GID zůstávají nad 1000. Tato teorie je založena na předpokladu, že 999 čísel účtů minus několik před přiřazené budou více než dostatečné k uspokojení většiny systémů po mnoho let. Jako správce Linuxu po více než 20 let jsem osobně nikdy nevyčerpal prvních 999 čísel systémových účtů.

Účet root má úžasné privilegium mít UID =0 a GID =0. Tato čísla dávají účtu root jeho ohromující sílu. Pokud mi nevěříte, přejmenujte účet root na goonygoogoo , nebo cokoli jiného, ​​a pak vytvořte nový uživatelský účet s názvem root , což umožňuje systému přiřadit k němu další dostupné UID a GID. Tento účet nemá větší moc než jakýkoli jiný uživatelský účet v systému. Není to jméno, ale UID a GID, které dávají administrativnímu účtu jeho sílu. Chcete-li toto tvrzení dále otestovat, přiřaďte testovací uživatelský účet s 0 pro UID a GID a tento uživatel je nyní root bez ohledu na název účtu.

Jak můžete vidět ze seznamu níže, uživatelským účtům jsou (jak bylo uvedeno dříve) přidělovány UID a GID v číselném pořadí od 1 000. UID a GID se vždy shodují, aby bylo vše organizováno:

khess:x:1000:1000:Ken Hess:/home/khess:/bin/bash
msmith:x:1001:1001::/home/msmith:/bin/bash
mjones:x:1003:1003:Mary Jones:/home/mjones:/bin/bash
jjones:x:1004:1004:John Jones:/home/jjones:/bin/bash
djones:x:1005:1005:Don Jones:/home/djones:/bin/bash

V tomto nastavení není žádná magie. Systém to dělá. Nemusím se o to starat.

Ale co když jsou vaše zásady ohledně informací o uživatelích a skupinách odlišné? Je možné, že vaše společnost chce UID a GID přidělené na základě ID zaměstnance nebo nějakého jiného jedinečného identifikátoru (Doufám, že ne čísla sociálního zabezpečení, i když jsem toto číslo viděl v praxi.) Nebo co když chcete přiřadit konkrétní GID na základě rolí místo přidávání uživatelů do GID v /etc/group ? Cokoli z toho lze provést pomocí useradd příkaz z mého předchozího článku na toto téma, který pokrýval základy správy uživatelských účtů.

Následuje seznam uživatelů z /etc/group :

khess:x:1000:
msmith:x:1001:
mjones:x:1003:
jjones:x:1004:
djones:x:1005:

Přizpůsobení UID a GID

Správci, kteří chtějí přidat uživatele do jiných než primárních skupin, tak tradičně činí při vytváření účtu pomocí useradd pomocí nástroje -G přepínač. Nezapomeňte uvést všechny sekundární skupiny za -G přepínač, oddělené čárkami bez mezer. Následující příkaz umožňuje systému vybrat UID a primární GID z dalšího dostupného čísla, ale přidá uživatele jdoe sysadmin a helpdesk skupiny:

$ sudo useradd -G sysadmin,helpdesk jdoe

Pokud chcete určit primární skupinu pomocí -g přepínač, skupina již musí existovat. Pokud například zadáte následující příkaz:

$ sudo useradd -u 10600 -g 10600 -G sysadmin,helpdesk jdoe

Zobrazí se chyba "useradd:skupina '10600' neexistuje" a systém nevytvoří účet. Pokud musíte určit skupinu, přidejte nejprve skupinu:

$ groupadd 10600

$ sudo useradd -u 10600 -g 10600 -G sysadmin,helpdesk jdoe

Správa skupinových oprávnění

Když uživatelé vytvářejí soubory, vlastník uživatele získá oprávnění ke čtení (r) a zápisu (w), skupina získá oprávnění ke čtení a ostatní oprávnění ke čtení (rw-r--r--), nebo číselně 644. povolení k provedení (x) není standardně uděleno. Takže jako správce systému, pokud člen skupiny požaduje, aby bylo oprávnění ke spuštění umístěno na soubor nebo skupinu souborů, udělte oprávnění ke spuštění pouze pro skupinu:

$ sudo chmod g+x coolscript.sh

Uživatel může změnit oprávnění sám, pokud je vlastníkem uživatele, ale často tak neučiní ze strachu, že to udělá nesprávně. Pouze vlastník uživatele nebo uživatel root může změnit oprávnění k souboru, i když má skupina oprávnění k zápisu do souboru. Oprávnění k zápisu znamená, že člen skupiny může soubor upravovat nebo mazat.

Ujistěte se, že sdílené adresáře skupiny mají pro skupinu přístup pro zápis (oprávnění) a že soubory, které je třeba upravit členy skupiny, mají také oprávnění pro zápis. Někteří z vás, kteří mají pokročilejší znalosti oprávnění, se pravděpodobně ptají, proč nezmíním chattr (změnit atributy) a je to platná otázka. chattr příkaz je mimo rozsah tohoto článku, ale bude popsán v pozdějším článku, který se zaměřuje pouze na chattr a mnoho možností.

Koneckonců

Tento článek poskytuje krátké informace o atributech UID a GID a o tom, jak s nimi v případě potřeby manipulovat. Také jsem se trochu zabýval skupinovými oprávněními. V příštím článku se budu zabývat chattr příkaz, který vám dává možnosti, jak zabránit náhodnému smazání členy skupiny. Pokud chcete číst dopředu, dělejte to opatrně. chattr příkaz může být frustrující pro nové administrátory, kteří nejsou obeznámeni s jeho syntaxí a důsledky pro volby.

[Chcete vyzkoušet Red Hat Enterprise Linux? Stáhněte si ji nyní zdarma. ]


Linux
  1. Monitorování stavu a aktivity uživatele v Linuxu s GNU acct

  2. Linux Lab:SysAdmin 101

  3. 8 osvědčených postupů se sudo v Linuxu – co dělat a co nedělat sudo

  1. Základní správa uživatelů Linuxu

  2. Proměnné uživatelského prostředí S „su“ a „sudo“ v Linuxu

  3. Jak automaticky přidat uživatelský účet A heslo pomocí skriptu Bash?

  1. Správa balíků Linux pomocí apt

  2. 11 způsobů, jak najít informace o uživatelském účtu a přihlašovací údaje v systému Linux

  3. 4 způsoby, jak zakázat účet root v Linuxu