Wie öffne ich eine Datei als root in TextEdit? Ich habe diese Befehle als ausprobiert 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 das sudo !!
macht natürlich keinen Unterschied.
sudo /Applications/Textedit.app/Contents/MacOS/TextEdit
dann öffnen Sie einfach die Datei von TextEditpico .bash_profile
, fügen Sie einealias sudotext='sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"'
Datei hinzu , speichern Sie sie und starten Sie Terminal neu. Jetzt können Sie einfach eingebensudotext
, um TextEdit als root zu starten.open -t "/etc/hosts"
zum Beispiel. Mit TextWrangler können Sie einfach tippenedit /etc/hosts
.sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"
nicht :(BBEdit ist das kostenlose Tool, das dies im Jahr 2019 ermöglicht. Es ersetzt alle Funktionen von TextErangler und kann im App Store und auf der Entwickler-Website heruntergeladen werden.
TextEdit ist nicht wirklich das richtige Tool zum Bearbeiten von Konfigurationsdateien - verwenden Sie stattdessen TextWrangler . Es ist kostenlos und verfügt über eine integrierte Funktion zum Bearbeiten von Dateien mit Root-Zugriff über ein Administratorkonto sowie zum Öffnen unsichtbarer Dateien und Verzeichnisse, mit der sich Dateien problemlos über SFTP bearbeiten lassen.
quelle
emacs
hat auch einen schönen farbcodierten Conf-Modus.So vermeiden Sie, dass TextEdit als root ausgeführt wird:
Sie müssen die Kopie von TextEdit nach dem Bearbeiten der Datei beenden.
sudo -e
, manchmal als,sudoedit
aber nicht unter OS X bekannt, erstellt eine temporäre Kopie der Datei mit Schreibberechtigung für den aktuellen Benutzer, ruft einen Editor auf die übliche Unix-Weise auf und kopiert sie dann zurück.Die folgenden Optionen stehen zur Verfügung
open
:-W
Wartet auf das Beenden von TextEdit, damit Siesudo
wissen, wann Sie die Datei zurückkopieren müssen.-n
Stellt sicher, dass es auf eine separate Instanz von TextEdit wartet, die noch nicht geöffnet ist und die Sie möglicherweise nicht beenden möchten. Sie können auch ersetzen,-t
anstatt-e
einen anderen bevorzugten Texteditor als TextEdit zu verwenden.Wenn Sie bereits eine
EDITOR
Variable für die Verwendung eines Grafikeditors mit einem eigenen wartefähigen Befehlszeilentool (z. B. TextMate oder BBEdit) festgelegt haben, benötigen Sie keine dieser Tricks und können sie direkt verwendensudo -e <file>
.quelle
Da der Root-Benutzer deaktiviert ist, besteht die einzige Möglichkeit, eine beliebige OS X-App zu erzwingen, über Root-Berechtigungen zu verfügen, darin, Root zu aktivieren und sich als Root anzumelden.
Apps können natürlich API verwenden, um das System nach der Authentifizierung zu fragen und das Dialogfeld zu öffnen, das Sie erwarten, wenn Sie nach einem Administratorbenutzer und einem Kennwort gefragt werden. TextEdit verfügt nicht über diese Funktion, daher müssen Sie die Dateiberechtigungen umgehen, bevor und nachdem Sie die gewünschten Dateien öffnen und schreiben.
Haben Sie versucht
sudo open -a textedit
, die App mit zu öffnen?quelle
sudo su -
eine Shell als root und kann sie dannopen "/Applications/Textedit.app/Contents/MacOS/TextEdit"
erfolgreich ausführen . Ich habe weder den Root-Benutzer aktiviert noch mich als Root-Benutzer angemeldet.Sollte arbeiten
quelle
/etc/apache2/httpd.conf
Standardberechtigungen0444
. Ich habe den ganzen Morgen versucht, diese Datei (überemacs
Fernzugriff) zu bearbeiten, habe aber nie daran gedacht, die (neuen Lion-) Berechtigungen zu überprüfen.arbeitet für Lion
quelle