Mengubah shell login tidak selalu mencegah pengguna melakukan otentikasi (kecuali di beberapa layanan yang memeriksa apakah shell pengguna disebutkan dalam /etc/shells
).
Orang mungkin masih dapat mengautentikasi ke berbagai layanan yang disediakan sistem Anda untuk pengguna unix, dan mungkin masih diizinkan untuk melakukan beberapa tindakan meskipun mungkin tidak menjalankan perintah sewenang-wenang secara langsung.
Mengubah shell ke /bin/false
atau /usr/sbin/nologin
hanya akan mencegah mereka menjalankan perintah pada layanan-layanan yang dapat digunakan untuk menjalankan perintah (login konsol, ssh, telnet, rlogin, rexec ...), sehingga memengaruhi otorisasi untuk beberapa layanan saja.
Untuk ssh
misalnya, yang masih memungkinkan mereka untuk melakukan port forwarding.
passwd -l
akan menonaktifkan otentikasi kata sandi, tetapi pengguna mungkin masih diizinkan untuk menggunakan metode otentikasi lainnya (seperti authorized_keys
dengan ssh
).
Dengan pam
di Linux setidaknya, Anda dapat menggunakan pam_shells
modul untuk membatasi otentikasi atau otorisasi kepada pengguna dengan shell yang diizinkan (yang disebutkan dalam /etc/shells
). Untuk ssh
, Anda ingin melakukannya di account
tingkat otorisasi ( ) seperti untuk sshd
penggunaan otentikasi pam
selain metode otentikasi lainnya (seperti authorized_keys
), atau Anda dapat melakukannya dengan sshd_config
arahan dalam /etc/ssh/sshd_config
(suka AllowUsers
dan teman).
Namun berhati-hatilah bahwa menambahkan beberapa batasan dalam otorisasi pam global akan berpotensi mencegah cron
pekerjaan yang berjalan sebagai pengguna tersebut.
/bin/false
tampaknya lebih umum daripada/bin/true
.