CH-J Server Managerserverbeheer over SSH
Menu
Alle handleidingen en artikelen →

Bestanden in /etc bewerken via SFTP en sudo

Waarom SFTP toegang tot /etc weigert en hoe u veilig een configuratiebestand wijzigt zonder root-toegang open te stellen.

Waarom SFTP meldt dat toegang is geweigerd

SFTP draait onder het account waarmee u bent aangemeld en heeft geen equivalent van sudo. De meeste bestanden in /etc zijn eigendom van root, waardoor een gewoon account sommige bestanden kan lezen maar in geen ervan kan schrijven. Dit is correct gedrag en moet niet worden verholpen door de rechten te verruimen.

Wat u moet vermijden

Voer geen chmod 777 uit op een configuratiebestand, maak uw eigen account geen eigenaar van bestanden in /etc en schakel aanmelden als root met een wachtwoord niet in voor één bewerking. Sommige diensten weigeren bestanden met te ruime rechten, en elke dergelijke wijziging maakt de server ook lang na de bewerking minder veilig.

Gebruik sudoedit in een terminal

sudoedit kopieert het bestand naar een tijdelijke locatie, opent het in uw editor onder uw eigen account en schrijft het pas terug nadat u het hebt opgeslagen. De editor zelf draait niet als root.

sudoedit /etc/nginx/nginx.conf

Upload een kopie en installeer die vervolgens

Gebruikt u liever een lokale editor, upload het bestand dan naar uw persoonlijke map en installeer het met sudo. Maak eerst een reservekopie van het origineel op een locatie die door geen enkele configuratie-inclusie wordt ingelezen. Het commando install stelt de eigenaar en de rechten in; op systemen met SELinux stelt restorecon de juiste context in. Controleer de eigenaar en rechten van het origineel voordat u deze waarden overneemt, want niet elk bestand gebruikt root en 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

Controleer voordat u de wijziging toepast

Een bestand met onjuiste syntaxis kan een dienst bij de volgende herstart stilleggen. Voer de controle van de betreffende dienst uit voordat u deze herlaadt. Houd bij wijzigingen aan SSH-instellingen uw huidige sessie open en test een nieuwe aanmelding vanuit een tweede venster.

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

Bewerken met sudo in CH-J Server Manager

File Manager biedt aan een bestand met sudo te openen wanneer het SSH-account het niet kan lezen, en waarschuwt dat opslaan sudo vereist. Bij het opslaan gaan de gegevens naar de afgeschermde tijdelijke map van het account. Na controle verplaatst sudo ze naar hun bestemming, met behoud van eigenaar, rechten, ACL en SELinux-context. Een optionele reservekopie bewaart het origineel voordat het wordt vervangen. Het wachtwoord gaat uitsluitend naar sudo op de server en wordt niet op schijf of in logboeken opgeslagen. Als het sudo-beleid een terminal vereist (requiretty), omzeilt de app die eis niet. De app controleert de inhoud van het bestand niet, dus voer zelf de controle van de dienst uit.

Gedetailleerde documentatie

man: sudo / sudoedit →

man: install →

Biometrische ontgrendeling en beveiliging →