Linux adalah sistem operasi multipengguna, jadi membuat banyak akun pengguna sangatlah mudah. Seiring waktu, mudah untuk kehilangan jejak akun mana yang diperlukan. Mencantumkan akun pengguna membantu Anda mengelolanya.
Mengapa Peduli Tentang Akun Pengguna Ekstra?
Biasanya, akun tambahan hanya menambah kekacauan, tetapi juga dapat membuka kerentanan keamanan.
Kemajuan teknologi seringkali membawa masalah baru tersendiri. Segera setelah komputer mampu mendukung banyak pengguna, kebutuhan untuk memagari dan merangkum pekerjaan setiap orang dari orang lain menjadi jelas. Hal ini mengarah pada 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, menyimpan akun pengguna yang tidak perlu lagi dikonfigurasi dan diakses di komputer Anda adalah praktik yang buruk. Anda harus menghapus pengguna tersebut.
Bahkan jika tidak ada orang lain yang menggunakan komputer Anda, Anda mungkin telah membuat beberapa akun hanya untuk mempelajari cara melakukannya, atau untuk mempelajari dan mempraktikkan proses administrasi.
Langkah pertama adalah membuat daftar akun pengguna yang dikonfigurasi di komputer Anda. Itu memungkinkan Anda meninjaunya dan membuat keputusan tentang mana yang dapat dihapus. Ada beberapa metode untuk membuat daftar pengguna. Apa pun distribusi yang Anda gunakan, teknik ini akan bekerja untuk Anda tanpa perlu menginstal aplikasi atau utilitas apa pun.
Daftar Pengguna Dengan Perintah cat
Daftar pengguna yang dikonfigurasi dipertahankan, bersama dengan informasi tentang setiap pengguna, di “/ dll/passwd”. Ini adalah file teks yang dapat dicantumkan oleh pengguna biasa ke jendela terminal. Anda tidak perlu menggunakan sudo untuk melihat file “/etc/passwd”.
Kita dapat menggunakan perintah cat untuk mengirim konten 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
Ada sebaris informasi padat yang dilaporkan untuk setiap akun pengguna.
Informasi untuk akun pengguna yang disebut “dave ” berisi 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 unik. Akun pengguna biasa biasanya dimulai dari 1000, dengan setiap akun baru mengambil ID gratis berikutnya, seperti 1001, 1002, dan seterusnya. 1000: ID grup dari grup default tempat pengguna berada. 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 antaranya. Mereka dapat menyimpan hal-hal seperti nama lengkap pengguna, nomor kantor, dan nomor telepon mereka. Entri untuk akun pengguna “mary” menunjukkan nama lengkapnya adalah Mary Quinn. /home/dave: Jalur ke folder beranda 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 kita jumlah akun yang dikonfigurasi di komputer ini.
cat /etc/passwd | wc -l
Angka tersebut mencakup akun sistem dan pengguna yang dibuat oleh aplikasi. Ada sekitar 400 pengguna reguler yang dikonfigurasi di komputer ini. Hasil Anda mungkin jauh lebih sedikit.
Dengan banyak akun, akan lebih mudah menggunakan less untuk melihat file “/etc/passwd”.
less /etc/passwd
Menggunakan less juga memungkinkan Anda mencari di dalam output, jika Anda mau untuk mencari akun pengguna tertentu.
Perintah awk
Dengan menggunakan perintah awk kita dapat menampilkan nama pengguna saja. Ini dapat berguna ketika Anda sedang 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 selanjutnya adalah menyalin dan menempelkan sisa perintah ke setiap baris.
Kami akan memberitahu 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
Nama akun pengguna ditulis ke jendela terminal tanpa informasi akun lainnya.
Perintah pemotongan
Kita dapat mencapainya hal yang sama menggunakan perintah cut. Kita perlu menggunakan opsi -d (pembatas) dan memintanya untuk memilih bidang pertama saja, menggunakan opsi -f (bidang).
cutr -d: -f1
Ini mencantumkan semua akun pengguna, termasuk sistem dan non- akun manusia.
Perintah compgen
Perintah compgen dapat digunakan dengan opsi -u (pengguna) untuk membuat daftar akun pengguna. Kami akan menyalurkan output melalui perintah kolom untuk mencantumkan akun pengguna di kolom, bukan satu daftar panjang dengan satu nama pengguna per baris.
compgen -u | kolom
Sekali lagi, akun pengguna pertama yang terdaftar adalah milik proses, bukan manusia.
UID MIN dan UID MAX
Akun pengguna diberi ID numerik, yang telah kita lihat sebelumnya. Biasanya, akun pengguna manusia biasa dimulai dari 1000, dan akun pengguna sistem, non-manusia, dimulai dari 0. ID akun root adalah 0.
Jika kita dapat memverifikasi ID pengguna terendah dan tertinggi, kita dapat menggunakannya informasi untuk memilih akun pengguna yang berada di antara dua nilai tersebut. Itu akan memungkinkan kita 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.
Kami akan menggunakan opsi -E (regex diperpanjang). 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
Kisaran ID pengguna di komputer ini adalah dari 1000 hingga 60.000.
Perintah getent
Perintah getent membaca informasi dari database sistem. Kita dapat memerintahkannya untuk membuat daftar entri dalam file “/etc/passwd” dengan menggunakan “passwd” sebagai parameter.
getent passwd
Ini memberi kita pembacaan yang sama yang bisa kita dapatkan dengan menggunakan cat. Namun keunggulan getent adalah dengan menerima nilai-nilai yang dikenal sebagai “kunci”. Kunci menentukan informasi mana yang akan dilaporkan. Jika kita ingin melihat entri untuk satu pengguna, kita dapat meneruskan nama akun pengguna mereka di baris perintah.
getent passwd Sarah
Perhatikan bahwa nama akun pengguna peka terhadap huruf besar-kecil.
getent passwd sarah
Kita juga dapat meneruskan dalam batas atas dan bawah dari ID akun pengguna yang ingin kami lihat. Untuk benar-benar melihat semua akun pengguna reguler, kita dapat menggunakan nilai dari UID_MIN dan UID_MAX.
getent passwd {1000..60000}
Ini memerlukan waktu untuk dijalankan. Akhirnya, Anda akan kembali ke command prompt.
Alasan waktu eksekusi yang lama adalah getent mencoba menemukan kecocokan untuk semua nilai akun pengguna hingga 60000.
Mari kita lihat apa ID akun pengguna tertinggi. Kita akan menggunakan perintah potong, namun kali ini kita akan meminta kolom ketiga, kolom ID pengguna. Kami akan menyalurkan output melalui sortir dan menggunakan opsi -g (pengurutan numerik umum).
cut -d: -f3 /etc/passwd | sort -g
Nilai ID tertinggi dari akun pengguna milik manusia adalah 1401.
User id 65534 ditetapkan ke konsep sistem “tidak ada.”
getent passwd {65534..65534}
Jadi kita tahu bahwa alih-alih menggunakan nilai UID_MAX 60000 , di komputer ini kita dapat menggunakan nilai yang lebih realistis seperti 1500. Itu akan mempercepatnya dengan baik. Kami juga akan menyalurkan output melalui cut untuk mengekstrak nama akun pengguna saja.
getent passwd {1000..1500} | cut -d: -f1
Pengguna terdaftar dan kita segera kembali ke command prompt.
Daripada menyalurkan output melalui cut, mari menyalurkan output melalui wc dan menghitung baris sekali lagi. Itu akan memberi kita jumlah akun pengguna “nyata”.
getent passwd {1000..1500} | wc -l
Sekarang kita dapat melihat bahwa di komputer ini, secara pasti, terdapat 400 akun pengguna yang dikonfigurasi, milik manusia.
Kekuatan dan Kesederhanaan
Salah satu teknik ini pasti sesuai dengan kebutuhan Anda saat Anda perlu meninjau akun pengguna di komputer Linux . Perintah-perintah ini harus ada di semua distribusi, dan tidak ada satupun yang memerlukan akses sudo, sehingga semuanya tersedia untuk setiap pengguna.