Máy chủ FTP với PureFTPd, MariaDB và Người dùng ảo (bao gồm Quản lý hạn ngạch và băng thông) trên CentOS 7.2

theanh

Administrator
Nhân viên
Tài liệu này mô tả cách cài đặt máy chủ PureFTPd sử dụng người dùng ảo từ cơ sở dữ liệu MariaDB (tương thích với MySQL) thay vì người dùng hệ thống thực. Cách này hiệu quả hơn nhiều và cho phép có hàng nghìn người dùng FTP trên một máy duy nhất. Ngoài ra, tôi sẽ chỉ cách sử dụng hạn ngạch và giới hạn băng thông tải lên/tải xuống với thiết lập này. Mật khẩu sẽ được lưu trữ dưới dạng mã hóa chuỗi MD5 trong cơ sở dữ liệu.

Để quản lý cơ sở dữ liệu MariaDB, bạn có thể sử dụng các công cụ dựa trên web như phpMyAdmin cũng sẽ được cài đặt trong hướng dẫn này. phpMyAdmin là giao diện đồ họa dễ sử dụng, nghĩa là bạn không cần phải loay hoay với dòng lệnh.

Hướng dẫn này dựa trên CentOS 7.2. Bạn hẳn đã thiết lập hệ thống CentOS 7.2 cơ bản tối thiểu.

Hướng dẫn này có mục đích là hướng dẫn thực tế; không đề cập đến các lý thuyết cơ bản. Chúng được đề cập trong nhiều tài liệu khác trên web.

Tài liệu này không có bất kỳ bảo hành nào! Tôi muốn nói rằng đây không phải là cách duy nhất để thiết lập một hệ thống như vậy. Có nhiều cách để đạt được mục tiêu này nhưng đây là cách tôi thực hiện.


1 Lưu ý sơ bộ​

Trong hướng dẫn này, tôi sử dụng tên máy chủ server1.example.com với địa chỉ IP 192.168.1.100. Các thiết lập này có thể khác nhau đối với bạn, vì vậy bạn phải thay thế chúng khi cần thiết.


2 Cài đặt MySQL và phpMyAdmin​

Đầu tiên, chúng ta kích hoạt kho lưu trữ EPEL trên hệ thống CentOS của mình vì một số gói mà chúng ta sẽ cài đặt trong quá trình hướng dẫn này không có sẵn trong kho lưu trữ CentOS 7.2 chính thức:
Mã:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
Sau đó, chúng ta kích hoạt kho lưu trữ EPEL trên hệ thống CentOS của mình vì nhiều gói mà chúng ta sẽ cài đặt trong hướng dẫn này không có trong kho lưu trữ CentOS 7 chính thức:
Mã:
yum -y install epel-release
Mã:
yum -y install yum-priorities
Chỉnh sửa /etc/yum.repos.d/epel.repo...
Mã:
nano /etc/yum.repos.d/epel.repo
... và thêm dòng priority=10 vào phần [epel]:
Mã:
[epel]name=Gói bổ sung cho Enterprise Linux 7 - $basearch#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearchmirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearchfailovermethod=priorityenabled=1priority=10gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7[...]
Sau đó, chúng tôi cập nhật các gói hiện có trên hệ thống:
Mã:
yum update
Bây giờ, chúng tôi có thể cài đặt máy chủ web Apache, PHP, MariaDB và phpMyAdmin như sau:
Mã:
yum -y install mariadb mariadb-server phpmyadmin httpd php
Bây giờ, chúng tôi cấu hình phpMyAdmin. Chúng tôi thay đổi cấu hình Apache để phpMyAdmin cho phép kết nối không chỉ từ localhost (bằng cách bình luận mọi thứ trong <Directory /usr/share/phpMyAdmin/> và thêm dòng Require all granted):
Mã:
nano /etc/httpd/conf.d/phpMyAdmin.conf
để tệp trông như thế này:
Mã:
# phpMyAdmin - Trình duyệt MySQL dựa trên web được viết bằng php## Chỉ cho phép localhost theo mặc định## Nhưng việc cho phép phpMyAdmin với bất kỳ ai ngoài localhost nên được coi là# nguy hiểm trừ khi được bảo mật đúng cách bằng SSLAlias /phpMyAdmin /usr/share/phpMyAdminAlias /phpmyadmin /usr/share/phpMyAdmin
 AddDefaultCharset UTF-8# #  # Apache 2.4# #  Require ip 127.0.0.1#  Require ip ::1#  #  # # # Apache 2.2# Từ chối đơn hàng, Cho phép#  # Từ chối tất cả# Cho phép từ 127.0.0.1 [B]Tùy chọn Chỉ mục Cho phép Ghi đè Không Yêu cầu tất cả đã cấp[/b]# Cho phép từ ::1#   # Apache 2.4  Require ip 127.0.0.1 Require ip ::1    # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 # Các thư mục này không yêu cầu truy cập qua HTTP - lấy từ# phpMyAdmin upstream tarball# Order Deny,Allow Deny from All Allow from None Order Deny,Allow Deny from All Allow from None Order Deny,Allow Deny from All Allow from None# Cấu hình này ngăn mod_security tại các thư mục phpMyAdmin khỏi# lọc SQL, v.v. Điều này có thể làm hỏng triển khai mod_security của bạn.### # SecRuleInheritance Off# #
