답변:
요점은 sudoedit
권한이없는 편집기를 실행하는 동안 사용자가 허용되지 않은 파일을 편집 할 수 있도록하는 것입니다. 이를 위해 sudoedit
편집 할 파일을 임시 위치로 복사하고 요청한 사용자가 파일을 쓸 수 있도록하고 구성된 편집기에서 파일을 엽니 다. 그렇기 때문에 편집기는 관련없는 파일 이름을 임시 디렉토리에 표시합니다. 편집기가 종료되면 sudoedit
실제로 변경되었는지 확인하고 필요한 경우 변경된 임시 파일을 원래 위치로 다시 복사합니다.
visudo
for 와 같이 응용 프로그램에 특정한 경향이 있습니다 /etc/sudoers
.
visudo
합니다 sudoedit
. 나는 visudo
그것을 확실히 알고 있었다. 정리해 주셔서 감사합니다!
이것은 잘 설명되어 맨 . 의 설명 ( 에 해당합니다)는 말한다 :sudo
-e
sudoedit
-e
-e
(편집) 옵션 대신 명령을 실행하는 사용자는 편집 하나 이상의 파일을 원하는, 그 나타냅니다. 명령 대신sudoedit
보안 정책을 참조 할 때 문자열 " "이 사용됩니다. 정책에 따라 사용자에게 권한이 부여되면 다음 단계가 수행됩니다.
- 소유자가 호출 사용자로 설정하여 편집 할 파일로 임시 사본이 작성됩니다.
- 정책에 의해 지정된 편집기가 임시 파일을 편집하기 위해 실행됩니다.
sudoers
정책 용도SUDO_EDITOR
,VISUAL
및EDITOR
(이 순서로) 환경 변수. 아무도 경우SUDO_EDITOR
,VISUAL
또는이EDITOR
설정되어 있지 않은, 편집기에 나열된 첫 번째 프로그램sudoers(5)
옵션이 사용됩니다.- 파일을 수정 한 경우 임시 파일이 원래 위치로 다시 복사되고 임시 버전이 제거됩니다.
지정된 파일이 없으면 작성됩니다. 로 실행되는 대부분의 명령과 달리
sudo
편집기는 호출하는 사용자 환경을 수정하지 않고 실행합니다. 어떤 이유로sudo
편집 된 버전으로 파일을 업데이트 할 수없는 경우 사용자에게 경고 메시지가 표시되고 편집 된 사본은 임시 파일로 유지됩니다.
특히, 세 번째 단계에 유의하십시오. 편집이 끝날 때 파일이 수정 된 경우에만 원본이 변경됩니다. 따라서 파일을 감시하는 프로그램이있는 경우 (a) 중간 쓰기가 수행되지 않도록하고 (b) 결국 변경하지 않기로 결정한 경우 불필요한 조치를 피할 수 있습니다.