Saya menjalankan server Ubuntu 10,04 LTS dan saya ingin membuat pengguna yang hanya dapat mengakses server dari FTP.
Apa yang saya lakukan sejauh ini adalah:
- Install
vsftpd
- Buat pengguna baru dengan shell login default diatur ke
/bin/false
Pengguna normal pada server semua dapat mengakses folder rumah mereka melalui ftp tetapi pengguna yang akses shell jarak jauh dihapus dengan mengaturnya untuk /bin/false
tidak dapat login dengan ftp juga.
Saya tidak mengerti bagaimana akses shell mempengaruhi vsftpd
server? Bagaimana saya bisa mengaktifkan akses ftp tanpa mengaktifkan kembali shell?
Pembaruan:
Saya menemukan referensi ini yang menyatakan bahwa saya harus menggunakan /sbin/nologin
(tampaknya berada /usr/sbin/nologin
di Ubuntu) dan itu seharusnya tidak mempengaruhi akses ftp tetapi tidak berfungsi dalam kasus saya.
Jawaban:
Saya tidak tahu apakah itu praktik yang baik untuk menjawab pertanyaan saya sendiri tetapi saya menemukan solusi sederhana yang memungkinkan ftp login.
Saya perlu menambahkan baris
ke file / etc / shells. Tepat setelah modifikasi ini server ftp mulai menerima login dari pengguna yang shell-nya diset / usr / sbin / nologin. Jadi mereka tidak dapat masuk melalui ssh tetapi ia bekerja dengan ftp persis seperti yang saya inginkan.
Terima kasih atas komentar Anda yang bermanfaat.
sumber
Set pengguna shell kembali ke
/bin/false
(atau beberapa shell tidak valid lainnya) kemudian ditetapkan/bin/false
dalam/etc/shells
.Saya melihat masalah keamanan utama dengan pengaturan
/usr/sbin/nologin
ke/etc/shells
. Anda memberi FTP (dan mungkin lainnya) akses ke semua daemon dan login yang memiliki/usr/sbin/nologin
shell.sumber
/etc/nologin.txt
sehingga pengguna ftp bisa tahu itu hanya ftp atau semacamnya.