Sau đó, chúng tôi tạo các liên kết khởi động hệ thống cho MySQL và Apache (để cả hai đều tự động khởi động bất cứ khi nào hệ thống khởi động) và khởi động cả hai dịch vụ.

Mở các cổng http và https khi Tường lửa CentOS "firewalld" được cài đặt trên máy chủ của bạn.
Mã:
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
Sau đó, khởi động MariaDB và Aapche.
Mã:
systemctl enable mariadb.service
systemctl start mariadb.service
Mã:
systemctl enable httpd.service
systemctl start httpd.service
Tạo mật khẩu cho người dùng MySQL root (thay thế yourmariadbpassword bằng mật khẩu bạn muốn sử dụng):
Mã:
mysql_secure_installation
[root@server1 ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: dòng 379: find_mysql_client: lệnh không tìm thấy

LƯU Ý: KHUYẾN NGHỊ CHẠY TẤT CẢ CÁC PHẦN CỦA Script này CHO TẤT CẢ CÁC MÁY CHỦ
MariaDB ĐANG SỬ DỤNG TRONG SẢN XUẤT! VUI LÒNG ĐỌC KỸ TỪNG BƯỚC!

Để đăng nhập vào MariaDB để bảo mật, chúng ta cần có
mật khẩu hiện tại của người dùng root. Nếu bạn vừa cài đặt MariaDB và
bạn chưa đặt mật khẩu root, mật khẩu sẽ để trống,
do đó, bạn chỉ cần nhấn enter ở đây.<--ENTER
Nhập mật khẩu hiện tại cho root (nhập nếu không có): <--ENTER
OK, mật khẩu đã sử dụng thành công, tiếp tục...

Đặt mật khẩu root đảm bảo rằng không ai có thể đăng nhập vào MariaDB
người dùng root mà không có quyền thích hợp.

Đặt mật khẩu root? [Y/n]<--ENTER
Mật khẩu mới:<--yourmariadbpassword
Nhập lại mật khẩu mới:<--yourmariadbpassword
Mật khẩu đã được cập nhật thành công!
Đang tải lại bảng đặc quyền..
... Thành công!


Theo mặc định, cài đặt MariaDB có một người dùng ẩn danh, cho phép bất kỳ ai
đăng nhập vào MariaDB mà không cần phải tạo tài khoản người dùng cho
họ. Điều này chỉ nhằm mục đích thử nghiệm và giúp quá trình cài đặt
diễn ra suôn sẻ hơn một chút. Bạn nên xóa chúng trước khi chuyển sang
môi trường sản xuất.

Xóa người dùng ẩn danh? [Y/n]<--ENTER
... Thành công!

Thông thường, root chỉ được phép kết nối từ 'localhost'. Điều này
đảm bảo rằng không ai có thể đoán được mật khẩu root từ mạng.

Không cho phép root đăng nhập từ xa? [Y/n]<--ENTER
... Thành công!

Theo mặc định, MariaDB đi kèm với một cơ sở dữ liệu có tên là 'test' mà bất kỳ ai cũng có thể
truy cập. Cơ sở dữ liệu này cũng chỉ dành cho mục đích thử nghiệm và nên được xóa
trước khi chuyển sang môi trường sản xuất.

Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó? [Y/n]<--ENTER
- Đang xóa cơ sở dữ liệu thử nghiệm...
... Thành công!
- Xóa các đặc quyền trên cơ sở dữ liệu thử nghiệm...
... Thành công!

Tải lại các bảng đặc quyền sẽ đảm bảo rằng tất cả các thay đổi được thực hiện cho đến nay
sẽ có hiệu lực ngay lập tức.

Tải lại các bảng đặc quyền ngay bây giờ? [Y/n]<--ENTER
... Thành công!

Đang dọn dẹp...

Xong! Nếu bạn đã hoàn tất tất cả các bước trên, thì cài đặt MariaDB của bạn hiện đã an toàn.

Cảm ơn bạn đã sử dụng MariaDB!
[root@server1 ~]#


3 Cài đặt PureFTPd với MySQL / Hỗ trợ MariaDB​

Gói PureFTPd của CentOS hỗ trợ nhiều chương trình phụ trợ khác nhau, chẳng hạn như MySQL, PostgreSQL, LDAP, v.v. Do đó, tất cả những gì chúng ta phải làm là cài đặt gói PureFTPd thông thường:
Mã:
yum -y install pure-ftpd
Sau đó, chúng ta tạo một nhóm ftp (ftpgroup) và người dùng (ftpuser) mà tất cả người dùng ảo của chúng ta sẽ được ánh xạ tới. Thay thế nhóm và userid 2001 bằng một số đang rảnh trên hệ thống của bạn:
Mã:
groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup ftpuser
Dịch vụ ftp phải được firewall-cmd cho phép như sau:
Mã:
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload

4 Tạo cơ sở dữ liệu cho PureFTPd​

Bây giờ chúng ta tạo một cơ sở dữ liệu có tên là pureftpd và một người dùng MariaDB có tên là pureftpd mà daemon PureFTPd sẽ sử dụng sau này để kết nối với cơ sở dữ liệu pureftpd:
Mã:
mysql -u root -p
Mã:
TẠO CƠ SỞ DỮ LIỆU pureftpd;
CẤP QUYỀN CHỌN, CHÈN, CẬP NHẬT, XÓA, TẠO, XÓA TRÊN pureftpd.* CHO 'pureftpd'@'localhost' ĐƯỢC XÁC ĐỊNH BỞI 'ftpdpass';
CẤP QUYỀN CHỌN, CHÈN, CẬP NHẬT, XÓA, TẠO, XÓA TRÊN pureftpd.* CHO 'pureftpd'@'localhost.localdomain' ĐƯỢC XÁC ĐỊNH BỞI 'ftpdpass';
XẢ QUYỀN;
Thay thế chuỗi ftpdpass bằng bất kỳ mật khẩu nào bạn muốn sử dụng cho người dùng MySQL pureftpd. Vẫn trên shell MySQL, chúng ta tạo bảng cơ sở dữ liệu cần thiết (vâng, chỉ có một bảng!):
Mã:
USE pureftpd;
Mã:
CREATE TABLE ftpd (
User varchar(16) NOT NULL default '',
status enum('0','1') NOT NULL default '0',
Password varchar(64) NOT NULL default '',
Uid varchar(11) NOT NULL default '-1',
Gid varchar(11) NOT NULL default '-1',
Dir varchar(128) NOT NULL default '',
ULBandwidth smallint(5) NOT NULL default '0',
DLBandwidth smallint(5) NOT NULL default '0',
comment tinytext NOT NULL,
ipaccess varchar(15) NOT NULL default '*',
QuotaSize smallint(5) NOT NULL default '0',
QuotaFiles int(11) NOT NULL default 0,
PRIMARY KEY (Người dùng),
UNIQUE KEY User (Người dùng)
) ENGINE=MyISAM;
Mã:
quit;
Như bạn có thể thấy, với lệnh quit;, chúng ta đã thoát khỏi shell MySQL và quay lại shell Linux.

BTW, (tôi cho rằng tên máy chủ của hệ thống máy chủ FTP của bạn là server1.example.com) bạn có thể truy cập phpMyAdmin theo http://server1.example.com/phpMyAdmin/ (bạn cũng có thể sử dụng địa chỉ IP thay vì server1.example.com) trong trình duyệt và đăng nhập với tư cách là người dùng pureftpd. Sau đó, bạn có thể xem cơ sở dữ liệu. Sau đó, bạn có thể sử dụng phpMyAdmin để quản trị máy chủ PureFTPd của mình.


5 Cấu hình PureFTPd​

Chỉnh sửa /etc/pure-ftpd/pure-ftpd.conf và đảm bảo rằng các dòng ChrootEveryone, MySQLConfigFile và CreateHomeDir được bật và trông như thế này:
Mã:
nano /etc/pure-ftpd/pure-ftpd.conf
Mã:
[...]ChrootEveryone có[...]MySQLConfigFile /etc/pure-ftpd/pureftpd-mysql.conf[...]CreateHomeDir có[...]
Cài đặt ChrootEveryone sẽ khiến PureFTPd chroot mỗi người dùng ảo trong thư mục home của mình nên anh ta sẽ không thể duyệt các thư mục và tệp bên ngoài thư mục home của mình. Dòng CreateHomeDir sẽ khiến PureFTPd tạo thư mục home của người dùng khi người dùng đăng nhập và thư mục home chưa tồn tại.

Sau đó, chúng ta chỉnh sửa /etc/pure-ftpd/pureftpd-mysql.conf. Nó sẽ trông như thế này:
Mã:
cp /etc/pure-ftpd/pureftpd-mysql.conf /etc/pure-ftpd/pureftpd-mysql.conf_orig
cat /dev/null > /etc/pure-ftpd/pureftpd-mysql.conf
nano /etc/pure-ftpd/pureftpd-mysql.conf
Mã:
MYSQLSocket /var/lib/mysql/mysql.sock#MYSQLServer localhost#MYSQLPort 3306MYSQLUser pureftpdMYSQLPassword ftpdpassMYSQLDatabase pureftpd#MYSQLCrypt md5, cleartext, crypt() hoặc password() - md5 RẤT ĐƯỢC KHUYẾN NGHỊ khi dùng cleartextMYSQLCrypt md5MYSQLGetPW CHỌN Mật khẩu TỪ ftpd NƠI Người dùng="\L" VÀ trạng thái="1" VÀ (ipaccess = "*" HOẶC ipaccess NHƯ "\R")MYSQLGetUID CHỌN Uid TỪ ftpd NƠI Người dùng="\L" VÀ trạng thái="1" VÀ (ipaccess = "*" HOẶC ipaccess NHƯ "\R")MYSQLGetGID CHỌN Gid TỪ ftpd NƠI Người dùng="\L"VÀ trạng thái="1" VÀ (ipaccess = "*" HOẶC ipaccess GIỐNG NHƯ "\R")MYSQLGetDir CHỌN Dir TỪ ftpd NƠI Người dùng="\L"VÀ trạng thái="1" VÀ (ipaccess = "*" HOẶC ipaccess GIỐNG NHƯ "\R")MySQLGetBandwidthUL CHỌN ULBandwidth TỪ ftpd NƠI Người dùng="\L"VÀ trạng thái="1" VÀ (ipaccess = "*" HOẶC ipaccess GIỐNG NHƯ "\R")MySQLGetBandwidthDL CHỌN DLBandwidth TỪ ftpd NƠI Người dùng="\L"VÀ trạng thái="1" VÀ (ipaccess = "*" HOẶC ipaccess GIỐNG NHƯ "\R")MySQLGetQTASZ CHỌN QuotaSize TỪ ftpd NƠI Người dùng="\L"VÀ trạng thái="1" VÀ (ipaccess = "*" HOẶC ipaccess GIỐNG NHƯ "\R")MySQLGetQTAFS CHỌN QuotaFiles TỪ ftpd NƠI User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
Hãy đảm bảo rằng bạn thay thế chuỗi ftpdpass bằng mật khẩu thực của người dùng MySQL pureftpd trong dòng MYSQLPassword! Xin lưu ý rằng chúng tôi sử dụng md5 làm phương thức MYSQLCrypt, nghĩa là chúng tôi sẽ lưu trữ mật khẩu của người dùng dưới dạng chuỗi MD5 trong cơ sở dữ liệu, an toàn hơn nhiều so với việc sử dụng mật khẩu dạng văn bản thuần túy!

Bây giờ chúng ta tạo liên kết khởi động hệ thống cho PureFTPd và khởi động nó:
Mã:
systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service

6 Điền thông tin vào Cơ sở dữ liệu và kiểm tra Máy chủ​

Để điền thông tin vào cơ sở dữ liệu, bạn có thể sử dụng shell MySQL:
Mã:
mysql -u root -p
Mã:
USE pureftpd;
Bây giờ chúng ta tạo người dùng exampleuser với trạng thái 1 (có nghĩa là tài khoản ftp của người dùng này đang hoạt động), mật khẩu secret (sẽ được lưu trữ và mã hóa bằng hàm MD5 của MySQL), UID và GID 2001 (sử dụng userid và groupid của người dùng/nhóm mà bạn đã tạo ở cuối bước hai!), thư mục gốc /home/www.example.com, băng thông tải lên và tải xuống là 100 KB/giây. (kilobyte mỗi giây) và hạn ngạch 50 MB:
Mã:
INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES ('exampleuser', '1', MD5('secret'), '2001', '2001', '/home/www.example.com', '100', '100', '', '*', '50', '0');
Mã:
quit;
Bây giờ hãy mở chương trình máy khách FTP trên máy trạm của bạn (tương tự như FileZilla nếu bạn đang sử dụng hệ thống Windows hoặc gFTP trên máy tính để bàn Linux) và thử kết nối. Với tên máy chủ, bạn sử dụng server1.example.com (hoặc địa chỉ IP của hệ thống), tên người dùng là exampleuser và mật khẩu là secret.



Nếu bạn có thể kết nối - xin chúc mừng! Nếu không, có lỗi gì đó.

Bây giờ, nếu bạn chạy
Mã:
ls -l /home
bạn sẽ thấy rằng thư mục /home/www.example.com (thư mục gốc của exampleuser) đã được tạo tự động và thuộc sở hữu của ftpuser và ftpgroup (người dùng/nhóm chúng tôi đã tạo ở cuối bước hai):
Mã:
[root@server1 ~]# ls -l /home
tổng số 0
drwx------. 2 administrator administrator 59 Tháng sáu 21 16:13 administrator
drwxr-xr-x. 2 ftpuser ftpgroup 22 Tháng bảy 4 18:30 www.example.com
[root@server1 ~]#

7 Quản trị cơ sở dữ liệu​

Đối với hầu hết mọi người, sẽ dễ dàng hơn nếu họ có giao diện đồ họa cho MySQL; do đó bạn cũng có thể sử dụng phpMyAdmin (trong ví dụ này là http://server1.example.com/phpMyAdmin/) để quản trị cơ sở dữ liệu pureftpd.





Bất cứ khi nào bạn muốn tạo người dùng mới, bạn phải tạo một mục trong bảng ftpd nên tôi sẽ giải thích các cột của bảng này tại đây:

Bảng FTPD:
  • Người dùng: Tên của người dùng PureFTPd ảo (ví dụ: exampleuser).
  • trạng thái: 0 hoặc 1. 0 có nghĩa là tài khoản đã bị vô hiệu hóa, người dùng không thể đăng nhập.
  • Mật khẩu: Mật khẩu của người dùng ảo. Hãy đảm bảo rằng bạn sử dụng hàm MD5 của MySQL để lưu mật khẩu được mã hóa dưới dạng chuỗi MD5:
  • UID: ID người dùng của người dùng ftp mà bạn đã tạo ở cuối bước hai (ví dụ: 2001).
  • GID: ID nhóm của nhóm ftp mà bạn đã tạo ở cuối bước hai (ví dụ: 2001).
  • Dir: Thư mục gốc của người dùng PureFTPd ảo (ví dụ: /home/www.example.com). Nếu không tồn tại, thư mục này sẽ được tạo khi người dùng mới đăng nhập lần đầu tiên qua FTP. Người dùng ảo sẽ bị giam vào thư mục gốc này, tức là anh ta không thể truy cập vào các thư mục khác bên ngoài thư mục gốc của mình.
  • ULBandwidth: Băng thông tải lên của người dùng ảo tính bằng KB/giây (kilobyte mỗi giây). 0 nghĩa là không giới hạn.
  • DLBandwidth: Băng thông tải xuống của người dùng ảo tính bằng KB/giây (kilobyte mỗi giây). 0 nghĩa là không giới hạn.
  • comment: Bạn có thể nhập bất kỳ bình luận nào ở đây (ví dụ: cho quản trị nội bộ của bạn) ở đây. Thông thường, bạn để trống trường này.
  • ipaccess: Nhập các địa chỉ IP được phép kết nối với tài khoản FTP này ở đây. * có nghĩa là bất kỳ địa chỉ IP nào cũng được phép kết nối.
  • QuotaSize: Không gian lưu trữ tính bằng MB (không phải KB, như trong ULBandwidth và DLBandwidth!) mà người dùng ảo được phép sử dụng trên máy chủ FTP. 0 có nghĩa là không giới hạn.
  • QuotaFiles: số lượng tệp mà người dùng ảo được phép lưu trên máy chủ FTP. 0 có nghĩa là không giới hạn.

8 Anonymous FTP​

Nếu bạn muốn tạo một tài khoản ftp ẩn danh (một tài khoản ftp mà mọi người đều có thể đăng nhập mà không cần mật khẩu), bạn cần một người dùng và một nhóm có tên là ftp. Cả hai đều được tạo tự động khi bạn cài đặt gói pure-ftpd, vì vậy bạn không cần phải tạo chúng theo cách thủ công. Tuy nhiên, homedir của ftp theo mặc định là /var/ftp, nhưng tôi muốn tạo thư mục ftp ẩn danh trong /home/ftp (thư mục ftp của người dùng thông thường cũng nằm trong /home, ví dụ: /home/www.example.com). Nhưng tất nhiên, bạn có thể sử dụng thư mục /var/ftp cho ftp ẩn danh, nếu bạn thích.

Nếu bạn muốn sử dụng /home/ftp, hãy mở /etc/passwd và thay đổi homedir của người dùng ftp từ /var/ftp thành /home/ftp (đừng làm điều này nếu bạn muốn sử dụng /var/ftp):
Mã:
nano /etc/passwd
Mã:
[...]#ftp:x:14:50:FTP User:/var/ftp:/sbin/nologinftp:x:14:50:FTP Người dùng:/home/ftp:/sbin/nologin[...]
Sau đó di chuyển /var/ftp đến /home (đừng làm điều này nếu bạn muốn sử dụng /var/ftp):
Mã:
mv /var/ftp /home
Sau đó, chúng tôi tạo thư mục /home/ftp/incoming cho phép người dùng ẩn danh tải tệp lên. Chúng tôi sẽ cấp quyền cho thư mục /home/ftp/incoming là 311 để người dùng có thể tải lên nhưng không thể xem hoặc tải xuống bất kỳ tệp nào trong thư mục đó. Thư mục /home/ftp sẽ có quyền 555 cho phép xem và tải xuống các tệp:
Mã:
chown ftp:nobody /home/ftp
cd /home/ftp
mkdir incoming
chown ftp:nobody incoming/
chmod 311 incoming/
cd ../
chmod 555 ftp/
(Nếu bạn muốn sử dụng /var/ftp thay thế, hãy thay thế /home/ftp bằng /var/ftp trong các lệnh trên.)

Người dùng ẩn danh sẽ có thể đăng nhập và họ sẽ được phép tải xuống các tệp từ /home/ftp, nhưng việc tải lên sẽ bị giới hạn ở /home/ftp/incoming (và sau khi tệp được tải lên /home/ftp/incoming, không thể đọc hoặc tải xuống từ đó; trước tiên, quản trị viên máy chủ phải di chuyển nó vào /home/ftp để những người khác có thể sử dụng).

Bây giờ chúng ta phải cấu hình PureFTPd cho ftp ẩn danh. Mở /etc/pure-ftpd/pure-ftpd.conf và đảm bảo rằng bạn có các thiết lập sau trong đó:
Mã:
nano /etc/pure-ftpd/pure-ftpd.conf
Mã:
[...]NoAnonymous không[...]AntiWarez không[...]AnonymousBandwidth 8[...]AnonymousCantUpload không[...]
(Thiết lập AnonymousBandwidth là tùy chọn - cho phép bạn giới hạn băng thông tải lên và tải xuống cho người dùng ẩn danh. 8 nghĩa là 8 KB/giây. Sử dụng bất kỳ giá trị nào bạn thích hoặc bình luận dòng nếu bạn không muốn giới hạn băng thông.)

Cuối cùng, chúng tôi khởi động lại PureFTPd:
Mã:
systemctl restart pure-ftpd.service

9 Tải xuống máy chủ CentOS 7.2 này dưới dạng máy ảo​

Cài đặt này có sẵn dưới dạng tải xuống máy ảo ở định dạng ova/ovf (tương thích với VMWare và Virtualbox) dành cho người đăng ký howtoforge.



Chi tiết đăng nhập cho VM
  • Mật khẩu gốc là: howtoforge
  • Mật khẩu của người dùng "quản trị viên" là: howtoforge
Vui lòng thay đổi cả hai mật khẩu khi đăng nhập lần đầu.
  • Địa chỉ IP của VM là 192.168.1.100

10 Liên kết​

 
Back
Bên trên