Laman » bagaimana untuk » Mengapa Beberapa Pengguna Sistem Mempunyai / usr / bin / false sebagai Shell mereka?

    Mengapa Beberapa Pengguna Sistem Mempunyai / usr / bin / false sebagai Shell mereka?

    Sebaik sahaja anda mula menggali ke dalam sistem Linux, anda mungkin mendapati beberapa perkara yang mengelirukan atau tidak dijangka, seperti / usr / bin / false, sebagai contoh. Kenapa di sana dan apakah tujuannya? Posisi Q & A SuperUser hari ini mempunyai jawapan kepada soalan pembaca yang ingin tahu.

    Sesi Soalan & Jawapan hari ini datang kepada kami dengan ihsan SuperUser-bahagian pembahagian Stack Exchange, kumpulan yang diketuai oleh komuniti laman web Q & A.

    Soalan

    Pengguna SuperUser reader7326333 ingin mengetahui mengapa sesetengah pengguna sistem mempunyai / usr / bin / false sebagai shell mereka:

    Mengapa beberapa pengguna sistem mempunyai / usr / bin / false sebagai shell mereka? Apa maksudnya?

    Kenapa beberapa pengguna sistem mempunyai / usr / bin / false sebagai shell mereka?

    Jawapan

    Penyumbang SuperUser duDE, Toby Speight, dan bbaassssiiee mempunyai jawapan untuk kami. Pertama, duDE:

    Ini membantu menghalang pengguna daripada log masuk ke sistem. Kadang-kadang anda memerlukan akaun pengguna untuk tugas tertentu. Walau bagaimanapun, tiada siapa yang boleh berinteraksi dengan akaun ini di komputer. Ini adalah, di satu pihak, akaun pengguna sistem. Sebaliknya, ini merupakan akaun yang membolehkan akses FTP atau POP3, tetapi tidak ada login shell langsung.

    Jika anda melihat lebih dekat pada fail / etc / passwd, anda akan dapati arahan / bin / palsu sebagai shell log masuk untuk banyak akaun sistem. Sebenarnya, palsu bukan shell, tetapi perintah yang tidak melakukan apa-apa dan kemudian juga berakhir dengan kod status yang menandakan ralat. Hasilnya adalah mudah. Pengguna log masuk dan segera melihat log masuk sekali lagi.

    Diikuti dengan jawapan dari Toby Speight:

    Pengguna ini wujud untuk menjadi pemilik fail atau proses tertentu dan tidak dimaksudkan untuk menjadi akaun login. Jika nilai medan "shell" tidak disenaraikan dalam / etc / shells, maka program-program seperti daemon FTP tidak membenarkan akses. Selain itu, untuk program yang tidak memeriksa / etc / shells, mereka menggunakan hakikat bahawa / bin / false akan segera kembali dan menafikan shell interaktif.

    Dan jawapan terakhir kami dari bbaassssiiee:

    Sesetengah pengguna mempunyai / usr / bin / false, yang lain mempunyai / sbin / nologin, atau mereka mungkin mempunyai / usr / bin / passwd. Mereka boleh menjadi pengguna sistem yang diperlukan untuk mengasingkan keizinan program atau pengguna pengguna program yang menggunakan fail kata laluan untuk pengesahan.


    Mempunyai sesuatu untuk menambah penjelasannya? Bunyi dalam komen. Ingin membaca lebih banyak jawapan dari pengguna Stack Exchange yang berteknologi tinggi? Lihat thread perbincangan penuh di sini.

    Kredit Imej: Docs OpenStack (OpenStack Project)