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