Cara Mendaftar Pengguna di Linux

Diterbitkan: 2022-06-25
Laptop Linux menampilkan prompt bash
fatmawati achmad zaenuri/Shutterstock.com

Linux adalah sistem operasi multipengguna, jadi membuat banyak akun pengguna itu mudah. Seiring waktu, mudah untuk kehilangan jejak akun mana yang diperlukan. Mencantumkan akun pengguna membantu Anda mengelolanya.

Akun Pengguna

Kemajuan teknologi seringkali membawa masalah baru tersendiri. Segera setelah komputer dapat mendukung banyak pengguna, kebutuhan untuk memagari dan merangkum pekerjaan setiap orang dari orang lain menjadi jelas. Hal ini menyebabkan konsep akun pengguna. Setiap pengguna memiliki ID bernama dan kata sandi. Ini adalah kredensial yang memungkinkan mereka masuk ke akun mereka. File mereka disimpan di area yang bersifat pribadi untuk setiap pengguna.

Pada sistem yang sibuk, mudah untuk melupakan akun mana yang telah Anda buat, dan mana yang tidak lagi diperlukan. Dari sudut pandang keamanan, adalah praktik yang buruk untuk menyimpan akun pengguna yang tidak lagi perlu dikonfigurasi dan dapat diakses di komputer Anda. Anda harus menghapus pengguna tersebut.

Bahkan jika Anda tidak memiliki orang lain yang menggunakan komputer Anda, Anda mungkin telah membuat beberapa akun hanya untuk mempelajari cara melakukannya, atau untuk mempelajari dan mempraktikkan proses administrasi.

Cara Menghapus Pengguna di Linux (dan Menghapus Setiap Jejak)
TERKAIT Cara Menghapus Pengguna di Linux (dan Menghapus Setiap Jejak)

Langkah pertama adalah membuat daftar akun pengguna yang dikonfigurasi di komputer Anda. Itu memungkinkan Anda meninjaunya dan membuat keputusan yang dapat dihapus. Ada beberapa metode untuk membuat daftar pengguna. Tidak peduli distribusi mana yang Anda gunakan, teknik ini akan bekerja untuk Anda tanpa perlu menginstal aplikasi atau utilitas apa pun.

Daftar Pengguna Dengan Perintah kucing

Daftar pengguna yang dikonfigurasi disimpan, bersama dengan informasi tentang setiap pengguna, dalam file “/etc/passwd”. Ini adalah file teks yang dapat didaftar oleh pengguna biasa ke jendela terminal. Anda tidak perlu menggunakan sudo untuk melihat file “/etc/passwd”.

Cara Mengubah Data Pengguna Dengan chfn dan usermod di Linux
TERKAIT Cara Mengubah Data Pengguna Dengan chfn dan usermod di Linux

Kita dapat menggunakan perintah cat untuk mengirim isi file “/etc/passwd” ke jendela terminal. Ini akan mencantumkan seluruh isi file. Ini berarti Anda juga akan melihat entri untuk akun pengguna yang dimiliki oleh proses dan sistem, bukan oleh orang.

 cat /etc/passwd 

Mengirim konten file /etc/passwd ke jendela terminal dengan cat

Ada sederet informasi padat yang dilaporkan untuk setiap akun pengguna.

Isi file /etc/passwd

Informasi untuk akun pengguna yang disebut “dave” berisi potongan informasi ini, dengan titik dua “ : ” di antaranya.

  • dave : Nama akun pengguna. Biasanya nama orang yang memiliki akun tersebut.
  • x : Pada suatu waktu, ini menyimpan kata sandi untuk akun tersebut. Saat ini, kata sandi disimpan di file “/etc/shadow”. Tanda "x" berarti kata sandi ada di file itu.
  • 1000 : ID pengguna untuk akun ini. Semua akun pengguna memiliki ID numerik yang unik. Akun pengguna biasa biasanya mulai dari 1000, dengan setiap akun baru mengambil ID gratis berikutnya, seperti 1001, 1002, dan seterusnya.
  • 1000 : ID grup dari grup default milik pengguna. Dalam keadaan normal, grup default memiliki nilai yang sama dengan ID pengguna.
  • dave,,, : Kumpulan informasi tambahan opsional tentang pengguna. Bidang ini berisi data dengan koma “ , ” di antara keduanya. Mereka dapat menyimpan hal-hal seperti nama lengkap pengguna, nomor kantor mereka, dan nomor telepon mereka. Entri untuk akun pengguna "mary" menunjukkan nama lengkapnya adalah Mary Quinn.
  • /home/dave : Path ke folder home pengguna.
  • /bin/bash : Shell default untuk pengguna ini.

