Normalnya menambah user di linux bisa menggunakan useradd atau adduser, tetapi pada kasus CI/CD ataupun otomatisasi kita bisa menggunakan shell script untuk mempercepat pembuatan user di Linux. Yang perlu di ingat Linux case sensitive, jadi antara huruf besar dan kecil dianggap sesuatu yang berbeda, contoh
jaranguda tidak sama dengan Jaranguda atau jarangUda
Menambah User di Linux
Format umum, contoh menambah user jaranguda
useradd jaranguda
user tersebut belum memiliki password, dan belum bisa login dari shell. Defaultnya shell yang digunakan user tersebut adalah /bin/sh
. Dibalik layar yang dijalankan adalah
useradd USERNAME --create-home --home-dir /home/USERNAME --user-group --shell /bin/bash
contoh untuk user jaranguda
useradd jaranguda --create-home --home-dir /home/jaranguda --user-group --shell /bin/bash
masalah utama dengan cara ini, password harus di input manual
Membuat password dengan chpasswd
Dengan bantuan chpasswd, pembuatan password lebih mudah. Formatnya
echo "USERNAME:PASSWORD" | chpasswd
sebagai contoh saya akan mengganti password user jaranguda
menjadi pJJKjyHXccNxq7bPWyyR51t
echo "jaranguda:pJJKjyHXccNxq7bPWyyR51t" | chpasswd
Contoh Script
Contoh shell script untuk mempercepat proses diatas, simpan sebagai create-user.sh
#!/usr/bin/env bash PASSWORD=$(head -n1 /dev/urandom | tr -dc A-Za-z0-9 | head -c 20 ; echo '') # create user useradd "$1" --create-home --home-dir "/home/$1" --user-group --shell /bin/bash # set password echo "$1:$PASSWORD" | chpasswd # tampilkan echo "User: $1 Password: $PASSWORD "
cara penggunaannya, bash create-user.sh username