CH-J Server ManagerSerververwaltung über SSH
Menü
Alle Anleitungen und Artikel →

Dateien in /etc über SFTP und sudo bearbeiten

Warum SFTP in /etc den Zugriff verweigert und wie Sie Konfigurationsdateien sicher ändern, ohne den root-Zugriff auszuweiten.

Warum SFTP den Zugriff verweigert

SFTP läuft unter dem Konto, mit dem Sie sich angemeldet haben, und bietet keine Entsprechung zu sudo. Die meisten Dateien in /etc gehören root. Ein normales Konto kann daher einige davon lesen, aber keine beschreiben. Dieses Verhalten ist korrekt und sollte nicht durch gelockerte Rechte „behoben“ werden.

Was Sie vermeiden sollten

Führen Sie für eine Konfigurationsdatei kein chmod 777 aus, übertragen Sie Dateien in /etc nicht in den Besitz Ihres Kontos und erlauben Sie nicht nur für eine einzelne Bearbeitung die root-Anmeldung per Passwort. Manche Dienste lehnen Dateien mit zu weit gefassten Rechten ab. Jede solche Änderung macht den Server noch lange nach der Bearbeitung unsicherer.

Im Terminal sudoedit verwenden

sudoedit kopiert die Datei an einen temporären Speicherort, öffnet sie unter Ihrem eigenen Konto in Ihrem Editor und schreibt sie erst nach dem Speichern zurück. Der Editor selbst läuft nicht als root.

sudoedit /etc/nginx/nginx.conf

Eine Kopie hochladen und anschließend installieren

Wenn Sie einen lokalen Editor bevorzugen, laden Sie die Datei in Ihr Home-Verzeichnis hoch und installieren Sie sie mit sudo. Sichern Sie vorher das Original an einem Ort, der von keiner Konfigurationseinbindung eingelesen wird. Der Befehl install setzt Eigentümer und Berechtigungsmodus; auf Systemen mit SELinux setzt restorecon den richtigen Kontext. Prüfen Sie Eigentümer und Modus des Originals, bevor Sie diese Werte übernehmen, denn nicht jede Datei verwendet root und 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

Vor dem Anwenden prüfen

Eine syntaktisch fehlerhafte Datei kann einen Dienst beim nächsten Neustart zum Stillstand bringen. Führen Sie vor dem Neuladen die Prüfung des jeweiligen Dienstes aus. Wenn Sie SSH-Einstellungen ändern, lassen Sie Ihre aktuelle Sitzung geöffnet und testen Sie eine neue Anmeldung in einem zweiten Fenster.

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

Bearbeiten mit sudo in CH-J Server Manager

File Manager bietet an, eine Datei mit sudo zu öffnen, wenn das SSH-Konto sie nicht lesen kann, und weist darauf hin, dass zum Speichern sudo benötigt wird. Beim Speichern gelangen die Daten in das private temporäre Verzeichnis des Kontos. Nach einer Überprüfung verschiebt sudo sie an ihren Zielort und erhält dabei Eigentümer, Rechte, ACL und SELinux-Kontext. Eine optionale Sicherung speichert vor dem Ersetzen eine Kopie des Originals. Das Passwort wird ausschließlich an sudo auf dem Server übergeben und weder auf der Festplatte noch in Protokollen gespeichert. Verlangt die sudo-Richtlinie ein Terminal (requiretty), umgeht die Anwendung diese Vorgabe nicht. Die Anwendung prüft den Dateiinhalt nicht; führen Sie die Dienstprüfung daher selbst aus.

Ausführliche Dokumentation

man: sudo / sudoedit →

man: install →

Biometrisches Entsperren und Sicherheit →