Create Linux User with Geneated Password and MySQL User

/ Published in: Bash
Save to your folder(s)


> newuser.bash [username]

**What it does**

- Generates a random password with `makepasswd`
- Encrypts it with `mkpasswd` for use with useradd
- Adds the user
- Adds a MySQL Database for user
- Adds a MySQL User for user
- Grants all privileges to user to his/her database

**Sample Output**

km@KM-VBox:~$ ./newuser.bash test1
Creating user: test1
Password: zV8MDMRh
[sudo] password for km:
Creating mysql user & database for test1

[Short demo on Screenr (1min)](

Copy this code and paste it in your HTML
  1. #!/bin/bash
  2. echo "Creating user: $1"
  3. PASSWD=`makepasswd --char=8`
  4. echo "Password: $PASSWD"
  5. ENPASSWD=`mkpasswd $PASSWD`
  6. sudo useradd $1 -d "/var/www/$1" -g devs -m -p "$ENPASSWD"
  8. echo "Creating mysql user & database for $1"
  9. mysql -u root --password=km123 -e "CREATE DATABASE $1; CREATE USER $1 IDENTIFIED BY '$PASSWD'; GRANT ALL ON $1.* TO '$1'"

Report this snippet


RSS Icon Subscribe to comments

You need to login to post a comment.