sudo - 한 명의 사용자가 비밀번호를 입력할 필요가 없습니다.

sudo - 한 명의 사용자가 비밀번호를 입력할 필요가 없습니다.

Centos 6.10으로 서버를 설정하고 있는데, sudo로 사용자를 설정할 때 sudo가 비밀번호를 묻지 않는다는 것을 발견했습니다. 동일한(전체) Sudo 권한을 가진 다른 사용자를 설정하면 비밀번호를 묻는 메시지가 표시됩니다.

나는 사용자를 명시적으로 설정하고 동일한 동작으로 휠 그룹에 추가하려고 시도했습니다. 또한 변경 사항 없이 비밀번호 시간 초과를 0으로 설정했습니다.

[root@noaspare ~]# su mysql 
bash-4.1$ ls -l ls: 
cannot open directory.: Permission denied 
bash-4.1$ sudo ls -l
[sudo] password for mysql: (Ctrl-C)
bash-4.1$ exit 

[root@noaspare ~]# su ssi 
[ssi@noaspare /root]$ ls 
ls: cannot open directory .: Permission denied 

[ssi@noaspare /root]$ sudo ls 
anaconda-ks.cfg  install.log  install.log.syslog  rpmbuild

ssi에 대한 sudo -l은 다음을 제공합니다.

Matching Defaults entries for ssi on this host:
    requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE 
INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", 
env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME >    LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET 
 XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin,
timestamp_timeout=0


User ssi may run the following commands on this host:

Sudoers entry:
RunAsUsers: ALL
Commands:
ALL

이 구성에서 비밀번호를 요구하지 않는 이유가 무엇인지 아시나요? 두 사용자 사이에서 볼 수 있는 유일한 차이점은 쉘이지만 그것이 왜 중요한지 알 수 없습니다.

사용자에게 특정한 유일한 줄은 다음과 같습니다.

ssi       ALL=(ALL)       ALL

답변1

문제가 무엇인지 방금 알아냈을 때 해결책은 간단하고 논리적이라는 것이 밝혀졌습니다. 사용자는 어떤 방식으로든 비밀번호가 정의되어 있지 않았습니다(그러나 그런 일이 발생할 수는 있었습니다). 사용자의 비밀번호를 설정한 후 sudo도 예상대로 작동했습니다.

관련 정보