저는 Arch Linux 서버를 관리하고 있습니다.
/etc/sudoers
내 편집기 변수 에 emacs를 안전하게 추가하려면 어떻게 해야 합니까 ? 현재 나는 "emacs"를 가지고 있지만 이것은 M-x shell
기본적으로 비슷한 것을 원 rvim
하지만 emacs용입니다.
답변1
당신은 아마 할 수 없습니다.
Emacs는 편집기(emacs lisp로 작성된)를 실행하는 Lisp 인터프리터이므로 emacs를 사용할 때마다 Lisp 인터프리터 자체에 액세스할 수 있습니다.
인터프리터는 다양한 작업을 수행할 수 있습니다: 파일 또는 디렉터리 생성/삭제, 액세스 권한 변경 등... 기본적으로 일단 emacs에 있으면 상당한 피해를 입히기 위해 쉘에 액세스할 필요가 없습니다. emacs 자체는 충분히 강력합니다. .
가장 좋은 방법은 아마도 작은 emacs 복제본을 찾는 것입니다(예:http://www.emacswiki.org/emacs/EmacsImplementations)은 제한된 편집을 지원합니다.
답변2
불행하게도 Emacs는 너무 강력해서 (셸이 비활성화된 상태에서도) 많은 일을 할 수 있습니다.
아마도 올바른 해결책은 sudoers 파일을 복사하고 적절한 권한을 부여한 다음 해당 파일에 쓸 수 있는 권한만 가진 특수 사용자로 Emacs를 실행하고 마지막으로 확인 후 파일을 다시 복사하는 래퍼를 구축하는 것입니다.
그러나 보안 관점에서 보면 분명히 모든 sudoers 편집자가 할당할 수 있습니다.어느권한이므로 실제로 해결하려는 문제가 무엇인지 알고 싶습니다.
그래도 나는 실험을 했습니다. SHELL
로 설정하면 /bin/false
Emacs shell
명령은 실행하려고 할 때 오류와 함께 즉시 종료됩니다 $SHELL
.