2011-01-20 20 views
1

SFTPユーザーの追加を自動化したいと考えています。必要な私のコマンドは、ユーザーのジェイソン 'を追加例えば取って、以下のとおりである。非常に簡単なBASHスクリプトを書くのを助けてください?

useradd jason 
passwd jason 
mkdir /home/jason 
chown root:jason /home/jason 
chmod 775 /home/jason 
usermod -d /home/jason jason 
usermod -a -G sftp jason 
mount --bind /srv/ftp/~jason /home/jason 

どのように私はBASHのための変数でそれぞれの名前を置き換えることができ、それはそれをプラグインするように、それは最初にパスワードを要求していますそれはどこに必要ですか?

私は自分自身でこれを行うことを学ぶしようとします

は、私の精神的な能力は非常に

+1

あなたがリストしているタスクのほとんどを実行できるのではないのですか? – eumiro

+0

私はそうだと思います - それを修正しようとします。 –

答えて

1
#!/bin/bash 

read -p "Enter user: " user 
read -s -p "Enter password: " pass 

useradd "$user" 
passwd --stdin "$user" <<<"$pass" 
mkdir /home/"$user" 
chown root:"$user" /home/"$user" 
chmod 775 /home/"$user" 
usermod -d /home/"$user" "$user" 
usermod -a -G sftp "$user" 
mount --bind /srv/ftp/~"$user" /home/"$user" 

なおpasswdのバージョンが--stdinオプションをサポートしていない場合、あなた」..今限られていますexpectまたはautoexpect

+0

--stdinはオプションではないようですが、どうすればいいですか?私を助けてくれたあなたの魂に感謝します。 –

+0

ああ - どこかで 'echo username:password | chpasswd'、私は試してみます。 –

+0

@Timは良い選択肢のようです。あなたの場合 'chpasswd <<<" $ user:$ pass "' – SiegeX

関連する問題