Bagaimana Menambahkan, Memodifikasi, dan Menghapus Pengguna di Linux?
Diterbitkan: 2022-01-11Manajemen pengguna dalam sistem operasi apa pun adalah salah satu tugas rutin dasar administrator sistem.
Untuk OS berbasis Linux, biasanya melibatkan pembuatan akun pengguna, memodifikasi akun yang ada seperti mengubah direktori home mereka, shell default, mengunci/membuka satu atau lebih akun, dan menghapus akun pengguna.
Sebelum kita menyelidiki perintah dan proses untuk melakukan tugas-tugas ini, mari kita pelajari secara singkat bagaimana akun pengguna dapat diklasifikasikan di Linux. Juga, perhatikan bahwa kecuali ditentukan secara eksplisit, perintah yang diberikan akan bekerja di sebagian besar distribusi Linux umum.
Jenis Pengguna
Pengguna Root
Pengguna root
adalah administrator OS dengan semua izin untuk melakukan operasi. Biasanya, hanya root
dapat menginstal/mencopot atau memperbarui program dan pustaka sistem dasar. Ini adalah satu-satunya akun pengguna dengan hak istimewa seluruh sistem.
Jadi, pengguna root adalah pengguna sistem yang paling kuat.
Pengguna Khusus
Ini adalah pengguna tanpa login. Mereka tidak memiliki semua hak istimewa dari pengguna root
. Bergantung pada akunnya, mereka mengambil peran khusus yang berbeda.
Ini dibuat secara otomatis pada saat penginstalan aplikasi apa pun. bin
, sync
, lp
, mail
, operator
, squid
adalah beberapa contoh pengguna khusus.
Pengguna Umum
Pengguna umum memiliki hak penuh hanya di direktori kerja mereka, biasanya direktori home mereka. Mereka tidak memiliki hak istimewa untuk mengelola sistem atau menginstal perangkat lunak. Mereka tidak dapat melakukan tugas-tugas ini tanpa memiliki hak istimewa melalui sudo
.
Menambahkan Pengguna
Debian/Ubuntu
Pada sistem berbasis Debian atau Ubuntu, ada beberapa opsi untuk menambahkan pengguna dari CLI. Perintah pertama adalah adduser
, yang merupakan skrip Perl dan menggunakan perintah useradd
di backend yang penggunaannya akan kita lihat nanti.
Karena menambahkan pengguna adalah tugas istimewa, Anda harus menggunakan sudo
sebagai awalan dan username
sebagai argumen. Detail lainnya dapat ditentukan seperti yang diminta. Kecuali nama pengguna dan kata sandi, detail lainnya bersifat opsional. Kami dapat memverifikasi bahwa pengguna telah dibuat dengan menggunakan perintah id
.
$ sudo adduser johndoe Adding user `johndoe' ... Adding new group `johndoe' (1003) ... Adding new user `johndoe' (1003) with group `johndoe' ... Creating home directory `/home/johndoe' ... Copying files from `/etc/skel' ... New password: Retype new password: passwd: password updated successfully Changing the user information for johndoe Enter the new value, or press ENTER for the default Full Name []: John Doe Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y $ $ id johndoe uid=1003(johndoe) gid=1003(johndoe) groups=1003(johndoe) $
CentOS/RHEL/Fedora (Termasuk Debian/Ubuntu)
Perintah selanjutnya, useradd
akan bekerja di seluruh distribusi OS berbasis RHEL serta bekerja sama baiknya di host Ubuntu/Debian. Sintaks paling sederhana (tanpa opsi tambahan) untuk membuat pengguna baru adalah:
$ sudo useradd <username>
Contoh:
$ sudo useradd janedoe
Perintah useradd
mendukung beberapa opsi yang dapat ditentukan saat membuat pengguna, yang paling umum adalah ID pengguna (UID), ID grup (GID), shell default dan direktori home, dll. Salah satu contohnya diberikan di bawah ini:
$ sudo useradd -s /bin/sh -d /data/newhome -c "Jane Doe" -u 1005 janedoe
Anda dapat memverifikasi pengguna yang baru dibuat menggunakan perintah id
:
$ id janedoe uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe) $
Memodifikasi Pengguna
Seseorang sering kali perlu memodifikasi beberapa properti pengguna yang ada berdasarkan persyaratan organisasi, permintaan pengguna, atau migrasi sistem. Sebagian besar properti ini mudah dimodifikasi meskipun kita perlu memastikan bagaimana hal itu akan memengaruhi lingkungan pengguna dan akses ke file yang dimiliki atau diakses oleh pengguna.
Cangkang Default
Shell default adalah shell CLI yang dibuat ketika pengguna meluncurkan sesi CLI baru baik secara lokal atau melalui SSH. Sebagian besar sistem modern memiliki Bash
pengguna default meskipun dapat bervariasi berdasarkan distribusi Linux atau lingkungan pengguna. Untuk memodifikasi shell default pengguna, gunakan:
$ sudo usermod -s <shell> <username>
Contoh:
$ getent passwd janedoe janedoe:x:1005:1005::/data/newhome:/bin/sh $ sudo usermod -s /bin/bash janedoe $ getent passwd janedoe janedoe:x:1005:1005::/data/newhome:/bin/bash $
Seperti yang Anda lihat pada output di atas, shell telah diubah dari /bin/sh
menjadi /bin/bash
untuk pengguna janedoe
.
Direktori Beranda
Seperti shell default, direktori home pengguna dapat dimodifikasi ke lokasi yang berbeda menggunakan:
$ sudo usermod -d <new_directory_path> <username>
Pada contoh di bawah, direktori home user dari user janedoe
telah diubah menjadi /data/janedoe
:
$ getent passwd janedoe janedoe:x:1005:1005::/data/newhome:/bin/bash $ sudo usermod -d /data/janedoe janedoe $ getent passwd janedoe janedoe:x:1005:1005::/data/janedoe:/bin/bash $
Sebelum beralih, pastikan direktori baru memiliki kepemilikan dan izin yang tepat. Jika tidak, pengguna mungkin menghadapi masalah saat login atau bekerja di direktori home baru.

