Comment ouvrir un fichier en tant que root, dans TextEdit? J'ai essayé ces commandes en tant que root
, mais TextEdit dit toujours qu'il est verrouillé:
open -e /etc/apache2/httpd.conf
open -e -F /etc/apache2/httpd.conf
open -e -F -W /etc/apache2/httpd.conf
Et bien sûr, sudo !!
cela ne fait aucune différence.
sudo /Applications/Textedit.app/Contents/MacOS/TextEdit
puis ouvrez simplement le fichier de TextEditpico .bash_profile
, ajoutezalias sudotext='sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"'
, enregistrez le fichier, redémarrez Terminal. Maintenant, vous pouvez simplement tapersudotext
pour démarrer TextEdit en tant que root.open -t "/etc/hosts"
par exemple. Avec TextWrangler, vous pouvez simplement taperedit /etc/hosts
.sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"
pas :(BBEdit est l'outil gratuit pour le faire en 2019 et il remplace toutes les fonctionnalités de TextErangler et vous pouvez le télécharger à partir de l'App Store et du site Web du développeur.
TextEdit n'est pas vraiment le bon outil pour éditer des fichiers de configuration - utilisez plutôt TextWrangler . C'est gratuit, a la capacité intégrée de modifier des fichiers avec un accès root à partir d'un compte administrateur, ainsi que des choses comme l'ouverture de fichiers et de répertoires invisibles, la modification facile de fichiers via SFTP, etc.
la source
emacs
a aussi un joli mode de conf de code couleur.Voici un moyen d'éviter d'exécuter TextEdit en tant que root:
Vous devrez quitter la copie de TextEdit après avoir modifié le fichier.
sudo -e
, parfois appelésudoedit
OS X, mais pas sur celui-ci, crée une copie temporaire du fichier avec une autorisation d'écriture pour l'utilisateur actuel, appelle un éditeur dessus de la manière Unix habituelle, puis le recopie.Les options pour
open
:-W
attend que TextEdit se ferme, doncsudo
sait quand recopier le fichier.-n
garantit qu'il attend une instance distincte de TextEdit, pas celle que vous avez déjà ouverte et que vous ne voudrez peut-être pas quitter. Vous pouvez également remplacer-t
au lieu de-e
si vous avez un éditeur de texte préféré autre que TextEdit.Si vous avez déjà un
EDITOR
ensemble de variables pour utiliser un éditeur graphique avec son propre outil de ligne de commande capable d'attendre (comme TextMate ou BBEdit), alors vous n'avez besoin d'aucune de ces astuces et vous pouvez simplement l'utilisersudo -e <file>
directement.la source
Étant donné que l'utilisateur root est désactivé, la seule façon de forcer une application OS X arbitraire à disposer des autorisations root est d'activer root et de se connecter en tant que root.
Les applications peuvent bien sûr utiliser l'API pour demander au système l'authentification et faire apparaître la boîte de dialogue que vous attendez lorsqu'on vous demande un utilisateur administrateur et un mot de passe. TextEdit n'a pas cette fonction, vous devez donc contourner les autorisations de fichier avant et après avoir ouvert et écrit les fichiers souhaités.
Avez-vous essayé
sudo open -a textedit
d'ouvrir l'application?la source
sudo su -
pour démarrer un shell en tant que root, puis je peux exécuteropen "/Applications/Textedit.app/Contents/MacOS/TextEdit"
avec succès. Je n'ai pas l'utilisateur root activé et je ne me suis pas connecté en tant qu'utilisateur root.Devrait marcher
la source
/etc/apache2/httpd.conf
dispose d'autorisations par défaut0444
. J'ai essayé toute la matinée de modifier ce fichier (avec àemacs
distance) mais je n'ai jamais pensé à vérifier les (nouveaux Lion) autorisations.travaille pour Lion
la source