Saya mengizinkan seorang teman akun lokal di komputer saya, khusus untuk SCP. Bisakah saya menentukan shell akunnya sebagai /bin/true
, atau dengan cara lain membatasi akun, sementara masih mengizinkan SCP?
Saya mengizinkan seorang teman akun lokal di komputer saya, khusus untuk SCP. Bisakah saya menentukan shell akunnya sebagai /bin/true
, atau dengan cara lain membatasi akun, sementara masih mengizinkan SCP?
Jawaban:
Anda dapat mengatur shell pengguna ke rssh
atau scponly
, yang dirancang tepat untuk tujuan itu:
rssh adalah shell terbatas untuk digunakan dengan OpenSSH, hanya memungkinkan scp dan / atau sftp. Sekarang juga termasuk dukungan untuk rdist, rsync, dan cvs.
scponly adalah 'shell' alternatif (semacam) untuk administrator sistem yang ingin memberikan akses ke pengguna jarak jauh untuk membaca dan menulis file lokal tanpa memberikan hak istimewa eksekusi jarak jauh.
Ketika Anda menjalankan scp, daemon OpenSSH menjalankan scp
proses dengan -f
opsi. Ketika Anda menjalankan sftp, daemon OpenSSH menjalankan sftp-server
proses. Dalam kedua kasus, subproses dijalankan melalui shell pengguna, sehingga shell harus mendukung setidaknya perintah ini, dengan sintaks seperti Bourne. Setiap shell Bourne-style akan melakukan, seperti yang akan csh (saya pikir aturan kutipnya cukup kompatibel untuk sshd
penggunaan apa ). Rssh dan secara diam-diam mengizinkan perintah-perintah ini dan tidak ada yang lain. /bin/true
bahkan tidak akan menjalankan perintah ini.
/bin/false
atau program lain yang tidak melakukan apa pun, baik scp maupun sftp tidak akan berfungsi. Untuk kedua perintah, daemon SSH menjalankan perintah shell yang menjalankan proses server khusus ( scp -f
atau sftp-server
). Ini membutuhkan shell Bourne-style, atau setidaknya perkiraan yang cukup dekat (seperti rssh
yang memungkinkan hanya beberapa perintah ini melalui).
Tidak, tidak. Seperti yang ditunjukkan Gilles, rssh bekerja sangat baik untuk tujuan ini, seperti halnya dengan scponly . Lihat juga diskusi dalam pertanyaan terkait ini .
/bin/false
tidak akan bekerja, juga tidak akan chmod 644 ksh .