비밀번호가 비활성화된 사용자를 일괄적으로 추가하는 방법은 무엇입니까?

비밀번호가 비활성화된 사용자를 일괄적으로 추가하는 방법은 무엇입니까?

행위:

# newusers
username::1002:1002::/home/username:/bin/bash
^D
No password supplied
No password supplied
No password supplied
newusers: (user username) pam_chauthtok() failed, error:
Authentication token manipulation error
newusers: (line 1, user username) password not changed

비밀번호 없이 사용자를 추가합니다( 의 해시 "!" 사용 /etc/shadow).

행위:

# newusers
username:*:1002:1002::/home/username:/bin/bash
^D

비밀번호가 "*"인 사용자를 추가합니다(일부 해시 포함 /etc/shadow).

그러나 필요한 것은 .txt 파일에 해시 "*"가 있는 "username" 사용자를 추가하는 것입니다 /etc/shadow.

어떻게 해야 하나요?

답변1

비밀번호 필드를 비워두세요. newusers"제공된 비밀번호 없음"에 대해 반복적으로 불평하고 비밀번호를 변경할 수 없지만 !사용자는 섀도우 비밀번호 필드에 잘못된 비밀번호로 생성됩니다.

username::1002:1002::/home/username:/bin/bash

바꾸다:

username:*:1002:1002::/home/username:/bin/bash

예를 들어:

# echo "username::10000:10000::/home/username:/bin/bash" | newusers 
No password supplied
No password supplied
No password supplied
newusers: (user username) pam_chauthtok() failed, error:
Authentication token manipulation error
newusers: (line 1, user username) password not changed

# tail -1 /etc/passwd
username:x:10000:10000::/home/username:/bin/bash

# tail -1 /etc/shadow
username:!:16713:0:99999:7:::

답변2

사용자 배치를 추가한 후 다음 명령을 사용하여 각 사용자의 잠금을 해제할 수 있습니다.

usermod -p <username> '*'

답변3

"*" 또는 "!"를 비밀번호로 전송하면 모든 사용자가 해당 특정 비밀번호를 설정하게 될 수 있습니다. @cas가 언급한 점은 /etc/shadow비밀번호 자체의 내용보다는 비밀번호의 내용을 고려할 때 유효합니다. 비밀번호는 기본적으로 newusers암호화되어 있으므로 이 방법은 작동하지 않습니다.

비밀번호를 강제로 비활성화하는 방법은 암호화를 강제하지 않는 것입니다.

echo 'username:*:16713:0:99999:7:::' > users

그런 다음 암호화를 비활성화합니다.

newusers -c NONE users

이를 확인하는 가장 좋은 방법은 생성된 항목을 검사하는 것입니다 /etc/shadow.

tail /etc/shadow

관련 정보