it-swarm-vi.com

Máy chủ FTP Ubuntu cơ bản

Tôi muốn thiết lập một máy chủ FTP cơ bản trên bản cài đặt Ubuntu Server của mình. Tôi đã chơi với VSFTPD, nhưng gặp sự cố khi máy chủ cho phép tôi tạo thư mục và sao chép tệp. Tôi đã thiết lập hệ thống để cho phép người dùng cục bộ, nhưng có vẻ như điều đó không có nghĩa là tôi có quyền truy cập để tạo thư mục. Đây có thể là một ví dụ mà tôi cần có căn cứ tốt hơn trong thiết lập máy chủ Ubuntu để định cấu hình máy chủ FTP này đầy đủ. Mục tiêu cuối cùng là có thể di chuyển các tệp từ thư mục dev cục bộ của tôi vào thư mục www để triển khai. Thư mục cần phải có khả năng di chuyển là tốt. Mọi sự trợ giúp sẽ rất được trân trọng.

33
JPrescottSanders

Tôi sẽ giới thiệu PureFTPD vì theo ý kiến ​​của tôi, nó đơn giản và dễ sử dụng nhất. Bạn sẽ cần cài đặt nó trước: Sudo apt-get install pure-ftpd sau khi được cài đặt, nó sẽ tự khởi động. Theo mặc định, nó sử dụng Xác thực PAM - có nghĩa là nó sử dụng các tài khoản đã tồn tại trên hệ thống để xác thực. Tất cả những gì bạn cần làm là tạo một tài khoản người dùng với thư mục chính là đường dẫn www của bạn và đặt mật khẩu cho tài khoản đó. Sau đó, bạn sẽ có thể kết nối với kết hợp người dùng/vượt qua đó để tải lên/tải xuống tệp.

Một cái gì đó như thế này:

Sudo adduser ftpman --home /var/www/ --ingroup www-data

Việc này sẽ tạo người dùng ftpman và đưa anh ta vào nhóm dữ liệu www mà Apache sử dụng và sẽ đưa bạn qua phần còn lại của tập lệnh thiết lập. Khi đã được xác định, hãy đảm bảo chmod thư mục WWW nếu bạn gặp lỗi về nó đã tồn tại đối với tổ hợp người dùng/nhóm mà bạn đã tạo.

Cuối cùng, nếu bạn muốn khóa quyền truy cập SSH cho tài khoản đó chạy: Sudo chsh -s /bin/false ftpman sẽ thay đổi người dùng Shell thành false. (Thay thế ftpman bằng người dùng ftp của bạn)

42
Marco Ceppi

Theo tôi SFTP là một cách tốt hơn để đi. Này, nó có từ "an toàn" trong tên, nó phải tốt hơn :)

SFTP sử dụng ssh để thực hiện chuyển tập tin (khác với FTPS, về cơ bản là FTP + TLS). Điều đó có nghĩa là nếu bạn có thể ssh với máy đích, bạn hầu như luôn có thể SFTP với nó, vì nó sử dụng cùng một cơ chế xác thực, do đó không cần phải cài đặt và định cấu hình các trình nền máy chủ khác nhau (ví dụ: không có purftpd hoặc vsftpd). Miễn là quyền của bạn được đặt chính xác cho /var/www - đó là có thể một vấn đề của Sudo chmod g+w /var/www; Sudo usermod -g $USER -G www-data $USER - bạn sẽ có thể sử dụng SFTP ngay lập tức.

Hầu hết các phần mềm máy khách hiện nay sẽ thực hiện SFTP khá vui vẻ và bạn cũng có thể sử dụng scp từ Shell trên máy chủ dev để sao chép nội dung (scp -R sẽ sao chép toàn bộ thư mục và rất tiện dụng). Bạn thậm chí có thể đi thêm một bước nữa và tự động đăng nhập bằng các khóa công khai, nghĩa là không cần nhập mật khẩu nữa :)

10
Ben Williams

Tôi thực sự khuyên bạn nên sử dụng vsftpd. Nó là một trong những trình nền FTP an toàn nhất trong Linux. Nhiều người khác đã có những điểm yếu trong quá khứ và có vẻ như FTP khó thực hiện một cách an toàn.

vsftpd bắt đầu ngay sau khi bạn cài đặt nó. Ubuntu cho phép người dùng cục bộ đăng nhập. Vì vậy, hãy khởi động ứng dụng khách FTP của bạn và đăng nhập như người dùng bình thường bằng mật khẩu hệ thống của bạn (Ví dụ của tôi sử dụng lftp):

> lftp 127.0.0.1 ftp
lftp 127.0.0.1:~> user qbi
Password: #typing my password which I also use to log in via GDM
lftp [email protected]:~> ls
drwxr-xr-x 10 1000 1000   4096 2008-07-28 16:32 Desktop
... many more

Bây giờ tôi đang sử dụng một số loại trình quản lý tệp (Nautilus, Shell, v.v.) để tạo thư mục mới foo và quay lại máy khách FTP của tôi:

ftp [email protected]:~> ls -l
...
drwxr-xr-x 2 1000 1000   4096 2010-08-09 13:32 foo

Thư mục ở đó và tôi có thể cd vào đó và sử dụng nó. Điều này cũng tương tự nếu bạn có người dùng đặc biệt. Ở đó bạn cũng có thể tạo các thư mục và chúng có thể truy cập ngay lập tức. Ở đây điều quan trọng là tìm kiếm quyền truy cập.

