2011-01-20 46 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

“useradd”是否能够执行大多数您要列出的任务? – eumiro 2011-01-20 09:38:22

+0

我这么认为 - 我会尝试修改它。 – 2011-01-20 09:41:23

回答

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选项,你”是否需要使用类似expectautoexpect