#!/bin/bash for users in "$@"; do # user:pass[:e][:[uid][:gid]] IFS=':' read -a data <<< "$users" user="${data[0]}" pass="${data[1]}" if [ "${data[2]}" == "e" ]; then chpasswdParams="-e" uid="${data[3]}" gid="${data[4]}" else uid="${data[2]}" gid="${data[3]}" fi useraddParams="-m -N" if [ -n "$uid" ]; then useraddParams="$useraddParams -o -u $uid" fi if [ -n "$gid" ]; then useraddParams="$useraddParams -g $gid" fi useradd $useraddParams "$user" chown root:root /home/$user chmod 755 /home/$user if [ -z "$pass" ]; then # just make a very long and random password pass="$(echo `/dev/null 2>&1; then mkdir -p /home/$user/.ssh cp $user /home/$user/.ssh/authorized_keys chown $user:users /home/$user/.ssh/authorized_keys fi done cd /root exec /usr/sbin/sshd -D