답변:
usermod -p
플래그는 암호화 된 형식에서 이미 암호로 데이터를 기대하고있다.
사용은 openssl passwd
암호화 된 데이터를 생성하거나이처럼해야 할 일 :
usermod -p `openssl passwd` (USERNAME)
openssl passwd
암호는 0-10 자입니다.
작동하지 않는 이유는 usermod
의 -p 옵션이 암호가 이미 암호화되어 있기 때문입니다.
에서 usermod
의 매뉴얼 페이지
-p, --password PASSWORD
The encrypted password, as returned by crypt(3).
이런 식으로 암호를 설정하는 것은 권장되지 않습니다.
대신을 사용해야합니다 passwd <username>
. usermod
루트로 수행 해야합니다 ( 현재 로그인 한 사용자 비밀번호를 변경하지 않은 경우).
사용자 foo의 비밀번호를 변경합니다.
sudo passwd foo
새 비밀번호를 묻는 메시지가 나타납니다.
passwd
만료 시간 등의 설정에 대한 자세한 내용 은 맨 페이지를 참조하십시오 .
행운을 빕니다!
여기에 추가해야 할 것은 다음과 같습니다. 이 방법:
sudo usermod -p perl -e "print crypt("new-password","Q4")"
john
매우 유사한 여러 개의 암호가 모두 작동 함을 의미합니다. 예를 들어, Oracle Linux 7.4 서버 및 Ubuntu 17.10 데스크탑에서 다음을 고려하십시오.
sudo usermod -p perl -e "print crypt("borkling","Q4")"
orabuntu
지금이라면 :
수-오라 분투
"borkling"으로 시작하는 모든 암호가 작동합니다. 예 :
borkling88 borklingjars
"borkline"은 작동하지 않습니다. 이전에 언급했듯이 접두사로 "borkling"이있는 모든 암호는 암호가이 방식으로 설정 될 때도 작동하기 때문입니다.
afaik이 원하지 않는 부작용을 갖지 않는 방법은 다음과 같습니다.
(이에 대한 신용은 여기 "Sandeep"로 이동합니다 :
/programming/2150882/how-to-automatically-add-user-account-and-password-with-a-bash-script )
RedHaty Linux에서 : (dodo priv를 허용하지 않으려면 "-G wheel"을 생략하십시오)
sudo useradd -m -p $ (openssl passwd -1 $ {PASSWORD}) -s / bin / bash -G 휠 $ {USERNAME}
Debiany Linux에서 (Sudo priv를 원하지 않으면 -G sudo를 생략하십시오) :
sudo useradd -m -p $ (openssl passwd -1 $ {PASSWORD}) -s / bin / bash -G sudo $ {USERNAME}