Jika kita menyalurkan output dari perintah ini melalui utilitas wc dan menggunakan opsi -l (garis) kita dapat menghitung baris dalam file. Itu akan memberi kami jumlah akun yang dikonfigurasi di komputer ini.

 cat /etc/passwd | wc -l 

Menghitung jumlah akun di file /etc/passwd

Angka itu termasuk akun sistem dan pengguna yang dibuat oleh aplikasi. Ada sekitar 400 pengguna biasa yang dikonfigurasi di komputer ini. Hasil Anda kemungkinan akan jauh lebih sedikit.

Dengan akun sebanyak itu, lebih mudah menggunakan less untuk melihat file “/etc/passwd”.

 kurang /etc/passwd 

Membuka file /etc/passwd dalam waktu yang lebih singkat

Menggunakan less juga memungkinkan Anda untuk mencari di dalam output, jika Anda ingin mencari akun pengguna tertentu.

Mencari akun mary di file /etc/passwd, dalam waktu kurang

Perintah awk

Menggunakan perintah awk kita dapat menampilkan nama pengguna saja. Ini bisa berguna saat Anda menulis skrip yang perlu melakukan sesuatu pada banyak akun pengguna. Mencantumkan nama akun pengguna dan mengarahkannya ke file teks dapat menghemat waktu. Yang perlu Anda lakukan adalah menyalin dan menempelkan sisa perintah ke setiap baris.

Cara Menggunakan Perintah awk di Linux
TERKAIT Cara Menggunakan Perintah awk di Linux

Kami akan memberi tahu awk untuk menggunakan titik dua “:” sebagai pemisah bidang, dan untuk mencetak bidang pertama. Kami akan menggunakan opsi -F (pemisah bidang).

 awk -F: '{print $1}' /etc/passwd 

Perintah awk untuk memilih hanya nama pengguna dari /etc/passwd

Nama akun pengguna ditulis ke jendela terminal tanpa informasi akun lainnya.

Nama akun pengguna ditampilkan di jendela terminal

Perintah yang dipotong

Kita dapat mencapai hal yang sama dengan menggunakan perintah cut . Kita perlu menggunakan opsi -d (pembatas) dan memintanya untuk memilih bidang pertama saja, menggunakan opsi -f (bidang).

 potong -d: -f1 

Menggunakan perintah cut untuk hanya menampilkan nama pengguna dari file /etc/passwd

Ini mencantumkan semua akun pengguna, termasuk sistem dan akun non-manusia lainnya.

Komando Kompgen

Perintah compgen dapat digunakan dengan opsi -u (pengguna) untuk membuat daftar akun pengguna. Kami akan menyalurkan output melalui perintah column untuk membuat daftar akun pengguna dalam kolom, alih-alih satu daftar panjang dengan satu nama pengguna per baris.

 compgen -u | kolom 

Menggunakan perintah compgen dan kolom untuk membuat daftar nama akun pengguna dari file /etc/passwd di kolom

Sekali lagi, akun pengguna pertama yang terdaftar adalah milik proses, bukan manusia.

UID MIN dan UID MAX

Akun pengguna diberi ID numerik, yang kita lihat sebelumnya. Biasanya, akun pengguna manusia biasa mulai dari 1000, dan akun pengguna sistem, non-manusia, mulai dari 0. ID akun root adalah 0.

Jika kami dapat memverifikasi ID pengguna terendah dan tertinggi, kami dapat menggunakan informasi tersebut untuk memilih akun pengguna yang berada di antara dua nilai tersebut. Itu akan memungkinkan kami memilih hanya akun pengguna milik orang sungguhan.

Linux melacak kedua nilai ini menggunakan parameter konfigurasi yang disebut UID_MIN dan UID_MAX . Ini disimpan di file "/etc/login.defs". Kita dapat dengan mudah melihat nilai-nilai ini menggunakan grep .

