Linux pada dasarnya adalah sistem multi-user, yang berarti lebih dari satu orang dapat berinteraksi dengan sistem yang sama secara bersamaan. Sebagai administrator sistem, Anda memiliki tanggung jawab untuk mengelola pengguna dan grup sistem dengan membuat dan menghapus pengguna, atau menempatkan mereka ke grup yang berbeda.

Di Linux, Anda dapat membuat akun pengguna dan menetapkan pengguna ke grup yang berbeda menggunakan perintah useradd. useradd adalah utilitas low-level, pengguna Debian dan Ubuntu akan lebih cenderung menggunakan utilitas adduser yang lebih ramah pengguna sebagai gantinya.

Diharapkan Anda membuka konsol terminal distribusi Linux untuk mengikuti panduan di halaman ini agar Anda lebih memahami cara kerja perintah useradd.

Kami juga sarankan Anda untuk menguji setiap tutorial atau panduan apapun yang ada di Internet di virtual machine (vmware atau virtualbox) sebelum menerapkan ke server produksi, agar tidak mengacaukan sistem yang aktif berjalan ketika ada kesalahan.

Anda bisa melihat cara installasi VMware di Ubuntu dan CentOS, dan VirtualBox di UbuntuFedora, dan CentOS

Tutorial ini menjelaskan perintah useradd dan opsinya.

Prasyarat

Untuk dapat menggunakan perintah useradd untuk membuat pengguna baru, Anda harus masuk sebagai root atau pengguna dengan akses sudo.

Perintah useradd

Sebelum membahas cara menggunakan perintah useradd, mari kita mulai dengan meninjau sintaks dasar.

Ekspresi perintah useradd mengambil bentuk sebagai berikut:

useradd [OPTIONS] NAMA

Ketika dipanggil, perintah useradd akan membuat akun pengguna baru menggunakan opsi yang ditentukan pada baris perintah ditambah nilai-nilai default yang ditentukan dalam file /etc/default/useradd.

Variabel yang didefinisikan dalam file ini berbeda dari distribusi ke distribusi. Ketika perintah useradd digunakan tanpa opsi apa pun, dapat menghasilkan hasil yang berbeda pada distribusi yang berbeda.

Perintah useradd juga membaca konten file /etc/login.defs. File ini berisi konfigurasi untuk rangkaian shadow password seperti kebijakan kata sandi kedaluwarsa, rentang ID pengguna yang digunakan saat membuat sistem dan pengguna biasa serta banyak lagi.

Cara Membuat Pengguna Baru di Linux

Untuk membuat akun pengguna baru bernama linuxid menggunakan perintah useradd, Anda dapat  menjalankan perintah :

useradd linuxid

Dalam bentuknya yang paling sederhana ketika digunakan tanpa opsi apa pun, useradd akan membuat akun pengguna baru dengan pengaturan default yang ditentukan dalam file /etc/default/useradd

Perintah menambahkan entri ke file /etc/passwd, /etc/shadow, /etc/group dan /etc/gshadow.

Agar dapat masuk sebagai pengguna yang baru dibuat, Anda perlu mengatur kata sandi pengguna. Untuk melakukannya jalankan perintah passwd diikuti dengan nama pengguna:

passwd linuxid

Anda akan diminta memasukkan dan mengonfirmasi kata sandi. Pastikan Anda menggunakan kata sandi yang kuat.

Changing password for user linuxid.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

Cara Membuat User Baru dengan Direktori Home

Di sebagian besar distro Linux, saat membuat akun user baru menggunakan perintah useradd, maka direktori home tidak dibuat.

Gunakan opsi -m (--create-home) untuk membuat direktori home pengguna sebagai /home/linuxid:

useradd -m linuxid

Perintah di atas membuat direktori home user, dan menyalin file dari direktori /etc/skel ke direktori home. Jika Anda list file di direktori /home/linuxid, Anda akan melihat file inisialisasi berikut:

ls -la /home/linuxid/
drwxr-xr-x 2 linuxid linuxid 4096 Dec 11 11:23 .
drwxr-xr-x 4 root     root     4096 Dec 11 11:23 ..
-rw-r--r-- 1 linuxid linuxid  220 Apr  4  2018 .bash_logout
-rw-r--r-- 1 linuxid linuxid 3771 Apr  4  2018 .bashrc
-rw-r--r-- 1 linuxid linuxid  807 Apr  4  2018 .profile