5
qbi

Tôi khiêm tốn giới thiệu một máy chủ FTP mà tôi đã tự viết từ đầu: JetFTP . Đó là cực kỳ đơn giản để cài đặt và sử dụng.


Cài đặt:

  • Thêm PPA của tôi vào các nguồn phần mềm của bạn và cập nhật:

    Sudo apt-add-repository ppa:george-edison55/george-edison
    
  • Chạy lệnh sau:

    Sudo apt-get install jetftp
    
  • Đó là nó!

Sử dụng JetFTP rất đơn giản - chỉ cần kết nối với cổng 8021 bằng tên đăng nhập và mật khẩu trên máy tính JetFTP đang chạy.

3
Nathan Osman

Không sử dụng ftp, đây là một giao thức không an toàn vốn có vì nó sẽ gửi tên người dùng và mật khẩu rõ ràng đến máy chủ. Việc thực hiện sftp cũng dễ dàng và bạn có được lợi thế rất lớn trong việc bảo mật kết nối của mình.

2
Stuart

Cài đặt mặc định của VSFTPD không cho phép bất kỳ tạo/sửa đổi thay đổi theo mặc định. Bạn cần chỉnh sửa /etc/vsftpd.conf và bỏ ghi chú dòng sau ...

write_enable=YES

Và thứ hai, bạn cần cấu hình các quyền hệ thống tệp thích hợp trên các tệp và thư mục tương ứng.

0
Simon East

Có ba cách khác nhau để thiết lập máy chủ ftp:

(1) FTP ẩn danh:

Mọi người chỉ có thể truy cập máy chủ bằng tài khoản ẩn danh và không cần mật khẩu. Tất nhiên, quản trị viên máy chủ sẽ đặt giới hạn cho tải lên để ngăn người dùng đặt các tệp bất hợp pháp như nhạc/phim/trò chơi lậu.

(2) FTP có cả quyền truy cập ẩn danh và người dùng có tài khoản được mật khẩu:

Phương pháp này cho phép cả người dùng tài khoản ẩn danh và mật khẩu vào máy chủ. Họ sẽ chỉ có quyền truy cập vào một thư mục được chỉ định, ngoại trừ người dùng root có thể xem/sửa đổi/xóa tất cả các tệp và/hoặc thư mục.

(3) FTP có hỗ trợ mysql để xác thực người dùng ảo:

Phương pháp này chỉ cho phép truy cập vào máy chủ đối với một số nhóm người dùng chưa có tài khoản Shell xác thực người dùng ảo trên hệ thống. Nó sử dụng một máy chủ mysql bên ngoài lưu trữ thông tin người dùng.

Tùy chọn đầu tiên: FTP ẩn danh

Trước khi bắt đầu tạo một máy chủ ftp ẩn danh, bạn phải thêm một người dùng được gọi là ftp vào hệ thống của bạn, với một thư mục chính. Bước này thực sự dễ dàng, chỉ cần làm theo các lệnh sau:

useradd -d /home/ftp/ftp -s /bin/false ftp

mkdir -p /home/ftp/upload

Làm điều này chỉ cho phép tài khoản này để viết trong thư mục này. Bạn có thể sử dụng nhiều biến hơn để chỉ định máy chủ ftp sẽ làm gì. Dưới đây là một số ví dụ:

-e Allow access to the server only by anonymous users
-B Start the server with background demon
-i Anonymous users can't upload files
-M Let anonymous users create folders
-s ftp user files cannot be downloaded

Tùy chọn thứ hai: '' 'Cả người dùng tài khoản ẩn danh và mật khẩu' ''

Để có thể có cả người dùng tài khoản ẩn danh và mật khẩu trong cùng một máy chủ, hãy làm theo hướng dẫn nhỏ sau:

-B ,-i ,M, -r, -s same of before
-u <uid> Enable users with a specified user id (uid) to access the server 
-V <Ip address> Only specified IPs will be able to access the server in non-anonymous mode 

Tùy chọn thứ ba: '' 'Người dùng ảo với Mysql' ''

Để tạo một máy chủ có hỗ trợ mysql, hãy làm theo các bước sau:

Tải xuống và cài đặt Trình quản lý người dùng cho PureFTPd mà bạn có thể tìm thấy ở đây http://machiel.generaal.net/index.php?subject=user_manager_pureftpd

Giải nén nó và tải tất cả nội dung của nó vào thư mục www của máy chủ web của bạn và sau đó viết trên trình duyệt của bạn liên kết liên kết này http: //localhost/ftp/install.php Thực hiện theo tất cả các bước mà trình cài đặt yêu cầu bạn Sao chép và lưu rge purftpd-mysql.conf vào thư mục trình quản lý người dùng của purftpd

Làm xong. Truy cập vào bảng quản trị bằng liên kết này http: // localhost/ftp

Thêm tùy chọn để thêm trước khi khởi chạy quy trình máy chủ

-c <num> Max client that can connect to the server
-C <num> Max connections for a IP
-T <bandwitdh> Max bandwitdh disponible for each connection
-n <MBytes> Max MB that a user can have into its home folder
-m <Cpu Loading> Stops the anonymous uploads if the cpu loading exceed from this value 

Và xem điều này cho một số ứng dụng máy chủ ftp:
[.__.] https://help.ubfox.com/6.06/ubfox/serverguide/C/ftp-server.html

0
Sajad Bahmani