Ich kann anscheinend keine Konfigurationsdateien im Root-System bearbeiten und speichern (z.B. /etc/dhcp/dhcpd.config
); es heißt nur "permission denied" oder die Speicheroption ist im Texteditor blockiert.
Ich bin mir ziemlich sicher, dass ich ein Root-Benutzer bin, aber wie kann ich das sicherstellen? Wenn ich ein Root-Benutzer bin, wie kann ich das Problem beheben?
Welchen Texteditor verwenden Sie? Wenn Sie ein Root-Benutzer sind und das Passwort kennen, versuchen Sie (in einem Terminal) entweder:
sudoedit /etc/dhcp/dhcpd.config
, wenn Sie einen terminalbasierten Editor wie nano
verwenden oder per ssh'ing auf einen Server zugreifen.gksudo <text editor here> /etc/dhcp/dhcpd.config
, wenn Sie einen GUI-basierten Editor wie gedit
verwendenIn beiden Fällen müssen Sie zunächst Ihr Root-Passwort eingeben, wenn Sie dazu aufgefordert werden.
In Ubuntu 14.04 und höher ist gksudo
nicht standardmäßig installiert. Sie müssen das Paket gksu
installieren (entweder über das Software-Center oder über sudo apt-get install gksu
), um es zu erhalten.
In Ubuntu 17.10 ist Wayland anstelle des traditionellen X-Servers voreingestellt, und das Ausführen von grafischen Editoren als root ist schwierig. Siehe https://askubuntu.com/q/961967/158442 für Details.
In Ubuntu 18.04 ist gksudo
nicht in den offiziellen Repositories verfügbar. Verwenden Sie stattdessen sudo -H <text editor>
oder das admin://
Protokoll:
gedit admin:///etc/dhcp/dhcpd.config
Wenn Sie kein Terminal verwenden möchten, können Sie ein GUI-Programm als root aufrufen (dieses Beispiel bezieht sich auf Gedit):
Drücken Sie Alt+F2, um den Dialog Ausführen aufzurufen.
Geben Sie "gksudo" ein, gefolgt von dem Namen des ausführbaren Programms (der sich von dem von der grafischen Benutzeroberfläche angezeigten Namen unterscheiden kann). Zum Beispiel:
gksudo gedit
Drücken Sie Enter.
Sie können auf verschiedene Weise testen, ob Ihre aktuelle Shell als root läuft
~/ > whoami
paul
~/ > sudo whoami
root
~/ > id
uid=1000(paul) gid=1000(paul) groups=1000(devs),4(adm),20(dialout),24(cdrom),…
~/ > sudo id
uid=0(root) gid=0(root) group=0(root)
Andere Antworten geben gute Möglichkeiten, um zu Root-Rechten zu gelangen, daher werde ich diese nicht wiederholen. Angenommen, Sie sind root und Sie können die Datei /etc/dhcp/dhcpd.config
immer noch nicht bearbeiten - dann hat sehr wahrscheinlich jemand oder ein Programm das Programm chattr
benutzt, um die Datei unveränderlich zu machen.
Aus der chattr manual page:
Eine Datei mit dem 'i' Attribut kann nicht verändert werden: sie kann nicht gelöscht oder umbenannt werden, es kann kein Link zu dieser Datei erstellt werden und es können keine Daten in die Datei geschrieben werden. Nur der Superuser oder ein Prozess, der die Fähigkeit
CAP_LINUX_IMMUTABLE
besitzt, kann dieses Attribut setzen oder löschen.
Sie können dies mit lsattr
herausfinden.
lsattr /etc/dhcp/dhcpd.config
Wenn es tatsächlich unveränderlich ist, können Sie das so ausschalten:
chattr -i /etc/dhcp/dhcpd.config