우분투 10.04 서버를 사용하고 있으며 사용자의 EDITOR 선택을 존중하도록 sudoers를 설정하려고합니다 (한도 내)
내 sudoers에는 다음이 있습니다.
Defaults editor=/usr/bin/nano:/usr/bin/vim
Defaults env_reset
그리고 사용자 .bashrc에서 :
export EDITOR=/usr/bin/vim
$ EDITOR가 설정되었습니다.
$ echo $EDITOR
/usr/bin/vim
이것에 따르면 man sudoers
$ EDITOR를 vim으로 설정하기에 충분해야합니다.
editor A colon (':') separated list of editors allowed to be used with visudo.
visudo will choose the editor that matches the user's EDITOR environment
variable if possible, or the first editor in the list that exists and is
executable. The default is the path to vi on your system.
그러나이 nano
사용자에게는 여전히 사용되고 있습니다. env의 빠른 점검 :
$ sudo -- env | grep EDITOR
아무것도 반환하지 않습니다.
$ sudo -E -- env | grep EDITOR
보고 EDITOR=/usr/bin/vim
EDITOR를 작동시키기 위해 다음 작업을 수행 할 수 있음을 알고 있습니다.
- 설정
env_editor
,env_keep+=EDITOR
또는의 sudoers에 EDITOR 변수를 유지 다른 옵션 : 나는 어떤 임의의 실행을 허용 할 수 있기 때문에이 작업을 수행 할 수 없습니다 (예를 들어export EDITOR=~/bad_program_to_run_as_root
) - 사용
sudo -E
또는 짝수alias sudo='sudo -E'
:env_reset
SETENV가없는 포인트 와 사용자를 물리칩니다 (내가주고 싶은 것이 아닙니다 : 이전 포인트 참조)sudo: sorry, you are not allowed to preserve the environment
- 설정
editor=/usr/bin/vim
:하지만 vim을 모르는 다른 사용자가 있습니다 - 사용
sudo select-editor
: 닫기, 그러나sudo visudo
여전히 열립니다nano
- 그냥 sudoedit를 사용하거나 직접 정력 : 그런데 당신은 같은 도구의 안전을 잃고
visudo
,vipw
,crontab -e
. - 그냥 처리하십시오. 아마도 통찰력이 없으면 알고 싶습니다.
나는 또한 설정을 시도했습니다 VISUAL
과 SUDO_EDITOR
(절망) 변수
sudo visudo
위에서 타협하지 않고 선택한 사용자 편집기에서 열어 놓칠 내용이 있습니까?
편집하다:
왜 이것이 예상대로 작동하지 않는지 이해합니다. 다른 사람이 같은 오해를 가지고있는 경우를 대비하여 여기에 내려 놓았습니다.
sudoers 파일에서
Defaults editor=/usr/bin/nano:/usr/bin/vim
- 실행할 때 허용되는 편집기 목록 만 참조
visudo
(다른 프로그램은 아님) editor
$ EDITOR를 확인하지만 runningsudo visudo
인 경우sudo
$ EDITOR를 설정하지 않으므로visudo
실행하면 비어 있습니다.- 따라서이 경우 첫 번째 편집기가 사용됩니다.
nano
누구든지 이것이 올바른지 확인할 수 있습니까?
따라서 안전한 솔루션은 다음을 추가하는 것이 좋습니다.
Defaults!/usr/sbin/visudo env_keep+=EDITOR
즉, visudo를 실행하는 경우에만 EDITOR를 유지하십시오. 그런 다음에 대해 확인됩니다
Defaults editor=/usr/bin/nano:/usr/bin/vim
그리고 일치하지 않으면 nano
그러나 이상하게도 그렇지 않은 것 같습니다.
$ sudo su - root
# export EDITOR=/bin/echo
# visudo
/etc/sudoers.tmp
visudo: /etc/sudoers.tmp unchanged
/bin/echo
편집기로 사용됩니다. 곤충? 아니면 다른 오해?
감사
VISUAL
우선 순위를 정하는 것에 대한 답변이 거의 없기 때문EDITOR
입니다. 내EDITOR
변수가 무시되고 있다고 생각했습니다 . Centos7 모두에서 밝혀EDITOR
과 것은VISUAL
디폴트로 보인다pico
.