2017-11-23 12 views
1

In対話的にユーザー名とパスワードを設定したいが、パスワードが正しく設定されていない。ターミナルでbashパスワードでユーザーを作成:パスワードが期待どおりに設定されていない

user=username 
pass=$(perl -e 'print crypt($ARGV[0], "password")' $password) 
echo $user $pass 
useradd -m -p $pass $user 

create_user.sh:

$ sudo ./create_user.sh 
username pa8fg5oAyLo8g 
$ tail -1 /etc/passwd 
username:x:1004:1004::/home/username: 
$ su - username 
Password: password 
su: Authentication failure 

私が間違って何をしているのですか?


UPDATE

これは動作し、それは望ましくないかもしれない端末ウィンドウにusername passwordを出力し、それはハードコードされた値を必要とする:

create_user.sh

user=username 
pass=password 
useradd -m username 
echo 'username:password' | chpasswd 

端末内:

$ sudo ./create_user.sh 
username password 
$ su - username 
Password: password 
[email protected]:~$ 

答えて

0

私の構文が間違っていました。ターミナルで

create_user.sh

user=username 
pass=password 
salt=Az # or any 2-character string from [A-za-z] 
# Encrypt the password 
pass=$(perl -e 'print crypt($ARGV[0], $salt)' $pass) 
echo $user $pass 
useradd -p $pass -m $user 

$ sudo ./create_user.sh 
username AzSzB2uy8JFlk 
$ su - username 
Password: password 
[email protected]:~$ 
ここで作業バージョンです
関連する問題