Dalam direktori home, user dapat menulis, mengedit, dan menghapus file dan direktori.

Membuat User dengan Home Directory Tertentu

Jika Anda ingin membuat direktori home pengguna di lokasi lain, maka direktori /home default menggunakan opsi d(--home).

Misalnya, untuk membuat user baru bernama linuxid dengan direktori home /opt/linuxid, untuk melakukan ini Anda dapat menjalankan perintah berikut:

useradd -m -d /opt/linuxid linuxid

Membuat User dengan User ID Tertentu

Dalam sistem operasi Unix-like, pengguna diidentifikasi oleh UID dan linuxid yang unik.

User identifier (UID) adalah integer positif unik yang diberikan oleh sistem Linux untuk setiap pengguna. UID bersama dengan kebijakan kontrol akses lainnya digunakan untuk menentukan jenis tindakan yang dapat dilakukan pengguna pada sumber daya sistem.

Secara default ketika pengguna baru dibuat, sistem menetapkan UID berikutnya yang tersedia dari rentang user ID yang ditentukan dalam file login.defs.

Gunakan opsi -u (--uid) untuk membuat pengguna dengan UID tertentu. Misalnya untuk membuat user baru bernama linuxid dengan UID 1500 Anda dapat mengetik perintah :

useradd -u 1500 linuxid

Anda dapat memverifikasi UID user dengan menggunakan perintah id:

id -u linuxid
1500

Membuat User dengan ID Grup Tertentu

Grup Linux adalah unit organisasi yang digunakan untuk mengatur dan mengelola akun pengguna di Linux. Tujuan utama grup adalah untuk menetapkan serangkaian hak istimewa seperti izin read (membaca), write (menulis), atau (execute) mengeksekusi untuk sumber daya yang diberikan di antara pengguna dalam grup.

Saat membuat pengguna baru, perilaku default dari perintah useradd adalah membuat grup dengan nama yang sama dengan nama pengguna, dan GID yang sama dengan UID.

Gunakan opsi -g (--gid) untuk membuat pengguna dengan grup login awal tertentu. Anda dapat menentukan nama grup atau nomor GID. Nama grup atau GID harus sudah ada.

Misalnya untuk membuat pengguna baru bernama linuxid dan mengatur grup login ke users:

useradd -g users linuxid

Untuk verifikasi, user GID gunakan perintah id

id -gn linuxid

maka akan menampilkan output :

users

Membuat user dan Tetapkan Beberapa Grup

Ada dua jenis kelompok dalam sistem operasi Linux, kelompok primer dan kelompok sekunder atau tambahan. Setiap pengguna dapat memiliki tepat satu grup primer dan nol atau lebih grup sekunder.

Opsi -G (–groups) memungkinkan Anda menentukan daftar grup tambahan tempat pengguna akan menjadi anggotanya.

Perintah berikut akan membuat user baru bernama linuxid dengan grup user sebagai grup primer dan grup sekunder wheel dan docker.

sudo useradd -g users -G wheel,developers linuxid

Anda dapat memeriksa grup pengguna dengan mengetik

id linuxid
uid=1002(linuxid) gid=100(users) groups=100(users),10(wheel),993(docker)

Membuat User dengan Shell Login Tertentu

Secara default, shell login user baru diatur sesuai dengan ditentukan dalam file /etc/default/useradd. Dalam beberapa distribusi Linux seperti Ubuntu 18.04, shell default diatur ke /bin/sh sementara distribusi yang yang lain diset ke /bin/bash.

Opsi -s (--shell) memungkinkan Anda menentukan shell login pengguna baru.

Misalnya untuk membuat pengguna baru bernama linuxid dengan /usr/bin/zsh sebagai shell login:

useradd -s /usr/bin/zsh linuxid

Periksa entri pengguna di file /etc/passwd untuk memverifikasi shell login pengguna:

grep linuxid /etc/passwd
linuxid:x :1001:1001::/home/linuxid:/usr/bin/zsh

