Přidání uživatele ubuntu. Správa uživatelů. Přístup SSH blokovanými uživateli

Správa uživatelů je kritickou součástí udržování bezpečného systému. Neefektivní správa uživatelů a oprávnění často vede k ohrožení mnoha systémů. Proto je důležité, abyste pochopili, jak můžete chránit svůj server pomocí jednoduchých a účinných technik správy uživatelských účtů.

Vývojáři Ubuntu se svědomitě rozhodli zakázat účet administrátora root ve výchozím nastavení ve všech instalacích Ubuntu. To neznamená, že účet root byl odstraněn nebo že k němu nelze přistupovat. Pouze mu bylo přiděleno heslo, které neodpovídá žádné možné zašifrované hodnotě, a proto se sám nemůže přihlásit přímo.

Místo toho se uživatelům doporučuje, aby k provádění systémových administrativních povinností používali nástroj s názvem sudo. Sudo umožňuje oprávněnému uživateli dočasně zvýšit svá oprávnění pomocí vlastního hesla, aniž by musel znát heslo patřící k účtu root. Tato jednoduchá, ale účinná metodika poskytuje odpovědnost za všechny akce uživatele a poskytuje správci podrobnou kontrolu nad tím, jaké akce může uživatel s uvedenými oprávněními provádět.

    Pokud z nějakého důvodu chcete povolit účet root, jednoduše mu zadejte heslo:

    Konfigurace s hesly uživatele root nejsou podporovány.

    sudo passwd

    Sudo vás vyzve k zadání hesla a poté vás požádá o zadání nového hesla pro root, jak je uvedeno níže:

    Heslo pro uživatelské jméno: (zadejte své vlastní heslo) Zadejte nové UNIX heslo: (zadejte nové heslo pro root) Znovu zadejte nové heslo UNIX: (zopakujte nové heslo pro root) passwd: heslo bylo úspěšně aktualizováno

    Chcete-li zakázat heslo účtu root, použijte následující syntaxi passwd:

    sudo passwd -l kořen

    Chcete-li však zakázat samotný účet root, použijte následující příkaz:

    usermod --vypršení platnosti 1

    Měli byste si přečíst více o Sudo přečtením manuálové stránky:

    muž sudo

Ve výchozím nastavení je počáteční uživatel vytvořený instalačním programem Ubuntu členem skupiny "sudo", která je přidána do souboru /etc/sudoers jako autorizovaný uživatel sudo. Pokud chcete kterémukoli jinému účtu poskytnout úplný root přístup přes sudo , jednoduše je přidejte do skupiny sudo.

Přidávání a mazání uživatelů

Proces správy místních uživatelů a skupin je přímočarý a jen velmi málo se liší od většiny ostatních operačních systémů GNU/Linux. Ubuntu a další distribuce založené na Debianu podporují použití balíčku "adduser" pro správu účtů.

    Chcete-li přidat uživatelský účet, použijte následující syntaxi a podle pokynů přidělte účtu heslo a identifikovatelné vlastnosti, jako je celé jméno, telefonní číslo atd.

    uživatelské jméno sudo adduser

    Chcete-li odstranit uživatelský účet a jeho primární skupinu, použijte následující syntaxi:

    uživatelské jméno sudo deluser

    Smazáním účtu se neodstraní jejich domovská složka. Je na vás, zda chcete složku odstranit ručně nebo ji zachovat podle požadovaných zásad uchovávání.

    Pamatujte, že každý uživatel přidaný později se stejným UID/GID jako předchozí vlastník bude mít nyní přístup k této složce, pokud jste neučinili nezbytná opatření.

    Možná budete chtít změnit tyto hodnoty UID/GID na něco vhodnějšího, jako je kořenový účet, a možná dokonce přemístit složku, abyste předešli budoucím konfliktům:

    sudo chown -R root:root /home/username/ sudo mkdir /home/archived_users/ sudo mv /home/username /home/archived_users/

    Chcete-li dočasně uzamknout nebo odemknout uživatelský účet, použijte následující syntaxi:

    sudo passwd -l uživatelské jméno sudo passwd -u uživatelské jméno

    Chcete-li přidat nebo odstranit přizpůsobenou skupinu, použijte následující syntaxi:

    sudo addgroup groupname sudo delgroup groupname

    Chcete-li přidat uživatele do skupiny, použijte následující syntaxi:

    sudo adduser uživatelské jméno název skupiny

Zabezpečení uživatelského profilu

Když je vytvořen nový uživatel, obslužný program adduser vytvoří zcela nový domovský adresář s názvem /home/username . Výchozí profil je modelován podle obsahu nalezeného v adresáři /etc/skel , který zahrnuje všechny základy profilu.

