Proč SFTP hlásí odepření přístupu
SFTP běží pod účtem, kterým jste se přihlásili, a nemá obdobu sudo. Většina souborů v /etc patří účtu root, takže běžný účet může některé z nich číst, ale do žádného zapisovat. Je to správné chování, které se nemá napravovat oslabením oprávnění.
Čemu se vyhnout
Nespouštějte chmod 777 na konfiguračním souboru, neměňte vlastníka souborů v /etc na svůj účet a nepovolujte přihlášení účtu root heslem jen kvůli jedné úpravě. Některé služby odmítají soubory s příliš volnými oprávněními a každá taková změna snižuje bezpečnost serveru i dlouho po dokončení úpravy.
Použijte sudoedit v terminálu
sudoedit zkopíruje soubor do dočasného umístění, otevře jej v editoru pod vaším účtem a zapíše jej zpět až po uložení. Samotný editor neběží jako root.
sudoedit /etc/nginx/nginx.confNahrajte kopii a poté ji nainstalujte
Pokud dáváte přednost místnímu editoru, nahrajte soubor do svého domovského adresáře a nainstalujte jej pomocí sudo. Nejprve zálohujte originál na místo, odkud jej nenačte žádná direktiva pro zahrnutí konfigurace. Příkaz install nastaví vlastníka a režim oprávnění a na systémech se SELinux nastaví restorecon správný kontext. Před převzetím těchto hodnot zkontrolujte vlastníka a režim oprávnění originálu, protože ne každý soubor používá root a 644.
stat -c '%U %G %a' /etc/nginx/nginx.conf
sudo cp -a /etc/nginx/nginx.conf /root/nginx.conf.bak
sudo install -o root -g root -m 644 ~/nginx.conf.new /etc/nginx/nginx.conf
sudo restorecon -v /etc/nginx/nginx.confPřed použitím změn ověřte konfiguraci
Soubor s chybnou syntaxí může při příštím restartu zastavit službu. Před opětovným načtením konfigurace spusťte kontrolu příslušné služby. Při změně nastavení SSH ponechte současnou relaci otevřenou a ve druhém okně vyzkoušejte nové přihlášení.
sudo nginx -t
sudo sshd -t
sudo visudo -cf /etc/sudoers.d/exampleÚpravy pomocí sudo v CH-J Server Manager
File Manager nabídne otevření souboru pomocí sudo, pokud jej účet SSH nemůže přečíst, a upozorní, že uložení bude vyžadovat sudo. Při ukládání se data přenesou do soukromého dočasného adresáře účtu a po ověření je sudo přesune na místo se zachováním vlastníka, oprávnění, ACL a kontextu SELinux. Volitelná záloha uloží kopii originálu před jeho nahrazením. Heslo se předá pouze sudo na serveru a neukládá se na disk ani do logů. Pokud pravidla sudo vyžadují terminál (requiretty), aplikace tento požadavek neobchází. Aplikace neověřuje obsah souboru, proto kontrolu služby spusťte sami.