De ce SFTP raportează acces refuzat
SFTP rulează cu contul cu care te-ai autentificat și nu are un echivalent pentru sudo. Majoritatea fișierelor din /etc aparțin lui root, așa că un cont obișnuit poate citi unele dintre ele, dar nu poate scrie în niciunul. Acesta este comportamentul corect și nu trebuie „reparat” prin relaxarea permisiunilor.
Ce să nu faci
Nu rula chmod 777 pe un fișier de configurare, nu schimba proprietarul fișierelor din /etc cu propriul cont și nu activa autentificarea root cu parolă doar pentru o singură editare. Unele servicii refuză fișierele cu permisiuni prea largi, iar fiecare astfel de modificare reduce siguranța serverului mult timp după terminarea editării.
Folosește sudoedit într-un terminal
sudoedit copiază fișierul într-o locație temporară, îl deschide în editor cu propriul tău cont și îl scrie înapoi doar după salvare. Editorul în sine nu rulează ca root.
sudoedit /etc/nginx/nginx.confÎncarcă o copie, apoi instaleaz-o la destinație
Dacă preferi un editor local, încarcă fișierul în directorul tău personal și instalează-l cu sudo. Mai întâi fă o copie de siguranță a originalului într-un loc din care nicio directivă de includere a configurației nu citește fișiere. Comanda install setează proprietarul și permisiunile, iar pe sistemele cu SELinux, restorecon setează contextul corect. Verifică proprietarul și permisiunile originalului înainte să preiei aceste valori, deoarece nu toate fișierele folosesc root și 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.confValidează înainte de aplicare
Un fișier cu erori de sintaxă poate opri un serviciu la următoarea repornire. Rulează verificarea serviciului în cauză înainte de reîncărcare. Când modifici setările SSH, păstrează sesiunea curentă deschisă și testează o nouă autentificare dintr-o a doua fereastră.
sudo nginx -t
sudo sshd -t
sudo visudo -cf /etc/sudoers.d/exampleEditarea cu sudo în CH-J Server Manager
File Manager oferă deschiderea unui fișier cu sudo atunci când contul SSH nu îl poate citi și avertizează că salvarea va necesita sudo. La salvare, datele ajung în directorul temporar privat al contului și, după verificare, sudo le mută la destinație, păstrând proprietarul, permisiunile, ACL și contextul SELinux. O copie de siguranță opțională păstrează originalul înainte de înlocuire. Parola este trimisă doar către sudo pe server și nu este stocată pe disc sau în jurnale. Dacă politica sudo impune un terminal (requiretty), aplicația nu ocolește această cerință. Aplicația nu validează conținutul fișierului, așa că rulează tu verificarea serviciului.