Úvod
Krátký článek věnující se vytvoření účtu pro "běžného" uživatele na linuxovém serveru (postup byl otestován na Debianu a Ubuntu). Postup předpokládá funkční server s Apache2, OpenSSH a vsftpd jako FTP server.Co chceme aby bylo výsledkem:
- uživatel bez možnosti shellu
- uživatel se nemůže připojit přes SSH k serveru
- uživatel má přístup přes FTP/FTPS ale je zamknutý v domovském adresáři
- uživatel má vyhrazený adresář pro svoje soukromá data
- uživatel má svoji veřejnou složku pro www stránky
Postup
Vytvoření uživatele se jménem "uzivatel" + domácí složku.useradd -d /home/uzivatel -m uzivatelPřiřadíme nově vytvořeného uživatele do skupiny "uzivatele", kteří nebudou mít přístup k SSH.
usermod -g uzivatele uzivatel"Vypneme" uzivateli shell.
usermod -s /bin/false uzivatelNyní nastavíme SSH server. Otevřeme konfigurační soubor.
nano /etc/ssh/sshd_configA např. na konec přidáme:
DenyGroups uzivateleuložíme (Ctrl+X a poté Y).
Restartujeme SSH server
service ssh restartNyní povolíme funkci chroot na FTP serveru.Otevřeme konfiguraci:
nano /etc/vsftpd.confa zde odkomentujeme (odstraníme # na začátku) řádek
chroot_local_user=YESuložíme (Ctrl+X a poté Y). Restart FTP serveru:
/etc/init.d/vsftpd restartZměníme vlastníka domácí složky z "uzivatele" na "root" (pro fungující chroot).
chown root:root /home/uzivatel/Nyní nám ale nefunguje přihlášení (uživatel totiž nevlastní adresář do kterého se standardně přihlašuje), proto je potřeba následující "trik".
Vytvoříme složku "data" kam si bude uživatel ukládat svoje privátní soubory.
mkdrir /home/uzivatel/dataA této složce již nastavíme jako vlastníka uživatele "uzivatel".
chown uzivatel:uzivatele /home/uzivatel/dataVytvoříme složku "public_html" kam si bude uživatel ukládat svoje veřejné soubory (např. webové stránky)
mkdir /home/uzivatel/public_htmlVýsledkem je, že "uzivatel" nemůže zapisovat přímo do /home/uzivatel, což je trochu divné, ale na druhou stranu má dvě složky, které jasně oddělují co je veřejné a co ne.
chown uzivatel:uzivatele /home/uzivatel/public_html
U webového serveru Apache2 aktivujeme modul userdir.
a2enmod userdirRestartujeme Apache2.
service apache2 restartHotovo. Uživatel má svoje veřejné soubory na adrese http://nazevserveru.domena/~uzivatel. Adresář "data" vidí jen on sám přes FTP.
Podobné články:
Aktualizace:
- 6.4.2015 - doplněno nastavení vsftpd.
- http://www.linuxsoft.cz/article.php?id_article=248
- http://forum.ubuntu.cz/index.php?topic=71916.0;prev_next=next#new
- http://www.linuxexpres.cz/praxe/sprava-linuxoveho-serveru-prakticke-rady-pro-zabezpeceni-ssh
- http://www.cyberciti.biz/tips/vsftp-chroot-users-limit-to-only-their-home-directory.html
- http://ubuntuserverguide.com/2012/10/how-to-enable-and-configure-apache2-userdir-module-in-ubuntu-server-12-04.html
- http://www.howtogeek.com/howto/ubuntu/add-a-user-on-ubuntu-server/
Žádné komentáře:
Okomentovat