답변:
실제 실행 파일의 전체 경로를 입력하여 텍스트 편집 인스턴스를 루트로 열 수 있습니다.
sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"
루트 인스턴스가 열리면 명령 줄에서 필요한 파일을 찾아 볼 수 있습니다.
sudo su - root -c "open -e /etc/apache2/httpd.conf"
pico .bash_profile
추가 alias sudotext='sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"'
하고 파일을 저장 한 후 터미널을 다시 시작하십시오. 이제 sudotext
텍스트 편집기를 루트로 시작하기 위해 입력 할 수 있습니다 .
open -t "/etc/hosts"
예를 들어 입력하십시오 . TextWrangler 를 사용하면 간단히 입력 할 수 있습니다 edit /etc/hosts
.
sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"
작동하지 않습니다 :(
BBEdit는 2019 년에이 작업을 수행 할 수있는 무료 도구이며 TextErangler의 모든 기능을 대체하며 App Store 및 개발자 웹 사이트에서 다운로드 할 수 있습니다.
TextEdit은 설정 파일을 편집하기위한 올바른 도구가 아닙니다 . 대신 TextWrangler를 사용하십시오. 무료이며, 관리자 계정에서 루트 액세스 권한으로 파일을 편집하는 기능뿐만 아니라 보이지 않는 파일 및 SFTP를 통해 파일을 쉽게 편집하는 디렉토리 등을 여는 등의 기능이 있습니다.
emacs
멋진 색상 코딩 된 conf 모드도 있습니다.
TextEdit을 루트로 실행하지 않는 방법은 다음과 같습니다.
EDITOR='open -Wne' sudo -e /etc/apache2/httpd.conf
파일을 편집 한 후 TextEdit의 사본을 종료해야합니다.
sudo -e
때때로 sudoedit
OS X에서는 알려져 있지 않지만, 현재 사용자에게 쓰기 권한이있는 파일의 임시 사본을 작성하고 일반적인 Unix 방식으로 파일을 편집 한 다음 다시 복사합니다.
옵션에 open
: -W
텍스트 편집기 종료 때까지 기다립니다, 그래서 sudo
파일 등을 복사 할 때 알고있다. -n
이미 열지 않은 인스턴스가 아닌 별도의 TextEdit 인스턴스를 기다리고 있는지 확인하십시오. TextEdit 이외의 즐겨 사용하는 텍스트 편집기가있는 경우 -t
대신 대신 사용할 수 있습니다 -e
.
EDITOR
대기 가능한 명령 줄 도구 (예 : TextMate 또는 BBEdit)와 함께 그래픽 편집기를 사용 하도록 변수 를 이미 설정 한 경우 이러한 트릭이 필요하지 않고 바로 사용할 수 sudo -e <file>
있습니다.
루트 사용자가 비활성화되어 있으므로 임의의 OS X 앱이 루트 권한을 갖도록하는 유일한 방법은 루트를 활성화하고 루트로 로그인하는 것입니다.
물론 앱은 API를 사용하여 시스템에 인증을 요청하고 관리자 및 암호를 묻는 대화 상자를 표시합니다. TextEdit에는 해당 기능이 없으므로 원하는 파일을 열고 쓰기 전후에 파일 권한을 해결해야합니다.
sudo open -a textedit
앱을 사용하여 사용해 보셨습니까 ?
sudo su -
에서 루트로 쉘을 시작한 다음 open "/Applications/Textedit.app/Contents/MacOS/TextEdit"
성공적으로 실행할 수 있습니다 . 루트 사용자를 활성화하지 않았거나 루트 사용자로 로그인하지 않았습니다.
sudo chmod +w name_of_the_file
sudo open -a TextEdit name_of_the_file
sudo chmod -w name_of_the_file
작동해야합니다
/etc/apache2/httpd.conf
기본 권한이 0444
있습니다. 아침 내내 emacs
원격으로 파일을 편집하려고 시도 했지만 (새로운 라이온) 권한을 확인하려고 생각하지 않았습니다.
sudo /Applications/Textedit.app/Contents/MacOS/TextEdit
TextEdit에서 파일을여십시오