Linux, seperti yang kita semua tahu, adalah sistem operasi multi-pengguna. Jika Anda memiliki banyak pengguna di desktop atau server, Anda dapat dengan mudah mengelola beberapa akun pengguna Linux dan memberikan izin untuk setiap akun.
Dalam artikel ini, Anda akan mempelajari –
- Cara mengelola pengguna dan grup di sistem Linux
- Buat akun pengguna baru di Linux
- Menambahkan pengguna ke grup di Linux
- Buat grup pengguna di Linux
- Hapus grup pengguna di Linux
Mengelola Pengguna Linux
Namun, sebelum kita membahas cara mengelola pengguna Linux dan grup Linux, izinkan saya menjelaskan mengapa memiliki akun pengguna yang berbeda sangat penting dari sudut pandang keamanan. Banyak pengguna mulai menggunakan akun root pada boot pertama server Linux, yang tidak disarankan.
Bukan ide yang baik untuk menjalankan operasi server sehari-hari menggunakan akun root. Pengguna root adalah akun pengguna super. Setelah login menjamin bahwa setidaknya sekali pengguna akan menjalankan perintah yang salah, dan pengguna root akan melakukannya, sebagian besar waktu bahkan tanpa meminta konfirmasi. Saat Anda masuk sebagai pengguna non-root, pengguna memiliki lebih sedikit akses ke sistem dan kecil kemungkinannya untuk melakukan sesuatu yang buruk.
Kedua, menambahkan pengguna ke grup atau grup daripada mengelola pengguna individu membuatnya lebih mudah untuk mengelola banyak pengguna di Linux. Ini membawa kita ke topik kelompok pengguna Linux. Ini mungkin membosankan untuk beberapa pengguna desktop, tetapi ini adalah fungsi yang berguna untuk administrator sistem.
Grup Pengguna Linux
Mengelola banyak pengguna adalah tugas yang sulit bagi administrator sistem, terutama ketika pengguna berasal dari berbagai domain. Seorang administrator mungkin ingin memberikan satu jenis akses pengguna ke direktori sementara menolak jenis akses pengguna lain ke direktori lain di sistem. Atau, administrator mungkin ingin memiliki beberapa jenis pengguna dengan izin yang bervariasi di direktori yang sama. Hal ini dapat dilakukan di Linux dengan membuat grup pengguna Linux.
Asumsikan kita memiliki perusahaan pengembangan perangkat lunak. Semua direktori proyek disimpan di server pusat. Kami hanya ingin memberikan akses kepada programmer Python ke direktori Python, yang berisi semua kode Python.
Untuk mendemonstrasikan, kita akan membuat user baru bernama sandy. Sandy adalah pengembang Python yang membutuhkan akses ke direktori kode Python server kami. Jadi mari kita mulai dengan membuat akunnya.
Buat pengguna baru di Linux
Membuat pengguna baru di Linux sangat mudah dari GUI.
Misalnya, saya menggunakan Manjaro Linux (Deepin), dan membuat pengguna baru seperti membuat catatan baru di aplikasi pencatat apa pun. Cukup ketik nama pengguna &kata sandi, dan selesai.
Tetapi jika Anda perlu membuat pengguna baru di server Linux, dua perintah berikut dapat melakukannya –
- tambahkan pengguna
- pengguna
tambahkan pengguna – Perintah ini tersedia di semua distro Linux. Ia menerima argumen yang berbeda untuk membuat pengguna baru di Linux . Jika dijalankan tanpa argumen, perintah akan membuat akun pengguna tanpa direktori home, ekstensi shell, dll.
Padahal, Anda dapat mengatur opsi default di /etc/default/useradd
sehingga setiap kali pengguna dibuat, perintah mengambil nilai default dari /etc/default/useradd
secara otomatis.
penambah – Perintah yang ditulis dalam perl yang menggunakan useradd
di bagian belakang. Tidak seperti useradd
, itu hanya membutuhkan nama pengguna dan menjalankan pengaturan di terminal untuk membuat pengguna. Ini lebih mudah daripada useradd.
adduser
hanya tersedia di Ubuntu dan distribusi Linux berbasis Debian lainnya.
Bagaimana cara menggunakan useradd?
useradd -m sandy
Perintah di atas akan membuat akun pengguna dengan direktori home di /home/sandy
. Sekarang atur kata sandi untuk pengguna.
sudo passwd sandy
Dan itu saja. Seorang pengguna telah dibuat. Jika Anda ingin membuat direktori home yang berbeda untuk pengguna, -d
parameter untuk itu.
sudo useradd -d /home/james sandy
Anda juga dapat mengatur shell di perintah useradd. Cukup gunakan -s
parameter.
sudo useradd -d /home/james -s /bin/bash sandy
Bagaimana cara menggunakan adduser?
Seperti yang saya sebutkan di atas, adduser
jauh lebih mudah daripada useradd
. Itu hanya membutuhkan nama pengguna. adduser
mengajukan pertanyaan dan menetapkan nilai input sebagai nilai parameter dalam perintah useradd.
sudo adduser sandy
Jika Anda menggunakan Ubuntu atau distro berbasis Debian lainnya, lanjutkan dengan adduser
memerintah. Perintah ini dibuat untuk menyederhanakan proses pembuatan pengguna di sistem Linux.
Tambahkan grup Pengguna di Linux
Seperti disebutkan di atas, mengelola pengguna Linux lebih mudah dengan menambahkan mereka ke satu atau grup Linux.
Kita dapat membuat grup bernama 'python-programmers', menambahkan sandy, pengembang python kami, ke grup ini, dan kemudian memberinya akses ke direktori Python.
groupadd python-programmer
Menambahkan pengguna ke grup di Linux
Sekarang tambahkan sandy ke grup python-programmer.
sudo usermod -aG python-programmer sandy
Menambahkan grup ke direktori di Linux
Ubah grup direktori Python yang ada di bawah $HOME/Projects/Python
.
sudo chown -R :python-programmer $HOME/Projects/Python
Tambahkan Izin Ke Direktori
Sekarang tambahkan izin baca &tulis ke direktori untuk pengguna grup.
sudo chmod -R g+w $HOME/Projects/Python
Hapus Izin Dari Direktori
Dan terakhir, larang pengguna lain untuk mengakses direktori Python.
sudo chmod -R o-x Python
Dan pekerjaan selesai! Sekarang direktori Python dapat diakses oleh pengguna root atau pengguna mana pun di bawah grup 'python-programmers'.
Tapi ada masalah!
Prosedur di atas akan berhasil. Ini akan memberikan akses ke pengguna python-programmer ke direktori Python, tetapi ada masalah. Pendekatan di atas hanya akan mengizinkan satu grup pengguna untuk mengakses direktori Python pada satu waktu. Jika Anda ingin mengizinkan beberapa pengembang lain mengakses direktori Python, Anda harus menghapus akses dari grup sebelumnya dan menetapkan grup baru sebagai pemilik direktori.
Untuk mengatasi masalah ini dan mengizinkan akses ke beberapa jenis pengguna sekaligus, kita dapat menggunakan daftar kontrol akses.
Daftar kontrol akses
Katakanlah kita memiliki sekelompok auditor di perusahaan kami. Kami ingin mengizinkan auditor grup untuk memiliki akses 'membaca' ke direktori Python tanpa menghapus grup lain dari direktori tersebut.
setfacl -m g:auditors:rx -R $HOME/Projects/Python
Dan itu saja. Sekarang pengguna grup python-programmer memiliki akses baca &tulis, dan pengguna grup auditor memiliki akses baca di direktori Python. Jika Anda ingin mengizinkan auditor juga memiliki akses tulis, tambahkan w pada perintah di atas.
setfacl -m g:auditors:rwx -R $HOME/Projects/Python
Hapus pengguna di Linux
Anda mungkin juga perlu menghapus pengguna di Linux. Itu dapat dilakukan dengan menggunakan userdel
perintah.
userdel sandy
Peringatan Menghapus pengguna adalah tindakan yang tidak dapat dipulihkan. Jadi pastikan untuk membuat cadangan file dan pengaturan penting sebelum menghapus pengguna mana pun. Secara default, perintah tidak akan menghapus direktori home pengguna.Pemberitahuan
Sebelum Anda menghapus pengguna di Linux, pastikan pengguna tidak menggunakan proses lain. Jika tidak, Anda akan mendapatkan kesalahan berikut –
userdel: The user sandy is being used by process 3861
Mencantumkan semua proses pengguna di Linux
ps -u sandy
Output -
PID TTY TIME CMD
4831 ? 00:00:00 systemd
4832 ? 00:00:00 (sd-pam)
4845 ? 00:00:00 gnome-keyring-d
4849 tty5 00:00:00 gdm-x-session
4851 tty5 00:00:10 Xorg
4856 ? 00:00:00 dbus-daemon
4860 tty5 00:00:00 gnome-session-b
4958 ? 00:00:00 ssh-agent
4961 ? 00:00:00 gvfsd
4966 ? 00:00:00 gvfsd-fuse
4975 ? 00:00:00 at-spi-bus-laun
4980 ? 00:00:00 dbus-daemon
4983 ? 00:00:00 at-spi2-registr
4997 ? 00:00:00 gnome-keyring-d
5012 tty5 00:00:21 gnome-shell
5023 ? 00:00:00 pulseaudio
5032 tty5 00:00:00 ibus-daemon
5034 ? 00:00:00 xdg-permission-
5042 tty5 00:00:00 ibus-dconf
5044 ? 00:00:00 gnome-shell-cal
5046 tty5 00:00:00 ibus-x11
5050 ? 00:00:00 ibus-portal
5057 ? 00:00:00 evolution-sourc
5066 ? 00:00:00 dconf-service
5073 ? 00:00:00 goa-daemon
5084 ? 00:00:00 goa-identity-se
5094 ? 00:00:00 gvfs-udisks2-vo
5099 ? 00:00:00 gvfs-gphoto2-vo
5103 ? 00:00:00 gvfs-goa-volume
5107 ? 00:00:00 gvfs-afc-volume
5112 ? 00:00:00 gvfs-mtp-volume
5116 tty5 00:00:00 gsd-power
5117 tty5 00:00:00 gsd-print-notif
5119 tty5 00:00:00 gsd-rfkill
5121 tty5 00:00:00 gsd-screensaver
5125 tty5 00:00:00 gsd-sharing
5128 tty5 00:00:00 gsd-smartcard
5130 tty5 00:00:00 gsd-xsettings
5131 tty5 00:00:00 gsd-wacom
5139 tty5 00:00:00 gsd-sound
5144 tty5 00:00:00 gsd-a11y-settin
5147 tty5 00:00:00 gsd-color
5150 tty5 00:00:00 gsd-clipboard
5154 tty5 00:00:00 gsd-housekeepin
5155 tty5 00:00:00 gsd-datetime
5160 tty5 00:00:00 gsd-media-keys
5162 tty5 00:00:00 gsd-keyboard
5164 tty5 00:00:00 gsd-mouse
5186 tty5 00:00:00 gsd-printer
5217 tty5 00:00:00 gsd-disk-utilit
5219 tty5 00:00:01 nautilus-deskto
5232 ? 00:00:00 gvfsd-trash
5254 ? 00:00:00 evolution-calen
5267 ? 00:00:00 evolution-calen
5282 ? 00:00:00 evolution-addre
5289 ? 00:00:00 evolution-addre
5310 tty5 00:00:00 ibus-engine-sim
5311 ? 00:00:00 gvfsd-metadata
5364 ? 00:00:00 gvfsd-network
5375 ? 00:00:00 gvfsd-dnssd
5443 tty5 00:00:00 update-notifier
5461 tty5 00:00:02 gnome-software
5563 ? 00:00:03 nautilus
5951 tty5 00:00:00 deja-dup-monito
Atau ada perintah lain untuk membuat daftar proses pengguna di Linux, pgrep
.
pgrep -u sandy
Output -
4831
4832
4845
4849
4851
4856
4860
4958
4961
4966
4975
4980
4983
4997
5012
5023
5032
5034
5042
Bunuh semua proses yang digunakan oleh pengguna
killall
perintah akan mematikan semua proses pengguna.
killall -u sandy
Hapus pengguna Linux
Setelah semua proses pengguna dihentikan, kami dapat menghapus pengguna tersebut.
userdel sandy
Seperti yang saya sebutkan di atas, secara default, perintah tidak akan menghapus direktori home pengguna. Untuk juga menghapus direktori home pengguna, tambahkan –-r
argumen ke perintah.
userdel -r sandy
Hapus pengguna dari grup di Linux
Jika Anda memutuskan untuk mengambil hak pengguna, hapus pengguna tersebut dari grup.
sudo gpasswd -d sandy python-programmers
Jika pengguna adalah anggota grup, itu akan menampilkan yang berikut –
Removing user sandy from group python-programmers
Menghapus grup di Linux
Jika Anda ingin menghapus grup di Linux, gunakan groupdel
perintah.
groupdel username
Jika grup yang dihapus adalah grup utama untuk salah satu pengguna di sistem, grup tersebut tidak dapat dihapus. Dalam hal ini, ubah grup utama pengguna tersebut.
Hapus grup auditor dari sistem.
groupdel auditors
Kesimpulan
Itu saja. Mengelola pengguna Linux dan grup Linux sangatlah mudah. Setelah mempelajari cara mengelola pengguna, Anda akan dapat menjaga file tetap aman dan pribadi tanpa bergantung pada perpustakaan atau layanan pihak ketiga.
Jika Anda yakin saya telah melewatkan sesuatu dalam artikel ini, beri tahu saya di bagian komentar di bawah. Saya akan memperbarui artikel ini setiap tiga bulan dengan saran Anda (dengan nama Anda).
Tolong beri tahu saya jika Anda tidak memahami instruksi apa pun di area komentar di bawah. Jika Anda seorang nerd dan menemukan kesalahan dalam artikel, beri tahu saya menggunakan halaman Hubungi kami atau dengan bergabung dengan server Discord kami.