
가끔은 에서 파일을 편집해야 할 때가 있습니다 /etc
. 콘솔( sudo mv some/file /etc/some/file
, sudo nano /etc/some/file
) 등을 사용하여 이 작업을 수행할 수 있다는 것을 알고 있지만 이 방법이 약간 투박하다고 생각합니다. 버릇없다고 부르지만 저는 Nautilus 및 Gedit와 같은 GUI 도구에 정말 익숙합니다.
Ubuntu Mate 또는 Mint와 같은 배포판을 사용하면 쉽습니다. 폴더를 마우스 오른쪽 버튼으로 클릭하면 "와 같은 옵션이 있는 상황에 맞는 메뉴가 나타납니다.관리자로 열기". 그런 다음 텍스트 파일을 두 번 클릭하면 높은 권한으로 gedit에서 열립니다.
그러나 Ubuntu의 기본 Unity 버전에서는 이러한 옵션을 찾을 수 없습니다.
메모:
- 나는 그 질문을 알고 있다.높은 권한으로 노틸러스를 실행하는 방법, 그러나 여기서 권장되는 솔루션은
gksudo
더 이상 작동하지 않는 를 사용하는 것입니다. - 나는 항상 할 수 있다고 생각
sudo gedit /etc/whatever
하지만 - AFAIK -sudo
GUI 도구와 함께 사용하는 것은 매우 잘못된 조언입니다 - 높은 권한으로 GUI 도구를 실행하는 것은 바람직하지 않다고 말하는 사람들이 있었던 것을 기억합니다.조금도. 그러나 일부 기본 GUI 도구 자체가 권한 상승을 요구하기 때문에 그렇지 않은 것 같습니다. Ubuntu 소프트웨어는 아마도 가장 눈에 띄는 예 중 하나일 것입니다.
높은 권한으로 Nautilus 또는 Gedit를 실행할 수 있는 방법이 있습니까?
답변1
패키지를 설치하면 루트 권한으로 파일을 열 수 있는 마우스 오른쪽 버튼 클릭 메뉴를 쉽게 가질 수 있습니다 nautilus-admin
. 이 노틸러스 확장은 두 개의 마우스 오른쪽 버튼 클릭 메뉴 옵션을 추가합니다. 이 중 하나를 사용하면 gedit에서 편집하기 위해 루트로 파일을 열 수 있습니다. 다른 항목을 사용하면 루트 권한으로 노틸러스 창을 열 수 있습니다.
패키지는 표준 Ubuntu 리포지토리에 포함되어 있으며 다음 명령으로 설치할 수 있습니다.
sudo apt install nautilus-admin
이는 GNOME의 관리 백엔드에 의존합니다. 즉, URI를 사용하여 명령줄에서 파일을 여는 것과 효과가 동일합니다 admin://
.
gedit admin:///etc/fstab
답변2
pkexec
대신 사용할 수 있습니다 gksudo
. 나의 달리기 방식. 상승된 권한을 사용하여 다음 내용으로 gedit
스크립트(예: )를 생성하는 것입니다 ./usr/local/bin/su_gedit
#!/bin/bash
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gedit $*
.desktop
그런 다음 이 스크립트에 대한 파일을 생성할 수 있습니다 . 예를 들어 /usr/share/applications/su_gedit.desktop
(다른 위치가 작동하는지 테스트하지 않았습니다 /usr/share/applications
) 내용을 복사 org.gnome.gedit.desktop
하고 적절하게 수정할 수 있습니다. Name=
및 Comment=
행을 원하는 대로 변경하고 (예: Name=Root Text Editor
및 ) 모든 행에서 로 Comment=Edit text files with root privileges
바꿉니다 .gedit
/usr/local/bin/su_gedit
Exec=
그런 다음 일반적으로 gedit에서 열리는 파일을 노틸러스에서 마우스 오른쪽 버튼으로 클릭하고 "다른 프로그램으로 열기"를 선택하면 목록에 "루트 텍스트 편집기" 항목이 표시됩니다. 없어도 "모든 프로그램 표시" 버튼을 누르면 선택할 수 있습니다.
또 다른 방법은 상승된 실행을 실행하는 유사한 스크립트를 생성 gnome-terminal
하고 해당 스크립트에 대한 실행 프로그램을 생성하는 것입니다. 그놈 패널이나 데스크탑에서. 해당 터미널에서 간단히 루트로 실행할 수 있습니다 gedit
. 그것이 내가 보통 하는 일이다.
답변3
니모- Cinnamon Desktop과 함께 제공되는 기본 파일 관리자입니다. Nemo를 사용하면 다음을 수행할 수 있습니다.마우스 오른쪽 버튼으로 클릭주어진 디렉토리의 어느 곳에서나 "루트로 열기."
그러면 파란색 "상승된 권한" 배너가 있는 두 번째 창이 열립니다.
도움이 되었기를 바랍니다!
메모 - (Nautilus를 계속 사용하고 싶은 것 같으니 다른 파일 관리자로 전환하고 싶지 않다면 이 조언을 무시하세요.)
답변4
댓글 중에서...
그만큼적절한CLI에서 privs로 GUI 애플리케이션을 시작하는 가장 쉬운 방법은 sudo -H
.
예:sudo -H gedit /etc/filename
매뉴얼 페이지 에서 sudo
...
-H, --set-home
Request that the security policy set the HOME environment
variable to the home directory specified by the target
user's password database entry. Depending on the policy,
this may be the default behavior.
따라서 플래그는 현재 사용자의 홈 디렉터리 대신에 의 홈 디렉터리를 가정 -H
합니다 . 그렇지 않으면 의 홈 디렉토리에 있는 일부 파일이 루트의 소유가 되어 다양한 문제가 발생할 수 있습니다.sudo
root
HOME
user
메모: 에서 발췌'sudo -H'의 '-H' 플래그는 무엇을 의미합니까?
sudo
옵션 없이 사용할 때 발생하는 가장 일반적인 문제 -H
는 로그인 루프가 생성되는 것입니다.
이는 다음 파일이 your_username:your_username에서 root:root로 변경되었기 때문에 발생할 수 있습니다.
-rw------- 1 your_username your_username 407910 Nov 2 08:56 .ICEauthority
-rw------- 1 your_username your_username 58 Jun 23 2017 .Xauthority