Probíhá hledání...

Jak používat sudo na Debian, Ubuntu, CentOS a FreeBSD

V tomto tutoriálu si ukážeme základní kroky pro zakázání přímého uživatelského přístupu, vytvoření uživatele sudo, a nastavení sudo skupiny na CentOS, Debian, Ubuntu a FreeBSD.

Předpoklady


  • Nově nainstalovaný Linux nebo FreeBDS server. Třeba VPS od nás - hukot.net :)
  • Nainstalovaný textový editor na tomto serveru - nano, vi, vim, emacs.

Krok 1 - instalace sudo

Debian / Ubuntuapt-get install sudo -y
CentOS
yum install sudo -y
FreeBSDcd /usr/ports/security/sudo/ && make install cleannebopkg_add -rv sudonebopkg_add -r sudo

Krok 2 - přidání uživatele sudo

Uživatel sudo je uživatelský účet na Linux nebo Unix.

Debian / Ubuntu
adduser mynewusername
CentOS
adduser mynewusername
FreeBSD
adduser mynewusername

Krok 3 - Přidání nového uživatele do skupiny wheel (volitelně)

Skupina wheel je uživatelská skupina, která omezuje počet lidí, s přístupem ke kořenovému adresáři. Přidání sudo uživatele do skupiny wheel je zcela volitelné.

Poznámka:
V Debian se často vyskytuje sudo skupina namísto skupiny wheel. Přesto však můžete manuálně přidat skupinu wheel pomocí příkazu groupadd. Pro účely tohoto návodu budeme používat skupinu sudo pro Debian.
Rozdíl mezi wheel a sudo
V CentOS a Debian/Ubuntu, uživatel patřící do skupiny wheel může spustit su a přímo se dostat ke kořenovému adresáři. Mezitím co uživatel sudo bude muset použít jako první sudo su. V podstatě neexistuje žádný skutečný rozdíl s výjimkou verze použití, aby se stal uživatelem root. Pro uživatelé patřící do obou skupin lze použít příkaz sudo.

Debian/Ubuntuusermod -aG sudo mynewusername
CentOSusermod -aG wheel mynewusername
FreeBSDpw group mod wheel -m mynewusername

4. Ujištění se, zda je Váš soubor sudoers správně nastaven

Je důležité zajistit, aby soubor sudoers byl umístěn v/etc/sudoersbyl nastaven správně. A to vše s cílem umožnit uživatelům sudo efektivně použít příkaz sudo. Za účelem zobrazení obsahu souboru /etc/sudoers a případně jeho úpravu.

Debian/Ubuntu
vim /etc/sudoersnebovisudo

CentOSvim /etc/sudoersnebovisudo
FreeBSDvim /etc/sudoersnebovisudo
Poznámka: Příkaz visudo se otevře/etc/sudoerspomocí systémem upřednostňovaného textového editoru (obvykle vi nebo vim).

Zahájit kontrolu a editaci tímto řádkem:# Allow members of group sudo to execute any command/etc/sudoers často vypadá takto:# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
V některých systémech, můžete najít %wheel namísto %sudo; v tom případě by to byl řádek, pod kterým začnete modifikaci.

V případě, že řádek začínající %sudo v Debianu nebo Ubuntu nebo %wheel v CentOS a FreeBSD není vyjádřeno s prefixem #, tak to znamená, že sudo je již nastaveno a povoleno. Poté můžete přejít k dalšímu kroku.

Krok 5 - Povolení uživateli, který nepatří do skupiny wheel ani do skupiny sudo, spustit příkaz sudo

Je možné, aby uživatel, který není v žádné z uživatelských skupin, spustil příkaz sudo pouhým přidáním:anotherusername ALL=(ALL) ALLdo/etc/sudoers

Krok 6 - Restartování SSH serveru

Aby bylo možno použít provedené změny v/etc/sudoersje nutné restartovat sshd server. To provedťe takto:

Debian/Ubuntu/etc/init.d/sshd restartCentOS 6/etc/init.d/sshd restartCentOS 7systemctl restart sshd.serviceFreeBSD/etc/rc.d/sshd start

Krok 7 - testování

Po restartování SSH serveru, se odhlašte a zpět přihlašte jako sudo uživatel, poté se pokuste spustit některé testovací příkazy:sudo uptime
sudo whoami
Některý z níže uvedených příkazů umožní uživateli sudo, aby se stal root.sudo su -
sudo -i
sudo -S

Poznámky:
Whoami příkaz nakombinuje zpět uživatele root se sudo. A budete vyzváni k zadání uživatelského hesla při provádění příkazu sudo, pokud jste nezadali pokyn, aby systém nevyzýval uživatele sudo k zadání jejich hesel. Upozorňujeme, že se to nedoporučuje.


Optional: umožňuje přístu k sudo bez zadání hesla uživatele

Jak ale již bylo vysvětleno, není to doporučená praxe a je to zde zahrnuto pouze pro demonstrační účely.

Pro případ umožnění vašemu sudo uživateli spustit příkaz sudo aniž by byl vyzván k zadání hesla, je tu přípona přístupového řádku v /etc/sudoers s=12.6pxNOPASSWD: ALL%sudo ALL=(ALL:ALL) ALL NOPASSWD: ALLPoznámka: Je třeba restartovat sshd server, aby se změny projevily.

Krok 8 - Zakázat přímý přístup root

Nyní, když jste potvrdili, že můžete použít sudo zadání hesla, musíte zakázat přímý přístup uživatele root.

Nejprve otevřte/etc/ssh/sshd_configpomocí vašeho oblíbeného textového editoru a najděte řádek, který obsahuje následující řetězec. Může být i označen znakem #.PermitRootLoginBez ohledu na předpony nebo hodnoty v souboru/etc/ssh/sshd_configje nutné změnit tento řádek za následující:PermitRootLogin noA nakonec, restartujte sshd server.

Poznámka: Nezapomeňte otestovat vaše změny tím, že se pokusíte připojit přes SSH na serveru jako root. Pokud se nejste schopni takto přihlásit, znamená to, že jste úspěšně dokončili všechny nezbytné kroky.

Komentáře

Pro odeslání komentáře je nutno být přihlášen