Wie öffne ich eine Datei als root in TextEdit? Ich habe diese Befehle als versucht root
, aber TextEdit sagt immer, dass es gesperrt ist:
open -e /etc/apache2/httpd.conf
open -e -F /etc/apache2/httpd.conf
open -e -F -W /etc/apache2/httpd.conf
Und sudo !!
macht natürlich keinen Unterschied.
Sie können eine textedit-Instanz als root öffnen, indem Sie den vollständigen Pfad zur eigentlichen ausführbaren Datei eingeben:
sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"
Sobald Ihre Root-Instanz geöffnet ist, können Sie nach der gewünschten Datei suchen oder dies über die Befehlszeile tun:
sudo su - root -c "open -e /etc/apache2/httpd.conf"
BBEdit ist das kostenlose Tool dafür im Jahr 2019 und ersetzt alle Funktionen von TextErangler und Sie können es aus dem App Store und der Entwickler-Website herunterladen.
TextEdit ist nicht wirklich das richtige Werkzeug zum Bearbeiten von Konfigurationsdateien – verwenden Sie stattdessen TextWrangler . Es ist kostenlos, hat eine integrierte Funktion zum Bearbeiten von Dateien mit Root-Zugriff von einem Administratorkonto aus sowie Dinge wie das Öffnen unsichtbarer Dateien und Verzeichnisse, das einfache Bearbeiten von Dateien über SFTP usw.
emacs
hat auch einen schönen farbcodierten Konf-Modus.Hier ist eine Möglichkeit, TextEdit nicht als root auszuführen:
EDITOR='open -Wne' sudo -e /etc/apache2/httpd.conf
Sie müssen die Kopie von TextEdit beenden, nachdem Sie die Datei bearbeitet haben.
sudo -e
, manchmal bekannt als sudoedit
, aber nicht unter OS X, erstellt eine temporäre Kopie der Datei mit Schreibberechtigung für den aktuellen Benutzer, ruft einen Editor auf die übliche Unix-Art auf und kopiert sie dann zurück.
Die Optionen zu open
: -W
wartet auf das Beenden von TextEdit, sudo
weiß also, wann die Datei zurückkopiert werden muss. -n
stellt sicher, dass es auf eine separate Instanz von TextEdit wartet, nicht auf eine, die Sie bereits geöffnet haben und die Sie möglicherweise nicht beenden möchten. Sie können auch ersetzen -t
, -e
wenn Sie einen anderen bevorzugten Texteditor als TextEdit haben.
Wenn Sie bereits einen EDITOR
Variablensatz haben, um einen grafischen Editor mit eigenem wartefähigen Befehlszeilentool (z. B. TextMate oder BBEdit) zu verwenden, benötigen Sie keinen dieser Tricks und können ihn einfach sudo -e <file>
direkt verwenden.
Da der Root-Benutzer deaktiviert ist, besteht die einzige Möglichkeit, einer beliebigen OS X-App Root-Berechtigungen zu erzwingen, darin, Root zu aktivieren und sich als Root anzumelden.
Apps können die API natürlich verwenden, um das System zur Authentifizierung aufzufordern und den erwarteten Dialog anzuzeigen, wenn Sie nach einem Administratorbenutzer und -passwort gefragt werden. TextEdit hat diese Funktion nicht, daher müssen Sie die Dateiberechtigungen umgehen, bevor und nachdem Sie die gewünschten Dateien öffnen und schreiben.
Hast du versucht mit sudo open -a textedit
die App zu öffnen?
sudo su -
eine Shell als root aus und kann sie dann open "/Applications/Textedit.app/Contents/MacOS/TextEdit"
erfolgreich ausführen. Ich habe weder den Root-Benutzer aktiviert, noch habe ich mich als Root-Benutzer angemeldet.sudo chmod +w name_of_the_file
sudo open -a TextEdit name_of_the_file
sudo chmod -w name_of_the_file
Sollte arbeiten
/etc/apache2/httpd.conf
has default permissions 0444
. Ich habe den ganzen Morgen versucht, diese Datei (mit emacs
Remote) zu bearbeiten, aber nie daran gedacht, die (neuen Lion-) Berechtigungen zu überprüfen.sudo nano /etc/hosts
arbeitet für Lion
Znarkus
sudo /Applications/Textedit.app/Contents/MacOS/TextEdit
Öffnen Sie dann einfach die Datei von TextEditwebbiedave
pico .bash_profile
, hinzufügenalias sudotext='sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"'
, Datei speichern und Terminal neu starten. Jetzt können Sie einfach eingebensudotext
, um TextEdit als root zu starten.Cregox
open -t "/etc/hosts"
zB. Mit TextWrangler können Sie einfachedit /etc/hosts
.Markus
Jamie Hutber
Henrique de Sousa
sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"
funktioniert das nicht :(Gesegneter Geek
RiZKiT
sudo -b "/System/Applications/TextEdit.app/Contents/MacOS/TextEdit"