Saya telah menambahkan pengguna ke sistem melalui adduser
alat. Kemudian, dalam /etc/passwd
, saya mencoba mengubah /bin/bash
ke /sbin/nologin
atau ke /dev/null
, tetapi tidak ada yang berhasil.
Saya ingin pengguna tidak memiliki opsi untuk mendapatkan shell interaktif, dan hanya untuk digunakan sftp
. Apakah ada cara?
Saya tahu itu sudah ditanyakan di sini sebelumnya, tetapi sepertinya tidak ada yang memberikan respons yang memuaskan.
Jawaban:
Perintah yang harus Anda gunakan untuk mengganti shell adalah chsh . Shell nologin bisa
/sbin/nologin
atau/usr/sbin/nologin
(periksa yang Anda miliki dengan melihat/etc/shells
) tetapi/bin/false
mungkin akan menjadi pilihan yang lebih baik.Anda harus mempertimbangkan mengatur sesuatu seperti scponly yang akan melakukan apa yang Anda inginkan.
sumber
/bin/false
dan/bin/nologin
benar-benar tersedia di/etc/shells
!nologin
di/etc/shells
! serverfault.com/a/328424Anda juga harus dapat melakukannya dengan OpenSSH 4.9 dan yang lebih baru, yang dengannya Anda juga dapat melakukan chroot untuk meningkatkan keamanan.
Di Anda
/etc/ssh/sshd_config
:Lalu lari:
Pengguna hanya dapat menulis di / home / pengguna / unggahan.
https://debian-administration.org/article/590/OpenSSH_SFTP_chroot_with_ChrootDirectory
sumber
Saya pikir cara terbaik adalah dengan mysecureshell
http://mysecureshell.sourceforge.net/en/index.html
Anda dapat chroot pengguna dengan ini dengan mudah dan bahkan membatasi bandwidth jika diperlukan.
sumber
Anda dapat menambahkan pengguna dengan
-s /bin/false
menonaktifkan shell mereka, tetapi apa yang benar-benar harus Anda perhatikan adalah pengaturan akun sftp chroot. Ini akan "memenjarakan" pengguna ke direktori mereka sendiri dan mencegah mereka untuk dapat mengakses atau memodifikasi file atau direktori di luar direktori chroot.sumber