Meskipun mungkin tidak ada gunanya untuk mengubah nama /etc/passwd
dan /etc/shadow
file, jika Anda ingin menambahkan keamanan, Anda mungkin ingin melihat PAM (modul otentikasi pluggable) dan NSS (Name Service Switch). Seperti di sini.
PAM dapat digunakan untuk menambahkan modul otentikasi itu, sebagai gantinya membaca informasi otentikasi mereka dari file standar, membacanya dari sumber lain, seperti dari ldap atau database. Menggunakannya akan berarti /etc/shadow
hampir bisa dihilangkan.
NSS melengkapi PAM dengan membuat beberapa resolusi nama (seperti grup mana yang dimiliki oleh pengguna ini) independen dari file standar ( /etc/passwd
, /etc/groups
). Menggunakannya berarti file passwd Anda berpotensi hanya berisi opsi fallback untuk root, dan tidak lebih. Menggunakan kunci SSH untuk memvalidasi login root juga akan menghilangkan kebutuhan untuk memiliki kata sandi root di dalam file shadow (meskipun mungkin diinginkan jika koneksi SSH rusak).
Atau jika Anda tidak ingin mengautentikasi pengguna Anda melalui database atau host ldap yang terpisah, Anda juga dapat membuat modul PAM dan NSS Anda sendiri, yang membaca data mereka dari file yang tidak standar, walaupun saya tidak akan merekomendasikan opsi ini.
Ketika Anda ingin mencoba menggunakannya jangan pernah lupa untuk menyimpan semacam fallback ke lapisan otentikasi yang dikenal, jika tidak, Anda dapat mengunci diri dari sistem, bahkan dengan root.
Perhatikan bahwa tidak semua aplikasi mendukung PAM (banyak yang melakukannya). Namun NSS dapat digunakan untuk mengimplementasikan otentikasi untuk aplikasi yang tidak mendukung PAM, dan beberapa situs yang saya baca tentang NSS sebenarnya menyarankan pendekatan ini. Namun ini berarti bahwa modul NSS akan menyediakan kata sandi (yang berpotensi) di-hash kepada siapa saja yang dapat mengakses lapisan otentikasi NSS, yang hampir selalu merupakan sesuatu yang ingin Anda hindari (pada dasarnya sama dengan memberikan akses baca non-root ke file shadow )! Jadi, jika Anda menggunakan pendekatan ini, pastikan NSS hanya digunakan untuk menyediakan data dasar (seperti konten /etc/passwd
) kepada pengguna, dan PAM digunakan sebagai lapisan otentikasi.