Jak otworzyć plik jako root w TextEdit? Próbowałem tych poleceń jako root
, ale TextEdit zawsze mówi, że jest zablokowany:
open -e /etc/apache2/httpd.conf
open -e -F /etc/apache2/httpd.conf
open -e -F -W /etc/apache2/httpd.conf
I oczywiście sudo !!
nie ma znaczenia.
sudo /Applications/Textedit.app/Contents/MacOS/TextEdit
po prostu otwórz plik z TextEditpico .bash_profile
, dodajalias sudotext='sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"'
, zapisz plik i uruchom ponownie terminal. Teraz możesz po prostu wpisać,sudotext
aby uruchomić TextEdit jako root.open -t "/etc/hosts"
na przykład. Z TextWrangler może po prostu wpisaćedit /etc/hosts
.sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"
nie działa :(BBEdit to bezpłatne narzędzie do robienia tego w 2019 roku, które zastępuje wszystkie funkcje TextErangler i można je pobrać ze sklepu App Store i strony internetowej programisty.
TextEdit nie jest tak naprawdę odpowiednim narzędziem do edycji plików konfiguracyjnych - zamiast tego użyj TextWrangler . Jest darmowy, ma wbudowaną możliwość edycji plików z dostępem roota z konta administratora, a także takie rzeczy, jak otwieranie niewidzialnych plików i katalogów, łatwe edytowanie plików przez SFTP itp.
źródło
emacs
ma też ładny tryb conf z kolorami.Oto sposób na uniknięcie uruchamiania TextEdit jako root:
Po edycji pliku konieczne będzie zamknięcie kopii TextEdit.
sudo -e
, czasami znany jakosudoedit
OS X, ale tworzy tymczasową kopię pliku z uprawnieniem do zapisu dla bieżącego użytkownika, wywołuje edytor w zwykły sposób uniksowy, a następnie kopiuje go z powrotem.Opcje
open
:-W
czeka na zamknięcie TextEdit, więcsudo
wie, kiedy skopiować plik z powrotem.-n
zapewnia, że czeka on na osobnej instancji TextEdit, a nie takiej, którą już masz otwartą, której możesz nie chcieć zamknąć. Możesz również zastąpić-t
zamiast-e
jeśli masz ulubiony edytor tekstu inny niż TextEdit.Jeśli masz już
EDITOR
zmienną ustawioną do korzystania z edytora graficznego z własnym narzędziem wiersza poleceń (takim jak TextMate lub BBEdit), nie potrzebujesz żadnej z tych sztuczek i możesz po prostu użyćsudo -e <file>
bezpośrednio.źródło
Ponieważ użytkownik root jest wyłączony, jedynym sposobem na wymuszenie, aby dowolna aplikacja OS X miała uprawnienia roota, jest włączenie roota i zalogowanie się jako root.
Aplikacje mogą oczywiście używać interfejsu API, aby poprosić system o uwierzytelnienie i wyświetlić okno dialogowe, którego oczekujesz, gdy zostaniesz poproszony o administratora i hasło. TextEdit nie ma tej funkcji, więc musisz obejść uprawnienia do plików przed i po otwarciu i zapisaniu pożądanych plików.
Czy próbowałeś
sudo open -a textedit
otworzyć aplikację?źródło
sudo su -
aby uruchomić powłokę jako root, a następnie mogęopen "/Applications/Textedit.app/Contents/MacOS/TextEdit"
pomyślnie uruchomić . Nie mam włączonego użytkownika root ani nie zalogowałem się jako użytkownik root.Powinno działać
źródło
/etc/apache2/httpd.conf
ma domyślne uprawnienia0444
. Przez cały ranek próbowałem edytować ten plik (emacs
zdalnie), ale nigdy nie myślałem o sprawdzeniu uprawnień (nowego Lwa).pracuje dla Lion
źródło