모든 사용자에게 sudo가 다음과 같이 보이도록 하고 싶습니다.
사용자가 현재 비어 있지 않은 비밀번호를 가지고 있는 경우 비밀번호를 묻는 메시지를 표시합니다.
사용자의 현재 비밀번호가 비어 있는 경우 비밀번호를 묻는 메시지를 표시하고 빈 문자열을 수락하거나 메시지를 전혀 표시하지 않고 허용합니다.
가능합니까? 이제 (1)이 있지만 비밀번호가 비어 있는 사용자의 경우 다음과 같은 일이 발생합니다.
$ sudo echo
Sorry, try again.
Sorry, try again.
Sorry, try again.
sudo: 3 incorrect password attempts
또는 각 사용자에 대해 비밀번호 확인을 해제할 수 있지만 사용자가 나중에 비밀번호를 설정한 다음 sudo에서 비밀번호를 묻는 메시지를 표시해야 하기 때문에 이는 제가 원하는 것이 아닙니다.
답변1
나는 이것이 가능하다고 생각하지 않습니다. 왜냐하면 sudo
사용자가 비밀번호를 갖고 있지 않거나 () 유효성 검사를 위해 비밀번호(비어 있거나 그렇지 않은 경우)가 PAM 모듈에 제공될 때까지 빈 문자열이라는 것을 알지 못하기 때문입니다. sudo
따라서 계속 진행하기 전에 항상 사용자에게 비밀번호를 요청해야 합니다.
NOPASSWD
여기서 유일한 방법은 sudoers 파일의 옵션을 사용하여 비밀번호가 필요하지 않은 사용자를 구성하는 것입니다. 그러나 이는 매우 위험하므로 이 방법을 진행하기 전에 최종 목표가 무엇인지 신중하게 생각해 보시기 바랍니다.
...그래서 보안에는 관심이 없습니다...
"빈" 비밀번호를 설정하여 시작하세요.
이 U&L Q&A의 질문은 다음과 같습니다.비밀번호 없이 사용자를 생성하는 방법은 무엇입니까?나에게 효과가 있었던 이 방법을 사용하는 것이 좋습니다.
$ sudo passwd --delete samtest
Removing password for user samtest.
passwd: Success
지금 테스트해보세요
이제 파일에 다음과 같은 줄을 추가하세요 /etc/sudoers
.노트:항상 이 파일 편집을 사용하세요 sudo visudo
.
samtest ALL=(ALL) NOPASSWD: ALL
이제 비밀번호 없이 "samtest" 사용자로 로그인해 보십시오.
$ su - samtest
$
이제 다음 계정을 사용해 보세요 sudo
.
$ whoami
samtest
$ sudo echo
$
답변2
sudo
콘솔을 통해 작동할 때 SSH를 통해 비밀번호를 묻는 메시지가 표시되는 이유가 궁금하십니까 ?
최소한 Ubuntu 16.04에서는 기본 정책에 다음이 포함됩니다 /etc/pam.d/common-auth
.
auth [success=1 default=ignore] pam_unix.so nullok_secure
이것pam_unix(8)설명서 문서는 nullok_secure
사용 목적으로만 사용됩니다 /etc/securetty
. 이 제한 사항이 필요하지 않은 경우 nullok_secure
로 대체할 수 있습니다 nullok
.
또는 NOPASSWD
slm에 설명된 대로 특정 사용자가 sudoers 파일을 통해 빈 비밀번호를 사용하도록 허용할 수 있습니다.
답변3
이것은 내 PAM "auth" 스크립트의 버그입니다. 스크립트가 "ok" 또는 "done"을 얻지 못한 채 종료됩니다.