CH-J Server Managerupravljanje strežnikov prek SSH
Meni
Vsi vodiči in članki →

Kako urejati datoteke v /etc prek SFTP in sudo

Zakaj SFTP v /etc zavrne dostop in kako varno spremeniti nastavitveno datoteko, ne da bi omogočili dostop do računa root.

Zakaj SFTP zavrne dostop

SFTP se izvaja pod računom, s katerim ste se prijavili, in nima ustreznice za sudo. Večina datotek v /etc je v lasti računa root, zato lahko običajen račun nekatere bere, v nobeno pa ne more pisati. To je pravilno delovanje in ga ne smete popravljati z rahljanjem dovoljenj.

Česa ne smete storiti

Na nastavitveni datoteki ne zaženite chmod 777, lastništva datotek v /etc ne prenesite na svoj račun in ne omogočite prijave root z geslom samo zaradi enega urejanja. Nekatere storitve zavrnejo datoteke s preohlapnimi dovoljenji, vsaka taka sprememba pa zmanjšuje varnost strežnika še dolgo po končanem urejanju.

Uporabite sudoedit v terminalu

sudoedit kopira datoteko na začasno mesto, jo odpre v vašem urejevalniku pod vašim računom in jo zapiše nazaj šele, ko jo shranite. Sam urejevalnik se ne izvaja kot root.

sudoedit /etc/nginx/nginx.conf

Naložite kopijo in jo nato namestite

Če raje uporabljate lokalni urejevalnik, naložite datoteko v svoj domači imenik in jo namestite s sudo. Izvirnik najprej varnostno kopirajte na mesto, ki ga ne bere nobena direktiva za vključevanje nastavitev. Ukaz install nastavi lastnika in način dostopa, v sistemih s SELinux pa restorecon nastavi pravilen kontekst. Preden prevzamete ti vrednosti, preverite lastnika in način dostopa izvirnika, saj ne uporablja vsaka datoteka root in 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.conf

Preverite pred uveljavitvijo

Datoteka z napačno sintakso lahko ob naslednjem ponovnem zagonu ustavi storitev. Pred ponovnim nalaganjem zaženite preverjanje za zadevno storitev. Ko spreminjate nastavitve SSH, pustite trenutno sejo odprto in preizkusite novo prijavo iz drugega okna.

sudo nginx -t
sudo sshd -t
sudo visudo -cf /etc/sudoers.d/example

Urejanje s sudo v CH-J Server Manager

File Manager ponudi odpiranje datoteke s sudo, kadar je račun SSH ne more prebrati, in opozori, da bo za shranjevanje potreben sudo. Ob shranjevanju se podatki prenesejo v zasebni začasni imenik računa, po preverjanju pa jih sudo premakne na ciljno mesto ter ohrani lastnika, dovoljenja, ACL in kontekst SELinux. Izbirna varnostna kopija shrani izvirnik pred zamenjavo. Geslo se pošlje samo sudo na strežniku in se ne shranjuje na disk ali v dnevnike. Če pravilnik sudo zahteva terminal (requiretty), aplikacija te zahteve ne obide. Aplikacija ne preverja vsebine datoteke, zato preverjanje storitve zaženite sami.

Podrobna dokumentacija

man: sudo / sudoedit →

man: install →

Biometrično odklenjevanje in varnost →