Mengapa beberapa pengguna sistem memiliki / usr / bin / false sebagai shell mereka?

Jawaban:

73

Ini membantu mencegah pengguna masuk sistem.

Terkadang Anda membutuhkan akun pengguna untuk tugas tertentu. Meskipun demikian, tidak seorang pun dapat berinteraksi dengan akun ini di komputer. Ini adalah akun pengguna sistem satu sisi, di sisi lain ini adalah akun, yang memungkinkan akses FTP atau POP3, tetapi tidak ada login shell langsung.

Jika Anda melihat lebih dekat pada /etc/passwdfile, Anda akan menemukan /bin/falseperintah sebagai shell login untuk banyak akun sistem. Sebenarnya, false bukan shell, tetapi perintah yang tidak melakukan apa-apa dan kemudian juga diakhiri dengan kode status yang menandakan kesalahan . Hasilnya sederhana. Pengguna login dan segera melihat prompt login lagi.

duDE
sumber
5
perhatikan itu hanya konvensi; saya bisa menginstal shell saya sendiri /random/path/foo-shelldan mengaturnya sebagai default saya di /etc/passwd. tidak ada jaminan.
quixotic
16

Pengguna ini ada untuk menjadi pemilik file atau proses tertentu, dan tidak dimaksudkan untuk menjadi akun login.

Jika nilai bidang "shell" tidak terdaftar dalam /etc/shellsmaka program seperti daemon FTP tidak memungkinkan akses.

Selain itu, untuk program yang tidak memeriksa /etc/shells, kami menggunakan fakta yang /bin/falseakan segera kembali, sehingga menolak shell interaktif.

Toby Speight
sumber
7

Beberapa pengguna memiliki / usr / bin / false, yang lain memiliki / sbin / nologin atau bahkan / usr / bin / passwd. Mereka dapat berupa pengguna sistem yang diperlukan untuk mengisolasi izin program, atau pengguna manusia dari program yang menggunakan file kata sandi untuk otentikasi.

bbaassssiiee
sumber
1
/usr/bin/passwddigunakan misalnya untuk akun hanya email. Pengguna dapat menggunakan ssh untuk mengubah kata sandi mereka, tetapi tidak ada yang lain.
Simon Richter