
Wenn ich mir also die Berechtigungen der Datei /etc/sudoers anschaue, sieht es so aus
-r--r----- 1 root root 705 Nov 2 19:57 /etc/sudoers
Würde das nicht bedeuten, dass es nicht beschreibbar ist? Wie schafft es der Root-Benutzer also, darauf zu schreiben?
Antwort1
Der Root-Benutzer hat immer vollen Schreibzugriff auf alle Dateien, unabhängig von ihrem Modus.
Das vielleicht beste Beispiel ist /etc/shadow
, das sich im Modus 000 befindet, aber natürlich vom Root geändert werden kann:
[root@centos7 ~]# ls -pl /etc/shadow
----------. 1 root root 1353 Oct 26 07:40 /etc/shadow
Antwort2
Wie in den Kommentaren erwähnt, war die ursprüngliche Antwort etwas unklar.
Der Besitzer einer Datei kann jederzeit die Berechtigungen aller Dateien ändern, die ihm gehören (während Root dies für alle vorhandenen Dateien tun kann).
Wenn Sie ein normaler Benutzer sind, hängt es von der Art und Weise ab, wie Sie versuchen, die schreibgeschützte Datei zu ändern:
- öffne die Datei mit vi und ändere sie -> die Änderungen kannst du mit ":w!" schreiben.
- versuchen Sie #echo "test" >> schreibgeschützte Datei, da eine Berechtigung verweigert wurde.
Als Root-Benutzer können Sie jede gewünschte Datei überschreiben und ändern, das Programm vi berücksichtigt jedoch die Nur-Lese-Berechtigungen und fordert eine Bestätigung an.
Die Datei /etc/sudoers sollte immer mit dem Befehl "visudo" geändert werden, der den Inhalt der aktuellen Datei in einer temporären Datei öffnet und einige Überprüfungen vor dem Speichern der Änderungen durchführt. Als Root-Benutzer können die Änderungen trotz der Nur-Lese-Berechtigungen geschrieben werden.
Antwort3
Versuchen Sie, visudo anstelle von vi zu verwenden
sudo visudo