Kita akan menggunakan opsi -E (extended regex). String pencarian kami mencari baris yang dimulai dengan “UID_MIN” atau “UID_MAX” di file “/etc/login.defs”. Tanda sisipan “ ^ ” mewakili awal baris.

 grep -E '^UID_MIN|^UID_MAX' /etc/login.defs 

Rentang untuk ID pengguna di komputer ini adalah dari 1000 hingga 60.000.

TERKAIT: Cara Menggunakan Ekspresi Reguler (regex) di Linux

Perintah getent

Perintah getent membaca informasi dari database sistem. Kita dapat memberitahunya untuk membuat daftar entri dalam file “/etc/passwd” dengan menggunakan “passwd” sebagai parameter.

 getent passwd 

Menggunakan getent untuk membuang file /etc/passwd ke jendela terminal

Ini memberi kita pembacaan yang sama yang bisa kita dapatkan menggunakan cat . Tapi di mana getent bersinar adalah dengan menerima nilai yang dikenal sebagai "kunci". Kunci menentukan informasi getent yang harus dilaporkan. Jika kita ingin melihat entri untuk satu pengguna, kita dapat memasukkan nama akun pengguna mereka di baris perintah.

 getent passwd Sarah

Perhatikan bahwa nama akun pengguna peka huruf besar-kecil.

 getent passwd sarah 

Mencari satu akun pengguna dengan getent

Kami juga dapat melewati batas atas dan bawah ID akun pengguna yang ingin kami lihat. Untuk benar-benar melihat semua akun pengguna biasa, kita dapat menggunakan nilai dari UID_MIN dan UID_MAX .

 getent passwd {1000..600000} 

Menggunakan ID akun atas dan bawah dengan getent

Ini membutuhkan waktu untuk dijalankan. Akhirnya, Anda akan kembali ke command prompt.

Isi file /etc/passwd dikirim ke jendela terminal oleh getent

Alasan untuk waktu eksekusi yang lama adalah karena getent mencoba menemukan kecocokan untuk semua nilai akun pengguna hingga 60000.

Mari kita lihat apa ID akun pengguna tertinggi. Kita akan menggunakan perintah cut , tapi kali ini kita akan meminta field ketiga, field ID pengguna. Kami akan menyalurkan output melalui sort dan menggunakan opsi -g (general numeric sort).

 cut -d: -f3 /etc/passwd | urutkan -g 

Perintah untuk menyalurkan output dari cut ke perintah sort

Nilai ID tertinggi dari akun pengguna milik manusia adalah 1401.

Daftar ID akun pengguna yang diurutkan

ID pengguna 65534 ditetapkan ke konsep sistem "tidak ada."

 getent passwd {65534..65534} 

Tidak ada pengguna sistem, dengan ID 65534

Jadi kita tahu bahwa alih-alih menggunakan nilai UID_MAX dari 60000, di komputer ini kita dapat menggunakan nilai yang lebih realistis seperti 1500. Itu akan mempercepat dengan baik. Kami juga akan menyalurkan output melalui cut untuk mengekstrak hanya nama akun pengguna.

getent passwd {1000..1500} | potong -d: -f1

Output dari getent disalurkan melalui cut to list nama akun pengguna

Pengguna terdaftar dan kami segera kembali ke prompt perintah.

Alih-alih menyalurkan output melalui cut , mari menyalurkan output melalui wc dan menghitung garis sekali lagi. Itu akan memberi kita jumlah akun pengguna "nyata".

 getent passwd {1000..1500} | wc -l 

Menghitung akun pengguna biasa dengan getent dan wc

Sekarang kita dapat melihat bahwa di komputer ini, secara definitif, ada 400 akun pengguna yang dikonfigurasi, milik manusia.

Kekuatan dan Kesederhanaan

Salah satu teknik ini pasti sesuai dengan kebutuhan Anda ketika Anda perlu meninjau akun pengguna di komputer Linux. Perintah-perintah ini harus ada di semua distribusi, dan tidak ada yang memerlukan akses sudo , jadi semuanya tersedia untuk setiap pengguna.

TERKAIT: Cara Mengontrol Akses Sudo di Linux