"useradd"에서 -p 옵션의 목적을 이해할 수 없습니다.
사용자를 생성해 보겠습니다.
useradd -m -p 'pass1' user1
위 명령을 실행한 후 인증을 사용하여 로그인을 시도하면 su - user1
실패합니다. 또 다른 문제는 비밀번호가 /etc/passwd 파일에서 암호화되지 않는다는 것입니다. 실행 cat /etc/passwd | grep user1
하면 user1:pass1:19196:0:99999:7:::
.
답변1
-p
이 옵션에는 암호화된 비밀번호를 제공 해야 합니다 . useradd(8)
매뉴얼 페이지 에서 :
-p, --password PASSWORD
The encrypted password, as returned by crypt(3). The
default is to disable the password.
Note: This option is not recommended because the password
(or encrypted password) will be visible by users listing
the processes.
제공한 값은 파일에서 그대로 사용되므로 passwd
암호화되지 않은 값을 제공하면 해당 비밀번호로 로그인할 수 없습니다.
다음과 같이 작동합니다.
useradd -m \
-p "$(python -c 'import crypt; print(crypt.crypt("pass1"))')" \
testuser
(그러나 다른 시스템 사용자에게 암호가 유출될 가능성이 있다는 경고는 매뉴얼 페이지에 나와 있습니다.)