Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- JAILPREFIX=/home
- HOMEDIR=/home
- USERNAME=$1
- [ "$1" == "" ] && {
- echo "Syntax: ${0} <username>"
- exit 1
- }
- echo -e "\nCreating jail in ${JAILPREFIX}/${USERNAME}"
- jk_init -v -j ${JAILPREFIX}/${USERNAME} sftp scp jk_lsh
- echo -e "\nCreating home directory in ${JAILPREFIX}/${USERNAME}${HOMEDIR}"
- mkdir -p ${JAILPREFIX}/${USERNAME}${HOMEDIR}
- rsync -rtv /etc/skel/ ${JAILPREFIX}/${USERNAME}${HOMEDIR}/
- echo -e "\nAdding user/group ${USERNAME}"
- useradd --home-dir ${JAILPREFIX}/${USERNAME}/.${HOMEDIR} --user-group --shell /usr/sbin/jk_chrootsh ${USERNAME}
- chown -R ${USERNAME}.${USERNAME} ${JAILPREFIX}/${USERNAME}${HOMEDIR}
- echo -e "\nGenerating secure password"
- PASSWORD=`pwgen -sB 12 1`
- echo ${USERNAME}:${PASSWORD} | chpasswd
- USERID=`id -u ${USERNAME}`
- GROUPID=`id -g ${USERNAME}`
- echo -e "\nUpdating /etc/password inside jail"
- echo "${USERNAME}:x:${USERID}:${GROUPID}::${HOMEDIR}:/usr/sbin/jk_lsh" >> ${JAILPREFIX}/${USERNAME}/etc/passwd
- echo -e "\nUpdating /etc/group inside jail"
- echo "${USERNAME}:x:${GROUPID}:" >> ${JAILPREFIX}/${USERNAME}/etc/group
- echo -e "\nUpdating jk_lsh.ini to allow scp and sftp"
- cat >> ${JAILPREFIX}/${USERNAME}/etc/jailkit/jk_lsh.ini << EOL
- [${USERNAME}]
- paths= /usr/bin, /usr/lib
- executables= /usr/bin/scp, /usr/lib/openssh/sftp-server
- EOL
- echo -e "\nSummary"
- echo -e "-----------------------------------------------------"
- echo -e "Jail: ${JAILPREFIX}/${USERNAME}"
- echo -e "Home: ${JAILPREFIX}/${USERNAME}${HOMEDIR}"
- echo -e "-------------------------------------------------------"
- echo -e "Username: ${USERNAME} (UID: ${USERID})"
- echo -e "Group: ${USERNAME} (GID: ${GROUPID})"
- echo -e "Password: ${PASSWORD}"
- echo -e "-------------------------------------------------------"
- echo -e "\n"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement