누군가가 sudo를 할 때마다 sudo 강의를 활성화하려고 하는데 전혀 작동하지 않는 것 같습니다.
비슷한 질문을 찾았습니다여기, 실행시 결과가 나오지 않으면 strings /usr/bin/sudo | grep -A4 -i "lecture"
sudo Lecture 가 활성화되지 않은 것이고, 결과도 보이지 않아서 지금 활성화 시켜 보려고 한다는 분이 계시네요.
나는/etc/sudoers.d/lectures파일에는 다음 내용이 포함되어 있습니다.
Defaults lecture = always
Defaults lecture_file = /etc/sudoers.lecture
그리고 내/etc/sudoers파일 포함/etc/sudoers.d목차. 내 sudoers 파일의 내용은 다음과 같습니다.
Defaults requiretty
Defaults !visiblepw
Defaults always_set_home
Defaults env_reset
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS"
Defaults env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
Defaults env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
root ALL=(ALL) ALL
%wheel ALL=(ALL) NOPASSWD:ALL
#includedir /etc/sudoers.d
#
이전 내용이 주석 처리된 줄 알았는데 includedir
"주석 해제"하면 sudo를 실행할 때마다 오류가 발생합니다. 그래서 매뉴얼을 살펴본 후 다음 줄을 발견했습니다.
/etc/sudoers.d에서 삽입된 파일을 읽습니다. (여기서 #은 주석을 나타내지 않습니다.)
분명히 이것은 #
코멘트가 아닙니다...이상합니다.
그래서 지금/etc/sudoers.d/lectures파일 참조/etc/sudoers.lecture, 간단한 "Hello World"를 유일한 콘텐츠로 사용하여 만들었습니다.
그런데 sudo를 하면 아직도 강의가 하나도 안 보이고, 아직도 하나도 안 뜬다.연설String strings /usr/bin/sudo
...뭔가 잘못하고 있는 게 틀림없어요. 찾을 수가 없어요.
고쳐 쓰다
토마스 Nsudo -k
다음을 사용하여 재활용되는 캐시된 인증 자격 증명을 모두 지우는 것이 좋습니다 .
[Fri May 06 12:25:33]{1} root@web-stg-a01:~(✓)# cat /etc/sudoers
Defaults requiretty
Defaults !visiblepw
Defaults always_set_home
Defaults env_reset
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS"
Defaults env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
Defaults env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
root ALL=(ALL) ALL
%wheel ALL=(ALL) NOPASSWD:ALL
#includedir /etc/sudoers.d
[Fri May 06 12:25:37]{2} root@web-stg-a01:~(✓)# cat /etc/sudoers.d/lecture
Defaults lecture = always
Defaults lecture_file = /etc/sudoers.lecture
[Fri May 06 12:25:42]{3} root@web-stg-a01:~(✓)# cat /etc/sudoers.lecture
TEST...
[Fri May 06 12:25:47]{4} root@web-stg-a01:~(✓)# exit
logout
[Fri May 06 12:25:51]{15} cymedica@web-stg-a01:~(✓)$ sudo -k su -
Last login: Fri May 6 12:25:33 MST 2016 on pts/1
[Fri May 06 12:25:56]{1} root@web-stg-a01:~(✓)#
그러나 그것은 진실이 아니다.
답변1
이는 호출 시 캐시된 인증 자격 증명을 재활용한 결과일 수 있습니다 sudo
. 사용해 보세요
sudo -k <some_allowed_command>
이것이 예상한 동작을 가져오는지 확인하십시오.