identitas pengguna
Anda dapat mengubah ID pengguna dari pengguna yang ada menggunakan:
$ sudo usermod -u <new_uid> <username>
Contoh:
$ getent passwd janedoe janedoe:x:1005:1005::/data/janedoe:/bin/bash $ sudo usermod -u 1010 janedoe $ getent passwd janedoe janedoe:x:1010:1005::/data/janedoe:/bin/bash $
Sekali lagi, mengubah UID mengubah cara sistem file Linux memetakan kepemilikan dan izin ke file atau direktori. Pastikan direktori home pengguna dan kontennya serta semua file lain di mana saja dalam sistem, yang semula dimiliki oleh pengguna (dengan UID lama), diubah menjadi UID yang dipetakan. Tidak melakukannya dapat menyebabkan masalah dalam sesi CLI dan akses file oleh pengguna.
Grup Bawaan
Grup default biasanya adalah ID grup default pengguna, yang dibuat selama pembuatan pengguna kecuali GID lain ditentukan. Linux memungkinkan Anda untuk memodifikasi grup default pengguna menggunakan perintah usermod
juga. Berikut sintaks yang digunakan:
$ sudo usermod -g <new_gid or group_name> <username>
Berikut salah satu contohnya:
$ getent passwd janedoe janedoe:x:1010:1005::/data/janedoe:/bin/bash $ sudo usermod -g 1001 janedoe $ getent passwd janedoe janedoe:x:1010:1001::/data/janedoe:/bin/bash $
Sekali lagi, pastikan ID grup baru disetel di direktori beranda pengguna, konten, dan semua file atau direktori lain yang berlaku untuk memigrasikan izin kepemilikan mereka dengan benar.
Menambah/Menghapus Grup
Selain grup default, pengguna di Linux dapat menjadi bagian dari grup sekunder. Kami selalu dapat menambah atau menghapus grup tambahan milik pengguna menggunakan perintah usermod
.
$ sudo usermod -a -G <group_id or group_name> <username>
Contoh:
$ id janedoe uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe) $ sudo usermod -a -G docker janedoe $ id janedoe uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker) $
Demikian pula, untuk menghapus pengguna dari salah satu grup sekunder, gunakan perintah gpasswd
seperti yang ditunjukkan di bawah ini:
$ sudo gpasswd -d <username> <groupname>
Contoh:
$ id janedoe uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker) $ sudo gpasswd -d janedoe docker Removing user janedoe from group docker $ id janedoe uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe) $
Komentar GECOS
Bidang GECOS di /etc/passwd
berisi informasi atau komentar pengguna. Kami dapat mengubah informasi ini untuk pengguna yang ada sebagai:
$ sudo usermod -c <comment> <username>
Contoh:
$ getent passwd janedoe janedoe:x:1005:1005::/data/janedoe:/bin/bash $ sudo usermod -c "Jane Doe - System Admin" janedoe $ getent passwd janedoe janedoe:x:1005:1005:Jane Doe - System Admin:/data/janedoe:/bin/bash $
Harap perhatikan bahwa jika komentar atau detail pengguna Anda mengandung spasi, lampirkan bidang tersebut dalam tanda kutip seperti yang dilakukan pada contoh di atas.
Nama login
Nama login pengguna juga dapat diubah menggunakan perintah usermod
dengan menggunakan flag -l
:
$ sudo usermod -l <new_username> <old_username>
Contoh:
$ id janedoe uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe) $ sudo usermod -l jane_doe janedoe $ id jane_doe uid=1005(jane_doe) gid=1005(janedoe) groups=1005(janedoe) $
Ingatlah untuk memperbarui referensi pengguna sesuai nama baru di mana pun digunakan. Bahkan dalam perintah seperti id
, nama pengguna baru harus ditentukan.
Menghapus Pengguna
Seorang pengguna dapat dihapus dari Linux menggunakan perintah userdel
.
$ sudo userdel <username>
Contoh:
$ id janedoe uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe) $ sudo userdel janedoe $ id janedoe id: 'janedoe': no such user $
Untuk menghapus pengguna bersama dengan direktori home dan mail spool, tambahkan flag -r
juga.
$ sudo userdel -r <username>
Khusus untuk sistem berbasis Ubuntu, Anda juga dapat menggunakan perintah deluser
untuk menghapus pengguna:
$ sudo deluser <username>
Demikian pula, untuk menghapus direktori home dan mail spool juga, gunakan:
$ sudo deluser --remove-home <username>
Untuk informasi terperinci dan opsi lain yang didukung, lihat halaman utama berbagai perintah menggunakan:
$ man adduser $ man useradd $ man usermod $ man deluser $ man userdel
Kesimpulan
Artikel ini menunjukkan berbagai aspek manajemen pengguna dalam sistem Linux. Ini termasuk penjelasan tentang berbagai kategori pengguna dan cara menambahkan dan menghapusnya. Ini juga mencakup berbagai opsi yang membantu memodifikasi parameter pengguna yang ada. Meskipun tidak mencakup semua kemungkinan yang didukung oleh berbagai perintah, ini mencakup banyak tugas administrasi umum yang akan dihadapi administrator sistem dalam pekerjaan sehari-hari.
Anda mungkin juga tertarik membaca: Bagaimana cara menghapus file dan direktori di Linux?