수퍼 유저 권한으로 파일 편집


54

시스템 파일을 편집해야 할 경우, 일반적인 사용자와 함께 Emacs를 시작한 것은 일반적인 상황이므로 파일이 쓰기 방지됩니다. 루트 권한을 얻으려면 어떻게해야합니까? 나는 M-x sudo죽어가는 것과 같은 것을 의미합니다 .

수퍼 유저로 Emacs를 시작하고 싶지 않으며 종료하고 싶지 않습니다.

답변:


59

사용 C-x C-f하고 입력 /su::/etc/hostname하거나 /sudo::/etc/hostname적용하십시오.

이것은 Emacs와 함께 배포되는 TRAMP 패키지를 사용합니다 . 이 패키지는 원격 파일,보다 일반적으로 Emacs가 직접 열 수없는 파일에 대한 액세스를 제공합니다.


1
감사. 의 의미는 무엇입니까 ::?
smonff

7
:는 분리기이다; 더 이상 인수가 없다는 것을 나타 내기 위해 두 번째로 제공합니다. 당신은 할 수 있습니다 /su:otheruser@localhost:예를 들어,.
artagnon

5
/sudo::sudo:root@<hostname>:
속임수

9

find-file트램과 함께 사용하십시오 . 프롬프트에서 /sudo::/etc/ssh/ssh_configsudo와 서브 쉘을 사용하여 루트 권한으로 해당 파일을 엽니 다. sudo를 처음 사용하면 암호를 묻는 메시지가 표시되지만 해당 세션이 닫힐 때까지 기존 /sudo::명령 을 접두어로 사용하여 해당 권한이있는 파일을 편집 할 수 있습니다 .

자세한 내용은 http://www.gnu.org/software/tramp/ 를 참조하십시오.


3

ivy패키지 를 사용하고 counsel-find-file를 바꾸도록 구성한 경우 find-file, 미리 구성된 "ivy 조치"중 하나는 파일을 루트로 편집하는 것입니다. hydra해당 작업 의 기본 키 입력은 r입니다.


2

오늘날이 문제를 해결하는 많은 패키지가 있습니다 (2018 현재). 그들 중 일부는 다음과 같습니다.

  • sudo-edit이미 열린 읽기 전용 파일에 대한 편집 권한을 전환 할 수 있습니다. 그냥 M-x sudo과 암호를 입력하면됩니다. 이것을 몇 년 동안 사용한 후에, 나는 이것이 더 필요하다고 생각합니다. sudo-edit파일을 다른 사용자로 열 수 있지만, 제공되지 않은 경우 sudo가 기본값입니다.
  • dired-toggle-sudo. 이 질문을 한 후에 찾은 첫 번째 패키지 솔루션 이었습니다 . Dired 지향적이므로 파일 지향 버전 을 선호하는 경우이 목록의 첫 번째 글 머리표를 참조하십시오.
  • 다른 솔루션 은 Melpa에 있습니다.

2

Helm을 사용하는 경우. 외부 패키지 / 추가 구성이 필요하지 않습니다. 그것은 즉시 작동합니다.

내부에서에 바인딩 된을 helm-find-files호출 할 수 있습니다 . 세션의 파일 또는 디렉토리에서 작동합니다 .find file as rootC-c rhelm-find-files

루트 파일 / 디렉토리를 열 때마다 비밀번호를 입력하지 않으려면 다음 줄을 당신의~/.authinfo.gpg

machine localhost port sudo login root password xxxxxx
machine your_machine_name port sudo login root password xxxxx

출처

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.