CentOS 7 서버에서 sudo Lecture를 사용할 수 없습니다.

CentOS 7 서버에서 sudo Lecture를 사용할 수 없습니다.

누군가가 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>

이것이 예상한 동작을 가져오는지 확인하십시오.

관련 정보