Pokud bude váš server domovem pro více uživatelů, měli byste věnovat velkou pozornost oprávněním domovského adresáře uživatele, abyste zajistili důvěrnost. Ve výchozím nastavení jsou domovské adresáře uživatelů v Ubuntu vytvářeny s celosvětovými oprávněními pro čtení/spouštění. To znamená, že všichni uživatelé mohou procházet a přistupovat k obsahu domovských adresářů ostatních uživatelů. To nemusí být vhodné pro vaše prostředí.

    Chcete-li ověřit vaše aktuální oprávnění domovského adresáře uživatele, použijte následující syntaxi:

    ls -ld /home/username

    Následující výstup ukazuje, že adresář /home/username má celosvětově čitelné oprávnění:

    drwxr-xr-x 2 uživatelské jméno uživatelské jméno 4096 2007-10-02 20:03 uživatelské jméno

    Světová oprávnění ke čtení můžete odebrat pomocí následující syntaxe:

    sudo chmod 0750 /home/username

    Někteří lidé mají tendenci používat rekurzivní volbu (-R) bez rozdílu, která upravuje všechny podřízené složky a soubory, ale to není nutné a může to vést k dalším nežádoucím výsledkům. Samotný nadřazený adresář je dostatečný pro zabránění neoprávněnému přístupu k čemukoli pod nadřazeným adresářem.

    Mnohem efektivnější přístup k této záležitosti by bylo upravit globální výchozí oprávnění adduser při vytváření domovských složek uživatelů. Jednoduše upravte soubor /etc/adduser.conf a upravte proměnnou DIR_MODE na něco vhodného, ​​aby všechny nové domovské adresáře získaly správná oprávnění.

    Po opravě oprávnění k adresáři pomocí kterékoli z výše uvedených technik ověřte výsledky pomocí následující syntaxe:

    ls -ld /home/username

    Níže uvedené výsledky ukazují, že byla odebrána celosvětově čitelná oprávnění:

    drwxr-x--- 2 uživatelské jméno uživatelské jméno 4096 2007-10-02 20:03 uživatelské jméno

Zásady hesel

Zásady silného hesla jsou jedním z nejdůležitějších aspektů vaší pozice zabezpečení. Mnoho úspěšných narušení bezpečnosti zahrnuje jednoduchou hrubou sílu a slovníkové útoky na slabá hesla. Pokud máte v úmyslu nabídnout jakoukoli formu vzdáleného přístupu zahrnující váš místní systém hesel, ujistěte se, že adekvátně řešíte minimální požadavky na složitost hesla, maximální životnost hesel a časté audity vašich autentizačních systémů.

Minimální délka hesla

Ve výchozím nastavení Ubuntu vyžaduje minimální délku hesla 6 znaků a také některé základní kontroly entropie. Tyto hodnoty jsou řízeny v souboru /etc/pam.d/common-password, který je popsán níže.

heslo pam_unix.so obskurní sha512

Pokud byste chtěli upravit minimální délku na 8 znaků, změňte příslušnou proměnnou na min=8. Úprava je popsána níže.

heslo pam_unix.so obskurní sha512 minlen=8

Základní kontrola entropie hesla a pravidla minimální délky se nevztahují na administrátora, který k nastavení nového uživatele používá příkazy sudo level.

Vypršení platnosti hesla

