GNU/Linux >> Belajar Linux >  >> Linux

Kelola Pengguna Linux &Grup Linux

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.


Linux
  1. Kelola direktori home pengguna Linux dengan systemd-homed

  2. Cara Membuat Banyak Akun Pengguna di Linux

  3. Cara Bekerja Dengan Pengguna Dan Grup Di Linux

  1. Apa itu pengguna Linux?

  2. Buat, kelola, dan hapus pengguna dan grup di Active Directory

  3. Kelola grup pengguna Linux

  1. Cara Menemukan Semua Pengguna Sudo Di Linux

  2. Cara mengelola izin Linux untuk pengguna, grup, dan lainnya

  3. Pengguna dan Grup