Seorang pengguna yang memiliki shell yang valid dan tanpa kata sandi masih dapat masuk dengan metode berbasis non-kata sandi, yang paling umum adalah kunci ssh. Shell yang valid diperlukan untuk menjalankan tugas cron. Shell yang valid juga diperlukan untuk su bin -c 'wibble'
untuk bekerja (setidaknya di Linux, su bin -s /bin/sh -c 'wibble'
juga akan berfungsi).
Dalam kasus bin
, sebagian besar sistem tidak pernah menjalankan perintah sebagai bin
dalam operasi normal, jadi setel shell ke /bin/false
akan baik-baik saja.
Tidak ada risiko serangan langsung yang mengizinkan bin
untuk masuk melalui SSH, karena itu memerlukan pembuatan /bin/.ssh/authorized_keys
sebagai pengguna bin
atau sebagai akar. Dengan kata lain, satu-satunya cara untuk masuk adalah dengan masuk. Namun, memiliki shell yang valid memang meningkatkan risiko kesalahan konfigurasi. Itu juga dapat mengizinkan beberapa serangan jarak jauh dengan layanan selain SSH; misalnya pengguna melaporkan bahwa penyerang dapat menyetel kata sandi untuk daemon
jarak jauh melalui Samba, lalu gunakan kata sandi itu untuk masuk melalui SSH.
Anda dapat memasang lubang SSH dengan mencantumkan nama pengguna sistem dalam DenyUsers
direktif dalam /etc/ssh/sshd_config
(sayangnya, Anda tidak dapat menggunakan rentang numerik). Atau, sebaliknya, Anda dapat memasukkan AllowGroups
direktif dan hanya mengizinkan grup yang berisi pengguna fisik (mis. users
jika Anda memberikan keanggotaan grup tersebut kepada semua pengguna fisik Anda).
Ada bug yang diajukan atas masalah ini di Debian (#274229, #330882, #581899), saat ini terbuka dan diklasifikasikan sebagai “wishlist”. Saya cenderung setuju bahwa ini adalah bug dan pengguna sistem harus memiliki /bin/false
sebagai cangkang mereka kecuali tampaknya perlu untuk melakukan sebaliknya.
Anda tidak perlu khawatir tentang mereka sebagai pengguna. Mereka adalah "pengguna" dalam arti grup keamanan, bukan pengguna dalam arti "masuk dan gunakan" orang. Jika Anda melihat di "/etc/shadow", Anda akan melihat bahwa semua "pengguna" ini tidak memiliki kata sandi (baik "x" atau "!" alih-alih hash asin yang panjang). Artinya, pengguna tersebut tidak dapat masuk, apa pun yang terjadi.
Karena itu, saya tidak tahu apakah sebaiknya mengubah "/ bin/sh" menjadi "/ bin/false" untuk semua pengguna ini. Karena program berjalan di bawah grup ini, mungkin tidak memungkinkan mereka untuk menjalankan perintah yang mereka perlukan. Saya akan membiarkannya sebagai "/bin/sh".
Anda tidak perlu khawatir tentang pengguna ini. Hanya khawatirkan pengguna yang Anda buat (dan yang memiliki hash di "/etc/shadow")