Terakhir diperbarui saat
Penting untuk mengetahui siapa yang memiliki akses ke PC Linux Anda (dan mengontrol file Anda), tetapi Anda dapat dengan mudah membuat daftar pengguna di Linux untuk mengetahuinya. Begini caranya.
Itu sistem operasi Linux menawarkan perintah untuk membuat dan menghapus pengguna dan memeriksa mana yang masuk. Namun, tidak ada perintah untuk membuat daftar pengguna, masuk atau tidak, di sistem.
Namun, ada beberapa cara untuk melakukan ini. Jika Anda ingin mempelajari cara membuat daftar pengguna di Linux, ikuti langkah-langkah kami di bawah ini.
Mengapa Anda Harus Memeriksa Daftar Pengguna Linux Anda
Ada sejumlah alasan Anda mungkin ingin membuat daftar pengguna di Linux. Ini adalah praktik yang baik dalam hal menemukan dan menghapus akun yang tidak digunakan, misalnya. Dari sudut pandang keamanan, ini juga merupakan cara yang baik untuk memastikan Anda tidak memiliki penyusup yang membuat akun pengguna.
Ini adalah tugas administratif yang mungkin harus Anda lakukan setidaknya sebulan sekali. Jika Anda menjalankan server Linux perusahaan, Anda mungkin ingin melakukannya lebih sering.
Pengguna Terdaftar di /etc/passwd
Semua akun pengguna server Linux Anda memiliki entri dalam file /etc/passwd. Setiap baris mewakili pengguna, dan memiliki tujuh bidang yang dipisahkan oleh titik dua. Kolom memberikan informasi tentang pengguna.
- Nama pengguna.
- Kata sandi terenkripsi (x menunjukkan kata sandi sebenarnya ada di /etc/shadow)
- Nomor ID Pengguna (UID).
- Nomor ID grup (GID) pengguna.
- Nama lengkap pengguna, jika terdaftar.
- Direktori beranda pengguna.
- Shell masuk
Jadi, itu membawa kita ke satu cara untuk membuat daftar semua pengguna di Linux. Anda dapat menggunakan lebih sedikit perintah untuk melihat seluruh file, satu layar pada satu waktu.
kurang /etc/passwd.
Jika Anda ingin memeriksa apakah pengguna tertentu ada di sistem Linux, itu adalah penggunaan yang baik untuk perintah grep:
kurang sandi | grep jeff.
Jika Anda tidak mendapatkan output apa pun, pengguna itu tidak ada di server Linux.
Tetap saja, itu banyak informasi. Anda dapat memangkasnya menjadi hanya nama pengguna, misalnya, menggunakan salah satu dari awk atau memotong perintah:
awk -F: '{print $1}' /etc/passwd. potong -d: -f1 /etc/passwd.
Itu cenderung lebih mudah dipahami, tetapi masih membuat Anda melihat semua akun pengguna berbasis sistem yang bercampur dengan pengguna manusia Anda.
Cara Menggunakan getent untuk Mendaftar Pengguna
Perintah lain, getent, jauh lebih bermanfaat. Ini menampilkan entri dari database apa pun yang dikonfigurasi di server Anda /etc/nsswitch.conf mengajukan. Salah satunya adalah paswd basis data. Menggunakan getent untuk menampilkan daftar semua pengguna Linux, cara kerjanya seperti ini:
getent passwd
Outputnya terlihat persis sama dengan menggunakan lebih sedikit perintah, tetapi mencantumkan semua pengguna LDAP di sistem Linux. Sekali lagi, kami awk dan memotong perintah dapat membantu hanya melihat bidang pertama, nama pengguna.
Jika Anda ingin memeriksa apakah pengguna tertentu ada di sistem Linux, getent membuatnya mudah:
getent passwd jeff.
Sekali lagi, tidak ada output dari perintah ini yang memberi tahu Anda bahwa pengguna tidak ada.
Penggunaan hebat lainnya untuk getent adalah mencari tahu berapa banyak akun pengguna yang ada di server. Ini dilakukan dengan perpipaan getentkeluaran melalui toilet perintah, seperti ini:
getent passwd | wc -l.
Seperti yang Anda lihat, sistem Linux saya memiliki total 48 akun. Cukup menarik, karena saya satu-satunya yang menggunakannya, tetapi itu hanya menunjukkan berapa banyak akun sistem yang dibuat di Linux.
Menyingkirkan Pengguna Sistem Dari Pengguna Biasa
Di mata Linux, tidak ada perbedaan antara pengguna sistem dan manusia. Setiap kali Anda menginstal OS, itu menciptakan sejumlah pengguna sistem. Pengguna sistem lain dibuat untuk berbagai paket, seperti perangkat lunak layanan web atau surat.
Jadi, bagaimana Anda bisa mendaftar hanya pengguna manusia biasa di sistem Linux? Kuncinya di sini adalah memahami bahwa ketika Anda membuat pengguna biasa, UID-nya ditetapkan dalam rentang angka tertentu. Dengan memeriksa /etc/login.defs file, kami dapat menentukan kisaran nilai UID yang tersedia untuk akun pengguna biasa.
grep -E '^UID_MIN|^UID_MAX' /etc/login.defs.
Berdasarkan output, saya tahu bahwa pengguna normal harus memiliki UID antara 1000 dan 60000. Dari sini, saya dapat membangun getent kueri yang hanya akan menampilkan pengguna biasa.
getent passwd {1000..600000}
Ingatlah, getent akan tampak hang bahkan setelah menampilkan outputnya. Anda dapat menekan Ctrl-C untuk mengakhiri proses, atau menunggu sampai selesai. Biasanya dibutuhkan kurang dari 15 detik untuk menyelesaikan pencarian paswd basis data.
Versi yang lebih umum dari perintah ini memperhitungkan perbedaan UID_MIN dan UID_MAX nilai yang mungkin digunakan oleh berbagai server.
eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)}
Dalam perintah itu, kami memanfaatkan kemampuan Linux untuk melakukan banyak hal sekaligus. Itu awk perintah mendapatkan UID_MIN dan UID_MAX nilai, lalu gunakan dalam getent memerintah.
Sekarang, katakanlah yang kita inginkan hanyalah nama pengguna. Sekali lagi, kami menyalurkan output kami melalui memotong perintah, seperti:
eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | potong -d: -f1.
Perintah ini mungkin memerlukan waktu 10 hingga 15 detik untuk diselesaikan, jadi bersabarlah.
Mengelola Pengguna Linux Anda Secara Efektif
Penting untuk melacak akun pengguna apa yang ada di sistem Linux Anda. Ketika Anda mengetahui seorang karyawan telah pergi, segeralah menghapus akun pengguna mereka. Mendaftarkan pengguna Linux Anda secara berkala akan membantu memastikan Anda menangkap akun apa pun yang mungkin macet.
Pada saat yang sama, pastikan untuk tetap di atas kebijakan keamanan kata sandi dan dorong pengguna Anda untuk ubah kata sandi mereka secara teratur.