Làm cách nào tôi có thể tạo người dùng chỉ với quyền truy cập ftp từ xa trên máy chủ Linux?


11

Tôi đang chạy máy chủ Ubuntu 10.04 LTS và tôi muốn tạo người dùng chỉ có thể truy cập máy chủ từ FTP.

Những gì tôi đã làm cho đến nay là:

  • Tải về vsftpd
  • Tạo người dùng mới với vỏ đăng nhập mặc định được đặt thành /bin/false

Tất cả người dùng bình thường trên máy chủ đều có thể truy cập thư mục nhà của họ thông qua ftp nhưng người dùng đã truy cập shell từ xa bằng cách đặt nó thành /bin/falsekhông thể đăng nhập bằng ftp.

Tôi không hiểu cách truy cập shell ảnh hưởng đến vsftpdmáy chủ? Làm thế nào tôi có thể kích hoạt truy cập ftp mà không cần bật lại shell?

Cập nhật:
Tôi tìm thấy tài liệu tham khảo này nói rằng tôi nên sử dụng /sbin/nologin(dường như là /usr/sbin/nologintrong Ubuntu) và nó sẽ không ảnh hưởng đến truy cập ftp nhưng nó không hoạt động trong trường hợp của tôi.


Có thể thử cài đặt thành / bin / true
balki

Tôi chưa bao giờ sử dụng vsftpd nhưng tôi đã tìm thấy giải pháp làm những gì bạn cần. Tôi không biết đó có phải là giải pháp tốt nhất không (tôi nghĩ nó nên hoạt động, nhưng có lẽ có thứ gì đó tốt hơn).
pbm

Chỉ cần thử / bin / true và nó không hoạt động.
jmbouffard

Cảm ơn @pbm nhưng nó không chính xác là những gì tôi đang tìm kiếm vì tôi thích sử dụng người dùng thực sự.
jmbouffard

Câu trả lời:


12

Tôi không biết có nên trả lời câu hỏi của mình không nhưng tôi đã tìm thấy một giải pháp đơn giản cho phép đăng nhập ftp.

Tôi cần thêm dòng

/ usr / sbin / nologin

vào tập tin / etc / shells. Ngay sau khi sửa đổi, máy chủ ftp bắt đầu chấp nhận đăng nhập từ người dùng mà shell được đặt / usr / sbin / nologin. Vì vậy, họ không thể đăng nhập thông qua ssh nhưng nó hoạt động với ftp chính xác như tôi muốn.

Cảm ơn ý kiến ​​hữu ích của bạn.


Tôi đã đọc ở đâu đó vài ngày trước rằng điều này mở ra lỗ hổng bảo mật. Bất kỳ chuyên gia ngoài đó có thể làm rõ điều này cho tôi.
Navneil

0

Đặt shell người dùng trở lại /bin/false(hoặc một số shell không hợp lệ khác) sau đó đặt /bin/falsevào /etc/shells.

Tôi nhìn thấy một lớn vấn đề an ninh với thiết /usr/sbin/nologinvào /etc/shells. Bạn đang cấp cho FTP (và có lẽ khác) quyền truy cập vào tất cả các trình tiện ích và thông tin đăng nhập có /usr/sbin/nologinvỏ.


1
Thật là chính xác? nologin tồn tại để cho phép, tốt, nologin - với một thông điệp tùy chỉnh tùy chọn /etc/nologin.txtđể người dùng ftp có thể biết đó chỉ là ftp hoặc một số như vậy.
Dani_l

vsftpd là người bảo vệ khỏi sự truy cập trái phép bằng cách có danh sách truy cập của riêng nó.
Dani_l
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.