Tento článek popisuje, jak nastavit uživateli systému Linux® oprávnění ke čtení a zápisu pro kořenový adresář webových dokumentů, který obvykle najdete v /var/www/ adresář. Poté, co se připojíte k tomuto uživateli prostřednictvím protokolu SFTP (Secure File Transfer Protocol), můžete nahrát obsah svých webových stránek přímo do složky vašich stránek, například /var/www/složka-vaše-stránky .
Tento příklad používá účet s názvem demo . Nezapomeňte nahradit ukázku v příkladech s vámi preferovaným jménem.
Tyto příkazy vyžadují oprávnění superuživatele, takže předpokládají, že je spouštíte od uživatele root sudo
účet.
Získat skupinu a adresář
Potřebujete znát skupinu, pod kterou proces webového serveru běží, a také umístění kořenového adresáře vašeho webového serveru. Můžete to najít v konfiguračním souboru webového serveru (například httpd.conf nebo apache2.conf pro Apache®). V následující části můžete najít výchozí hodnoty pro webový server Apache běžící na některých distribucích Linuxu:
CentOS®, Fedora® a RHEL®
Na systémech založených na Red Hat® běží Apache pod skupinou apache s kořenovým adresářem dokumentu /var/www/html .
Operační systém Ubuntu® a Debian®
Na systémech založených na Debian® běží Apache pod skupinou www-data s kořenovým adresářem dokumentu /var/www .
Vytvoření nebo úprava uživatele
Vytvořte nového uživatele nebo upravte stávajícího uživatele pro příklad.
Vytvořte nového uživatele
Vytvořte nového uživatele ve stejné skupině jako webový server s jeho domovským adresářem nastaveným na kořen vašeho dokumentu.
Nezapomeňte změnit hodnoty tak, aby odpovídaly vašemu uživatelskému jménu a nastavení vašeho webového serveru.
V systému CentOS, Fedora nebo RHEL je příkaz k vytvoření uživatele podobný následujícímu příkladu:
$ sudo useradd -d /var/www/html -G apache demo
V operačních systémech Debian nebo Ubuntu použijte různé hodnoty:
$ sudo useradd -d /var/www -G www-data demo
Po vytvoření uživatele nastavte také heslo.
$ sudo passwd demo
V případě potřeby můžete přeskočit na část o změně kořenového adresáře dokumentu na možnost skupinového zápisu.
Upravit stávajícího uživatele
Chcete-li upravit stávajícího uživatele, musíte jej přidat do skupiny, kterou váš webový server používá.
V systému CentOS, Fedora nebo RHEL je příkaz podobný následujícímu příkazu:
$ sudo usermod -a -G apache demo
V operačním systému Ubuntu nebo Debianu může být výstup podobný následujícímu příkazu:
$ sudo usermod -a -G www-data demo
Chcete-li změnit účet tak, aby používal kořen dokumentu jako svůj domovský adresář, můžete tento proces zopakovat.
Pokud používáte CentOS, Fedora nebo RHEL, spusťte na příkazovém řádku následující příkaz:
$ sudo usermod -d /var/www/html demo
V operačním systému Ubuntu nebo Debianu použijte následující příkaz:
% sudo usermod -d /var/www demo
Změnit oprávnění kořenového adresáře dokumentu
Změňte kořen dokumentu tak, aby soubor a obsah byly ve stejné skupině jako webový server.
Nastavte skupinu
V systému CentOS, Fedora nebo RHEL spusťte následující příkaz:
$ sudo chgrp -R apache /var/www/html
V operačním systému Ubuntu nebo Debianu spusťte následující příkaz:
$ sudo chgrp -R www-data /var/www
Nastavte oprávnění
Udělejte do kořenové skupiny dokumentu možnost zápisu, ale nastavte setgid oprávnění pro samotný kořenový adresář dokumentu. setgid oprávnění zajišťuje, že nové soubory, které vytvoříte v kořenovém adresáři dokumentu, zdědí ID skupiny ze svého nadřazeného adresáře.
Na CentOS, Fedoře nebo RHEL můžete nastavit správná oprávnění pomocí příkazů:
$ sudo chmod -R g+w /var/www/html
$ sudo chmod g+s /var/www/html
Verze příkazů pro operační systém Ubuntu a Debian jsou:
$ sudo chmod -R g+w /var/www
$ sudo chmod g+s /var/www
Připojit a otestovat
Připojte se ke svému serveru přes SFTP pomocí uživatelského účtu, který jste vytvořili nebo upravili. Zkuste nahrát soubor, abyste se ujistili, že máte správně nastavená oprávnění. Pokud dostanete oprávnění odepřeno chyba, spusťte příkaz ls -la
, v kořenovém adresáři dokumentu a zkontrolujte oprávnění k adresáři.