Při vytváření uživatelských účtů byste měli nastavit minimální a maximální věk hesla, který nutí uživatele změnit svá hesla, když jejich platnost vyprší.

    Chcete-li snadno zobrazit aktuální stav uživatelského účtu, použijte následující syntaxi:

    sudo change -l uživatelské jméno

    Níže uvedený výstup ukazuje zajímavá fakta o uživatelském účtu, konkrétně to, že nejsou uplatněny žádné zásady:

    Poslední změna hesla: 20. ledna 2015 Platnost hesla: nikdy Heslo neaktivní: nikdy Platnost účtu: nikdy Minimální počet dní mezi změnou hesla: 0 Maximální počet dní mezi změnou hesla: 99999 Počet dní upozornění před vypršením platnosti hesla: 7

    Chcete-li nastavit kteroukoli z těchto hodnot, jednoduše použijte následující syntaxi a postupujte podle interaktivních pokynů:

    sudo změnit uživatelské jméno

    Dále je uveden příklad, jak můžete ručně změnit explicitní datum vypršení platnosti (-E) na 31.01.2015, minimální stáří hesla (-m) 5 dní, maximální stáří hesla (-M) 90 dní, nečinnost období (-I) 5 dní po vypršení platnosti hesla a časové období varování (-W) 14 dní před vypršením platnosti hesla:/home/username/.ssh/authorized_keys .

    Odeberte nebo přejmenujte adresář .ssh/ v domovské složce uživatele, abyste zabránili dalším možnostem ověřování SSH.

    Nezapomeňte zkontrolovat všechna navázaná připojení SSH zakázaným uživatelem, protože je možné, že má existující příchozí nebo odchozí připojení. Zabijte všechny nalezené.

    kdo | uživatelské jméno grep (pro získání terminálu pts/#) sudo pkill -f pts/#

    Omezte přístup SSH pouze na uživatelské účty, které by jej měly mít. Můžete například vytvořit skupinu s názvem "sshlogin" a přidat název skupiny jako hodnotu spojenou s proměnnou AllowGroups umístěnou v souboru /etc/ssh/sshd_config .

    AllowGroups sshlogin

    Poté přidejte své povolené uživatele SSH do skupiny „sshlogin“ a restartujte službu SSH.

    sudo adduser uživatelské jméno sshlogin sudo systemctl restart sshd.service

    Ověření databáze externích uživatelů

    Většina podnikových sítí vyžaduje centralizované ověřování a řízení přístupu pro všechny systémové prostředky. Pokud jste svůj server nakonfigurovali tak, aby ověřoval uživatele vůči externím databázím, nezapomeňte zakázat uživatelské účty externě i lokálně. Tímto způsobem zajistíte, že místní záložní ověřování není možné.

V tomto tutoriálu se podíváme na to, jak odstranit uživatele Linuxu spolu s jeho daty a domovským adresářem.

Pokud jste systémový administrátor ve velké společnosti, pak je pro vás s největší pravděpodobností mazání uživatelů Linuxu poměrně běžným úkolem. Poté, co se účet stane nepotřebným nebo uživatel opustí organizaci, měl by být jeho účet smazán, aby nezůstaly bezpečnostní díry.

Při mazání uživatelů Linuxu je také důležité odstranit jejich domovský adresář, abyste uvolnili úložný prostor pro nové uživatele a jejich soubory. Nejprve se podíváme na to, jak smazat uživatele Linuxu pomocí terminálu, poté si povíme, jak se to dělá v grafickém rozhraní jedné z nejpopulárnějších distribucí – Ubuntu.

Abychom si trochu procvičili v reálném prostředí, vytvořte dva uživatele, lostt a losst1, spolu s jejich domovskými adresáři, a poté je smažte:

ztráta adduseru
$ passwd ztraceno

adduser losst1
$passwd lost1

Zde se příkaz adduser používá k vytvoření uživatelského účtu a passwd k vytvoření hesla.

Podívejme se, jak odstranit uživatele Linuxu v terminálu. K tomu použijte příkaz - deluser v debianu a odvozených systémech a v RedHat - userdel. Podívejme se blíže na tyto dva nástroje.

Popis klamače

Syntaxe příkazu deluser je velmi jednoduchá:

$deluser parametry uživatel

Nastavení příkazu deluser se nachází v souboru /etc/deluser.conf; kromě jiných nastavení určuje, co je třeba udělat s domovskou složkou a soubory uživatele.

Tato nastavení můžete zobrazit a změnit spuštěním příkazu:

vi /etc/deluser.conf

Podívejme se blíže na tato nastavení:

  • REMOVE_HOME- smazat domovský adresář uživatele
  • REMOVE_ALL_FILES- smazat všechny uživatelské soubory
  • ZÁLOHA- zálohování uživatelských souborů
  • BACKUP_TO- záložní složka
  • ONLY_IF_EMPTY- smazat uživatelskou skupinu, pokud je prázdná.

Tato nastavení určují výchozí chování obslužného programu při mazání uživatele; lze je samozřejmě přepsat pomocí parametrů příkazu.

Následující parametry jsou podporovány, jsou podobné nastavení, ale existuje více možností:

  • --Systém- smazat pouze pokud se jedná o systémového uživatele
  • --záloha- vytvořit záložní kopii uživatelských souborů
  • --záloha-do- složka pro zálohy
  • --remove-home- odstranit domovskou složku
  • --remove-all-files- odstranit všechny uživatelské soubory v systému souborů

Popis userdel

Obslužný program userdel funguje trochu jinak, není zde žádný soubor nastavení, ale existují možnosti, pomocí kterých můžete nástroji říci, co má dělat. Syntaxe je podobná:

$ userdel parametry uživatel

  • -f, --force- vynucené smazání, i když je uživatel stále přihlášen
  • -r, --odstranit- odstranit domovský adresář uživatele a jeho soubory v systému.
  • -Z- odstranit všechny objekty SELinux pro tohoto uživatele.

Chcete-li odebrat uživatele ze serveru, je lepší použít pokročilou metodu, kterou zvážíme níže. Když uživatelé používají server, spouštějí různé programy a služby. Uživatel může být správně smazán pouze v případě, že není přihlášen k serveru a všechny programy běžící jeho jménem jsou zastaveny, protože programy mohou používat různé soubory patřící uživateli, což zabrání jejich smazání. V souladu s tím nebudou soubory uživatele zcela odstraněny a zůstanou ucpat systém.

Blokování uživatelského účtu

K uzamčení uživatelského účtu můžete použít obslužný program passwd. To odepře uživateli přístup do systému a zabrání spuštění nových procesů:

Spusťte příkaz passwd s volbou --lock:

passwd --ztráta zámku

passwd: Informace o vypršení platnosti hesla byly změněny.

Zabijte všechny běžící uživatelské procesy

Nyní najdeme všechny procesy běžící jako uživatel a zabijeme je.

Pojďme najít procesy pomocí pgrep:

Můžete se podrobněji podívat, co tyto procesy jsou, předáním pid každého z nich příkazu ps, takto:

ps -f --pid $(pgrep -u losst)

UID PID PPID C STIME TTY STAT TIME CMD
ztráta 14684 14676 0 22:15 bodů/2 S 0:00 -bash
ztráta 14735 14684 0 22:15 bodů/2 S+ 0:00 vi text

Nyní, když jste se ujistili, že tam není nic důležitého, můžete všechny procesy zabít pomocí příkazu killall:

Killall -9 -u prohrál

Volba -9 říká programu, aby těmto procesům poslal ukončovací signál SIGKILL, a -u určuje uživatelské jméno.

Na systémech založených na Red Hatu budete muset pro použití killall nainstalovat balíček psmisc:

sudo yum nainstalovat psmisc

Zálohování uživatelských dat

To není vůbec nutné, ale pro seriózní projekt by nebylo špatné vytvořit záložní kopii souborů uživatele, zvláště pokud tam mohou být důležité soubory. K tomu můžete použít například nástroj tar:

tar jcvf /user-backups/losst-backup.tar.bz2 /home/losst

Smazání uživatelského účtu

Nyní, když je vše připraveno, začněme mazat uživatele Linuxu. Pro každý případ výslovně uvedeme, že musíme smazat soubory a domovský adresář uživatele. Pro Debian:

deluser --remove-home lostt

userdel --odstranit ztrátu

Pokud potřebujete odstranit všechny soubory patřící uživateli v systému, použijte volbu --remove-all-files, buďte s ní opatrní, protože důležité soubory mohou být přepsány:

deluser --remove-all-files lostt

Uživatel je nyní zcela odstraněn spolu se svými soubory a domovským adresářem z vašeho systému.

Odebrání uživatele v Ubuntu

OTEVŘENO Parametry systému:

Otevřít položku Účty:

Jak vidíte, všechny akce jsou momentálně nedostupné a jsou zašedlé. Chcete-li je aktivovat, klikněte na tlačítko odemknout a zadejte uživatelské heslo.

Nyní, abyste odstranili uživatele v Linuxu, stačí na něj kliknout myší a poté kliknout na ikonu mínus.

V okně, které se otevře, si můžete vybrat, co dělat s uživatelskými soubory:

Přirozeně bude odstraněna pouze domovská složka, nemluvíme o všech souborech. A pro správné odstranění nesmí uživatel v systému pracovat.

závěry

Smazání uživatele v Linuxu není tak obtížné, bez ohledu na to, kde je to potřeba udělat, na serveru nebo na domácím počítači. Grafické rozhraní je samozřejmě pohodlnější, ale terminál jako vždy nabízí více možností. Pokud máte nějaké další nápady na toto, zanechte prosím komentář!

Operační systém Linux má mnoho skvělých bezpečnostních funkcí, ale jednou z nejdůležitějších je systém oprávnění k souborům. Linux jako pokračovatel ideologie linuxového jádra byl na rozdíl od Windows původně navržen jako víceuživatelský systém, takže přístupová práva k souborům v Linuxu jsou promyšlena velmi dobře.

A to je velmi důležité, protože místní přístup k souborům pro všechny programy a všechny uživatele by umožnil virům snadno zničit systém. Noví uživatelé však mohou považovat nová oprávnění souborů v Linuxu za velmi matoucí, která se velmi liší od toho, na co jsme zvyklí ve Windows. V tomto článku se pokusíme porozumět tomu, jak fungují oprávnění k souborům v Linuxu, a také jak je změnit a nastavit.

Zpočátku měl každý soubor tři přístupové parametry. Zde jsou:

  • Čtení- umožňuje přijímat obsah souboru, ale neumožňuje zápis. Pro adresář vám umožňuje získat seznam souborů a adresářů, které se v něm nacházejí;
  • Záznam- umožňuje zapisovat nová data do souboru nebo měnit stávající a také umožňuje vytvářet a měnit soubory a adresáře;
  • Výkon- nemůžete spustit program, pokud nemá příznak spuštění. Tento atribut je nastaven pro všechny programy a skripty, s jeho pomocí systém pochopí, že tento soubor je potřeba spustit jako program.

Všechna tato práva by ale postrádala smysl, pokud by platila pro všechny uživatele najednou. Každý soubor má tedy tři kategorie uživatelů, pro které můžete nastavit různé kombinace přístupových práv:

  • Majitel- sada práv pro vlastníka souboru, uživatele, který jej vytvořil, nebo je nyní nastaven jeho vlastníkem. Typicky má vlastník všechna práva, číst, zapisovat a spouštět.
  • Skupina- jakákoli skupina uživatelů, která existuje v systému a je přidružena k souboru. To však může být pouze jedna skupina a obvykle se jedná o skupinu vlastníka, i když k souboru lze přiřadit jinou skupinu.
  • Odpočinek- všichni uživatelé kromě vlastníka a uživatelů zařazených do skupiny souborů.

Pomocí těchto sad oprávnění se v Linuxu nastavují oprávnění k souborům. Každý uživatel může získat plný přístup pouze k souborům, které vlastní nebo ke kterým má oprávnění přistupovat. Pouze uživatel root může pracovat se všemi soubory bez ohledu na nastavená oprávnění.

Postupem času se však takový systém stal nedostatečným a bylo přidáno několik dalších příznaků, které vám umožňují učinit soubory neměnnými nebo je spouštět jako superuživatel, podíváme se na ně níže:

Speciální oprávnění k souborům v Linuxu

Aby běžní uživatelé mohli spouštět programy jménem superuživatele, aniž by znali jeho heslo, bylo vynalezeno něco jako bity SUID a SGID. Podívejme se na tyto pravomoci podrobněji.

  • SUID- pokud je tento bit nastaven, pak při spuštění programu je id uživatele, od kterého byl spuštěn, nahrazeno id vlastníka souboru. Ve skutečnosti to umožňuje běžným uživatelům spouštět programy jako superuživatel;
  • SGID- tento příznak funguje podobným způsobem, jediný rozdíl je v tom, že uživatel je považován za člena skupiny, ke které je soubor přidružen, nikoli skupin, do kterých skutečně patří. Pokud je v adresáři nastaven příznak SGID, všechny soubory vytvořené v něm budou přidruženy ke skupině adresáře, nikoli ke skupině uživatele. Toto chování se používá k uspořádání sdílených složek;
  • Lepkavý bit- tento bit se také používá k vytváření sdílených složek. Pokud je nainstalován, uživatelé mohou pouze vytvářet, číst a spouštět soubory, ale nemohou mazat soubory vlastněné jinými uživateli.

Nyní se podíváme na to, jak zobrazit a změnit oprávnění souborů v Linuxu.

Jak zobrazit oprávnění souborů v Linuxu

Oprávnění souborů v Linuxu samozřejmě můžete zobrazit pomocí správce souborů. Všechny tuto funkci podporují, ale to vám poskytne neúplné informace. Pro nejpodrobnější informace o všech příznacích, včetně speciálních, musíte použít příkaz ls s parametrem -l. Zobrazí se seznam všech souborů v adresáři a všechny atributy a bity.

Chcete-li zjistit práva k souboru linux, spusťte následující příkaz ve složce, kde je soubor umístěn:

Pomlčky jsou zodpovědné za oprávnění k souborům v Linuxu. Prvním je typ souboru, kterému se věnujeme v samostatném článku. Pak existují skupiny práv, nejprve pro vlastníka, pro skupinu a pro všechny ostatní. Existuje pouze devět pomlček pro licenci a jedna pro typ.

Podívejme se blíže na to, co znamenají podmíněné hodnoty příznaků práv:

  • --- - žádná práva;
  • --X- je povoleno pouze spouštění souboru jako programu, nikoli však změny nebo čtení;
  • -w-- je povolen pouze zápis a změna souboru;
  • -šx- úpravy a spouštění jsou povoleny, ale v případě adresáře nemůžete zobrazit jeho obsah;
  • r--- práva pouze pro čtení;
  • r-x- pouze čtení a spouštění, žádné oprávnění k zápisu;
  • rw-- práva pro čtení a zápis, ale bez provedení;
  • rwx- všechna práva;
  • --s- je nastaven bit SUID nebo SGID, první se zobrazí v poli pro vlastníka, druhý pro skupinu;
  • --t- Sticky-bit je nainstalován, což znamená, že uživatelé nemohou tento soubor smazat.

V našem příkladu má soubor test1 typická oprávnění programu, vlastník může dělat vše, skupina může pouze číst a spouštět a všichni ostatní mohou pouze spouštět. Pro test2 jsou navíc nastaveny příznaky SUID a SGID. A pro složku test3 je nainstalován Sticky-bit. Soubor test4 je k dispozici všem. Nyní víte, jak zobrazit práva k linuxovému souboru.

Jak změnit oprávnění souborů v Linuxu

Chcete-li změnit oprávnění souborů v Linuxu, můžete použít nástroj chmod. Umožňuje změnit všechny vlajky, včetně speciálních. Podívejme se na jeho syntaxi:

$ chmod možnosti kategorie akce soubor příznaku

Možnosti nás teď nebudou zajímat, snad kromě jediné. Pomocí volby -R můžete přinutit program, aby rekurzivně aplikoval změny na všechny soubory a adresáře.

  • u- vlastník souboru;
  • G- skupina souborů;
  • Ó- ostatní uživatelé.

Akce může být jedna ze dvou věcí, buď přidat příznak „+“, nebo odstranit příznak „-“. Co se týče samotných přístupových práv, jsou podobná výstupu utility ls: r - čtení, w - zápis, x - spouštění, s - suid/sgid, podle kategorie, pro kterou to nastavujete, t - nastavuje sticky -bit. Všichni uživatelé mají například plný přístup k souboru test5:

chmod ugo+rwx test5

Nebo odebereme veškerá práva skupině a dalším uživatelům:

chmod go-rwx test5

Dejme skupině právo číst a provádět:

chmod g+rx test5

Pro ostatní uživatele pouze pro čtení:

Pro soubor test6 nastavte SUID:

A pro test7 - SGID:

Uvidíme, co se stane:

Jak můžete vidět, změna oprávnění souborů v Linuxu je velmi jednoduchá. Základní práva navíc můžete změnit pomocí správce souborů.

závěry

To je vše, nyní víte nejen, jaká jsou v Linuxu oprávnění k souborům, ale také jak je prohlížet a dokonce i jak je měnit. Toto je velmi důležité téma, kterému začátečníci skutečně potřebují porozumět, aby mohli plněji využívat svůj systém. Pokud máte nějaké dotazy, zeptejte se v komentářích!

Na závěr bych rád nabídl dobré video o přístupových právech v Linuxu:

Možnost -c - přidat komentář k uživateli
Volba -g sudo - přidá uživatele do skupiny sudo.
Volba -s nastaví uživatelský shell na /bin/bash

Možnost -d slouží k určení domovské složky uživatele
Možnost -m bude indikovat, že složku je třeba vytvořit okamžitě:

Sudo useradd -c "Komentář pro uživatele" -g sudo -d /home/NameUser -m -s /bin/bash NameUser

Nastavte heslo pro uživatele NameUser:

Sudo passwd NameUser

Přidejte uživatele pomocí příkazu adduser

sudo useradd -c "Komentář pro uživatele" -g sudo -d /home/NameUser -m -s /bin/bash NameUser

Zadejte heslo, odpovězte na všechny položené otázky, získejte uživatele s heslem a domovským adresářem

Změna uživatelského hesla

sudo passwd NameUser

Přidejte uživatele do skupiny sudo

usermod -a -G sudo JménoUživatel

Přidejte uživatele/skupinu uživatelů přímo do Sudores:

Pojďme upravit soubor /etc/sudores.tmp editor visudo

Sudo vidění

Udělme práva root jmenovanému uživateli uživatelské_jméno

User_name ALL=(ALL:ALL) ALL

Přidělme práva root skupině uživatelů skupinové jméno přidáním řádku do souboru sudoers -

Název_skupiny ALL=(ALL:ALL) ALL

Uživatel a jeho skupiny

Podíváme se na dostupné skupiny na hostiteli

Cat /etc/group

Kontrola existence skupiny vzorová skupina na hostiteli, kde examplegroup je skupina, o kterou máte zájem

Grep examplegroup /etc/group

Zkontrolujeme/zjistíme, do kterých skupin uživatel patří (stejně jako jeho uid, gid)

Id NameUser

Přidejte existujícího uživatele NameUser do existující vzorové skupiny skupiny

Usermod -g examplegroup NameUser

Odebrání uživatele Ubuntu

Použijeme příkaz, složka uživatele se nesmaže

Sudo userdel NameUser

V případě potřeby smažte složku

Sudo rm -r /home/NameUser/

Zkontrolujeme, zda uživatel smazal, pokud není výstup, pak byl uživatel smazán

Sudo grep -R JménoUživatel /etc/passwd --color

Seznam všech místních uživatelů

sudo cat /etc/passwd sudo cat /etc/shadow

Chcete-li zobrazit podrobnější informace o uživateli, nainstalujte balíček prst

Sudo apt-get instalační prst

Chcete-li zobrazit informace o uživateli NameUser, spusťte příkaz

Finger NameUser

Výstup informací o všech uživatelích do souboru infoaboutallluser.txt vytvoříme skript prst.sh

#!/bin/bash n=`cat /etc/passwd | řez -d: -f1` pro i v $n; dělat echo "================================================= ============================ ================ „prst $já hotový

Spusťte skript prst.sh a uložte jeho obsah do souboru infoaboutallluser.txt

./finger.sh infoaboutallluser.txt

Seznam všech privilegovaných uživatelů:

egrep ":0:0:" /etc/passwd

nebo ne privilegovaný

Egrep -v ":0:0:" /etc/passwd

Vypište všechny uživatele, jejichž jména začínají písmeny abcd:

Cat /etc/passwd | grep "^.*"

Jak ukazuje odpověď čtenáře, otázka oddělení administrátorských práv v Ubuntu stále zůstává pro většinu začínajících správců nejasná, proto jsme se rozhodli vnést do této problematiky trochu jasnosti tímto materiálem. Pokud tedy nevíte, jak se su liší od sudo, kde jste skryli root atd. atd., je čas začít studovat náš článek.

Začněme malou odbočkou. Systém administrativních práv Linuxu se vrací k operačnímu systému Unix, a proto má mnoho společného s jinými systémy podobnými Unixu: BSD, Solaris, MacOS. Zároveň různé distribuce mají své vlastní implementační charakteristiky určitých aspektů, takže uvedeme konkrétní příklady týkající se rodiny Ubuntu, ale znalost obecných pravidel vám umožní snadno porozumět prostředí jakéhokoli jiného OS typu Unix.

Uživatel má v Linuxu plná administrátorská práva. vykořenit, jehož práva nelze omezit, takže každodenní práce jménem tohoto uživatele je krajně nežádoucí: neopatrné jednání uživatele může vést k poškození systému a kompromitace tohoto účtu poskytne útočníkovi neomezený přístup do systému.

Proto bylo v Linuxu přijato jiné schéma: všichni uživatelé, včetně administrátorů, pracují pod omezeným účtem a k provádění administrativních akcí využívají jeden z mechanismů eskalace práv. Chcete-li to provést, můžete zvýšit práva pomocí nástroje sudo nebo se přihlaste jako superuživatel (root) bez ukončení aktuální relace pomocí příkazu su. Mnoho lidí si tyto dva mechanismy mylně plete, takže se na ně podívejme podrobněji.

tým su umožňuje přihlásit se jako jiný uživatel (ne nutně root) bez ukončení aktuální relace. Takže příkaz:

Su Petrov

vám umožní přihlásit se jako uživatel petrov, změní se i uživatelské prostředí (domovská složka) tak, aby patřilo tomuto uživateli.

tým su umožňuje přihlásit se pod svým účtem bez zadání uživatelského jména vykořenit"a. Tato metoda má však jednu podstatnou nevýhodu - pro přihlášení jménem jiného uživatele potřebujete znát jeho heslo. Pokud máte několik administrátorů, pak každý z nich bude znát heslo superuživatele a vy nebudete moci omezit jejich práva.

Navíc je to nebezpečné, znalost hesla superuživatele a možnost přihlásit se pod jeho jménem v případě kompromitace může vést k úplné ztrátě kontroly nad systémem.

Co se stane, když se pokusíme zvýšit práva v Ubuntu tímto způsobem? Nebudeme moci nic dělat, protože neznáme heslo uživatele vykořenit, zároveň nám nikdo nebrání přihlásit se jako jiný uživatel.

"Počkejte!" - jiný uživatel řekne: „nejsou práva root udělena prvnímu vytvořenému uživateli, kterého určíme během instalace?“ Ve skutečnosti lze administrativní úlohy provádět pouze jménem uživatele vytvořeného během instalace; pokud se o to pokusíme na jménem jiného uživatele, utrpíme selhání.

Zde se blížíme k druhému mechanismu navyšování práv – utility sudo. Než však přejdeme k jeho studiu, stojí za to objasnit: práva superuživatele (root) v Ubuntu patří účtu root, který je ve výchozím nastavení zakázán. Zvyšte proto oprávnění pomocí příkazu su se nezdá možné.

Hlavním mechanismem pro zvýšení práv v Ubuntu je nástroj sudo. Tento nástroj vám umožňuje povýšit práva na úroveň superuživatele pro prováděný příkaz, ale nepotřebujete znát heslo superuživatele, uživatel musí zadat své vlastní heslo. Poté obslužný program zkontroluje, zda má tento uživatel právo provést tento příkaz na tomto hostiteli s právy superuživatele, a pokud jsou kontroly úspěšné, provede jej.

To je důležité! Hlavní rozdíl su z sudo slouží čemu su umožňuje změnit aktuálního uživatele na roota, což vyžaduje aktivní superuživatelský účet v systému a znalost jeho hesla, sudo umožňuje zvýšit práva pro prováděný příkaz bez zadání hesla superuživatele; uživatel musí zadat své vlastní heslo; přihlášení jako root s těmito přihlašovacími údaji nebude fungovat.

Další důležitou okolností je, že při použití potrubí nebo přesměrování s právy superuživatele se provede pouze první část příkazu, například v návrhu:

Sudo příkaz1 | tým2

s právy root bude pouze spuštěn tým1. A tým

Sudo cat sources.list > /etc/apt/sources.list

zobrazí chybu přístupových práv, protože záznam je v /etc/apt/sources.list proběhne s běžnými uživatelskými právy.

Chcete-li provádět složité kombinace příkazů, můžete pomocí příkazu přepnout do režimu superuživatele

což je podobné povýšení práv příkazem su tím se však nezmění uživatelské prostředí a jako domovský adresář bude použit adresář aktuálního uživatele, což je pohodlné a bezpečné. Každý administrátor bude mít přístup pouze do svého domovského adresáře.

Nyní je čas zjistit, kdo má právo využít příležitosti sudo a do jaké míry. Soubor je zodpovědný za nastavení tohoto nástroje /etc/sudoers, přestože se jedná o běžný konfigurační soubor, pro jeho úpravu se důrazně doporučuje použít příkaz:

Sudo vidění

Tento příkaz uzamkne soubor a zkontroluje syntaxi, jinak riskujete ztrátu administrativního přístupu k počítači kvůli překlepu.

Syntaxe tohoto souboru je velmi jednoduchá. Například na samém konci souboru je záznam:

%admin VŠECHNY=(VŠECHNY) VŠECHNY

To znamená, že uživatelé skupiny admin může provést jakýkoli příkaz na libovolném hostiteli jménem jakéhokoli uživatele. Jak si můžeme snadno ověřit pomocí příkazu skupiny v našem případě uživatel andrey patří do skupiny admin a uživatel petrov Ne.

Všechny výhody této utility však spočívají ve schopnosti flexibilně konfigurovat parametry pro získání práv v každém konkrétním případě. Například:

Petrov ubuntu-lts=(andrey) VŠECHNY

Tento řádek umožňuje uživateli petrov spustit jakýkoli příkaz na hostiteli ubuntu-lts jménem uživatele andrey. Při zadávání příkazů byste měli uvést úplnou cestu k nim; můžete ji najít pomocí příkazu který

Chceme například umožnit uživatelům petrov A sidorov vypnout a restartovat počítač a také odstranit úlohy. Tyto příkazy by však neměly vyžadovat zadání hesla.

Další příjemnou funkcí sudo utility je vytváření aliasů, takže v našem případě přidáme /etc/sudoers následující řádky:

User_Alias ​​​​USERGROUP1 = petrov, sidorov
Cmnd_Alias ​​​​CMDGROUP1 = /bin/kill, /sbin/reboot, /sbin/shutdown

Tímto jsme vytvořili dva aliasy USERGROUP1, kam jsme zahrnuli uživatele, které potřebujeme a CMDGROUP1 sadou potřebných příkazů můžeme následně upravovat pouze aliasy, aniž bychom ovlivnili všechna pravidla, kde je lze použít. Pak přidáme pravidlo:

USERGROUP1 ALL = (ALL) NOPASSWD:СMDGROUP1

což umožní uživatelům uvedeným v zadaném aliasu provádět příkazy z daného aliasu na libovolném hostiteli jménem libovolného uživatele bez zadání hesla.

Kromě výše uvedených dvou jsou k dispozici také aliasy pro název hostitele a uživatele, jejichž jménem je povoleno provádět příkazy, například:

Host_Alias ​​​​WWW = webový server1, webový server2
Runas_Alias ​​​​WWW = www-data, www-developer

USERGROUP1 WWW = (WWW) VŠECHNY

Daná sada záznamů umožní uživatelům vstup USERGROUP1 provádět jakékoli příkazy jménem uživatelů www-data A www-vývojář na webových serverech společnosti.

Nakonec se podívejme, co dělat, pokud je stále potřeba účet root. Je to jednoduché, pro aktivaci stačí nastavit heslo:

Sudo passwd root

Účet superuživatele můžete znovu zamknout příkazem:

Sudo passwd -l root

Pamatujte, že všechny administrativní úlohy v Ubuntu lze provádět pomocí nástroje sudo, takže nepovolujte účet root, pokud to není nezbytně nutné!

Jak můžete vidět, Ubuntu má bohaté možnosti správy práv pro správu, což vám umožňuje flexibilně distribuovat práva mezi několik správců a také poskytnout možnost zvýšit práva pro některé uživatele, a to efektivně a bezpečně.