Membuat Pengguna dengan Shell Login Tertentu

Secara default, shell login pengguna baru diatur ke yang ditentukan dalam file /etc/default/useradd. Dalam beberapa distribusi Linux seperti Ubuntu 18.04, shell default diatur ke /bin/sh ,sementara di distribusi Unix-like lain diset ke /bin/bash.

Opsi -s (--shell) memungkinkan Anda menentukan shell login pengguna baru.

Misalnya untuk membuat pengguna baru bernama nama linuxid dengan /usr/bin/zsh sebagai jenis shell login:

useradd -s /usr/bin/zsh linuxid

Periksa entri pengguna di file /etc/passwd untuk memverifikasi shell login pengguna:

grep linuxid /etc/passwd
linuxid:x :1001:1001::/home/linuxid:/usr/bin/zsh

Membuat Pengguna dengan Komentar Khusus

Opsi -c (--comment) memungkinkan Anda untuk menambahkan deskripsi singkat untuk pengguna baru. Biasanya nama lengkap pengguna atau informasi kontak ditambahkan sebagai komentar.

Dalam contoh berikut ini kami membuat pengguna baru bernama nama pengguna dengan string teks Tes Akun Pengguna sebagai komentar:

useradd -c "Tes membuat akun" linuxid

Komentar disimpan di file /etc/passwd :

grep linuxid /etc/ passwd
linuxid:x :1001:1001:Tes membuat akun:/home/linuxid:/bin/sh

Kolom komentar juga dikenal sebagai GECOS.

Membuat User dengan Tanggal Kedaluwarsa

Opsi -e (--expiredate) memungkinkan Anda untuk menentukan waktu kapan akun pengguna baru akan kedaluwarsa. Opsi ini berguna untuk membuat akun sementara. Tanggal harus ditentukan menggunakan format YYYY-MM-DD (tahun-bulan-hari).

Misalnya untuk membuat akun pengguna baru bernama linuxid dengan waktu kedaluwarsa yang diatur ke 22 Januari 2019, Anda dapat menjalankan perintah berikut :

useradd -e 2019-01-22 linuxid

Anda dapat menggunakan perintah chage untuk memverifikasi tanggal kedaluwarsa akun linuxid:

sudo chage -l linuxid

Outputnya akan terlihat seperti ini:

Last password change					: Dec 11, 2018
Password expires					: never
Password inactive					: never
Account expires						: Jan 22, 2019
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

Menciptakan Pengguna Sistem

Tidak ada perbedaan teknis yang nyata antara sistem dan pengguna biasa (normal). Biasanya pengguna sistem dibuat saat menginstal OS dan paket baru.

Dalam beberapa situasi, Anda mungkin perlu membuat pengguna sistem yang akan digunakan oleh beberapa aplikasi.

Gunakan opsi -r (--system) untuk membuat akun pengguna sistem. Misalnya, untuk membuat pengguna sistem baru bernama linuxid, maka perintah yang akan Anda jalankan:

useradd -r linuxid

Pengguna sistem dibuat tanpa tanggal kedaluwarsa. UID mereka dipilih dari rentang ID pengguna sistem yang ditentukan dalam file login.defs yang berbeda dari rentang yang digunakan untuk pengguna normal.

Mengubah Nilai pengguna default

Opsi useradd default dapat dilihat dan diubah menggunakan opsi -D, --defaults atau dengan mengedit value secara manual di file /etc/default/useradd.

Untuk melihat jenis opsi default saat ini:

useradd -D

output akan terlihat seperti berikut :

GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no

Katakanlah Anda ingin mengubah shell login default dari /bin/sh ke /bin/bash. Untuk melakukannya tentukan shell baru seperti yang ditunjukkan di bawah ini:

useradd -D -s /bin/bash

Anda dapat memverifikasi bahwa nilai shell default diubah dengan menjalankan perintah berikut:

sudo useradd -D | grep -i shell
SHELL=/bin/bash

Kesimpulan

Dalam tutorial ini, Anda belajar cara menambahkan akun pengguna baru dengan perintah useradd. Perintah yang sama berlaku untuk distribusi Linux apa pun, termasuk Ubuntu, CentOS, RHEL, Debian, Fedora dan Arch Linux.