CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.
Bài viết blog CFSDN này mô tả các bước chi tiết (được khuyến nghị) để cài đặt và định cấu hình vsftpd trong Linux. Nó được tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này, hãy nhớ thích nó.
vsftpd là tên viết tắt của "daemon FTP rất an toàn" và bảo mật là một trong những tính năng lớn nhất của nó.
vsftpd là tên của một máy chủ chạy trên hệ điều hành giống UNIX. Nó có thể chạy trên các hệ thống như Linux, BSD, Solaris, HP-UNIX, v.v. Đây là một phần mềm máy chủ ftp mã nguồn mở hoàn toàn miễn phí, hỗ trợ nhiều phần mềm khác. Các tính năng không được hỗ trợ bởi máy chủ FTP.
Ví dụ: yêu cầu bảo mật rất cao, giới hạn băng thông, khả năng mở rộng tốt, khả năng tạo người dùng ảo, hỗ trợ IPv6, tốc độ cao, v.v.
vsftpd là chương trình máy chủ FTP được đánh giá cao nhất trong số các bản phân phối Linux. Nó được đặc trưng bởi sự nhỏ, nhẹ, an toàn và dễ sử dụng.
1.1 Cài đặt.
Đặt hàng:
?
1
|
ngon quá
cài đặt
vsftpd-y
|
Định cấu hình Vsftpd.
Sau khi cài đặt chúng ta cần cấu hình nó mới có thể sử dụng bình thường.
Chỉnh sửa tập tin cấu hình vsftpd.
?
1
|
chúng tôi
/etc/vsftpd/vsftpd
.conf
|
Tìm "anonymous_enable=YES" trong tệp cấu hình, thay đổi "CÓ" thành "Không" và tắt đăng nhập ẩn danh.
Thêm tự động khởi động khi khởi động, .
Nếu bạn không chắc liệu các mục khởi động đã được thêm vào hay chưa, bạn có thể chạy chkconfig –list để kiểm tra.
1.2 Tạo người dùng.
Lệnh: useradd ftpuser.
Chỉ định mật khẩu: passwd ftpuser.
Người dùng này được sử dụng để đăng nhập vào máy chủ ftp.
Sau khi người dùng như vậy được tạo, bạn có thể sử dụng thông tin này để đăng nhập. Hãy nhớ sử dụng thông tin đăng nhập bình thường và không ẩn danh. Sau khi đăng nhập, đường dẫn mặc định là /home/ftpuser.
-------------------------------------------------- -------------------------------------------------- ------------------------------ 。
Đặt tài khoản người dùng FTP, ví dụ: tài khoản là "ftpuser1", thư mục là /home/ftpuser1 và cài đặt không cho phép đăng nhập qua ssh.
?
1
|
người dùngthêm
-d
/trang chủ/ftpuser
-S
/sbin/nologin
ftpuser
|
Đặt mật khẩu tương ứng với tài khoản, ví dụ mật khẩu là "ftpuser".
1.3 Kích hoạt quyền selinux.
VSFTPD là một chương trình máy chủ FTP và SELinux là thành phần tường lửa của CentOS. Vì vsftpd bị SELinux chặn theo mặc định nên bạn sẽ gặp phải các vấn đề sau với FTP:
1.226 Đã chuyển xong (nhưng không mở được thư mục).
2.550 Không thể thay đổi thư mục.
3. 553 Không thể tạo tập tin.
4. 。
Hoặc đơn giản sau khi gửi lệnh LIST, máy chủ không phản hồi và hết thời gian chờ.
Khi gặp sự cố như vậy, thường là do vsftpd không có đủ quyền và rất có thể nó đã bị SELinux chặn.
Kiểm tra lệnh: getsebool -a | grep ftp.
?
1
2
3
4
5
6
7
8
9
|
getsebool -a |
va li
ftpd
cho phép_ftpd_anon_write --> tắt
cho phép_ftpd_full_access --> tắt
cho phép_ftpd_use_cifs --> tắt
cho phép_ftpd_use_nfs --> tắt
ftpd_connect_db --> tắt
ftpd_use_passive_mode --> tắt
ftp_home_dir --> tắt
|
Trong số đó, ftp_home_dir và allow_ftpd_full_access phải được bật để cho phép vsftpd có quyền truy cập vào thư mục gốc ftp và quyền truyền tệp.
Lệnh cài đặt: setsebool -p xxxxxx on.
?
1
2
|
[root@bogon ~]
[root@bogon ~]
|
1.4 Thiết lập hoặc tắt tường lửa.
Vì cổng mặc định của ftp là 21 và centos không được bật theo mặc định nên bạn cần sửa đổi tệp iptables.
Cài đặt: vi /etc/sysconfig/iptables.
Ở dòng trên cùng có 22 -j ACCEPT Tiếp theo, nhập một dòng tương tự vào dòng đó, chỉ cần thay 22 bằng 21 rồi: wq để lưu lại.
Cũng chạy và khởi động lại iptables.
Khởi động lại: khởi động lại dịch vụ iptables.
Tắt tường lửa: dịch vụ iptables dừng.
Vô hiệu hóa khởi động lại tường lửa: chkconfig iptables off.
1.5 Bắt đầu vsftpd.
Lệnh: bắt đầu dịch vụ vsftpd.
cuộc gọi (mã) máy khách java.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
gói com.jonychen.util;
nhập khẩu
java.io.FileInputStream;
nhập khẩu
java.io.FileNotFoundException;
nhập khẩu
java.io.IOException;
nhập khẩu
java.io.InputStream;
nhập khẩu
java.net.SocketException;
nhập khẩu
java. util. Ngày;
nhập khẩu
java.util.UUID;
nhập khẩu
org.apache.commons.net.
ftp
.FTP;
nhập khẩu
org.apache.commons.net.
ftp
.FTPClient;
lớp công khai FtpUploadUtil {
riêng tư tĩnh ThreadLocal threadLocal = new ThreadLocal<>();
riêng tư tĩnh ThreadLocal threadLocalHost = new ThreadLocal<>();
public static void init(String host,int port,String username,String password) throws SocketException, IOException {
Máy khách FTPClient = threadLocal.get();
nếu như
(khách hàng==null) {
máy khách = FTPClient mới();
//1
.kết nối
client.connect(máy chủ,cổng);
//2
.Đăng nhập
client.login(tên người dùng,mật khẩu);
luồng cục bộ.
bộ
(khách hàng);
chủ đềLocalHost.
bộ
(chủ nhà);
}
}
public static String upload(InputStream
địa phương
,String fileName,String path) ném SocketException, IOException {
Chuỗi datePath = DateUtil.date2Str(new Date(),
"/năm/tháng/ngày/"
);
//
Ngày thêm đường dẫn
đường dẫn+=ngàyĐường dẫn;
Máy khách FTPClient = threadLocal.get();
Chuỗi máy chủ = threadLocalHost.get();
//3
.Chỉ định đường dẫn tải file lên (đường dẫn không tồn tại và trả về
SAI
)
boolean tồn tại = client.changeWorkingDirectory(đường dẫn);
nếu như
(!tồn tại) {
Chuỗi pathArray[] = đường dẫn.
tách ra
(
"/"
);
Nhiệt độ dây =
"/"
;
vì
(Chuỗi p:pathArray) {
nhiệt độ+=(p+
"/"
);
//4
.Nếu đường dẫn tệp không tồn tại, hãy tạo nó (mỗi lần chỉ có thể tạo một cấp thư mục)
client.makeDirectory(temp);
}
//
Chỉ định lại đường dẫn tải lên tệp
client.changeWorkingDirectory(đường dẫn);
}
//5
.chỉ định loại tệp
máy khách.setFileType(FTP.BINARY_FILE_TYPE);
//
Nhận hậu tố
Hậu tố chuỗi = fileName.substring(fileName.lastIndexOf(
"."
));
Chuỗi uuid = UUID.randomUUID().toString();
//6
.Thực hiện tải lên
client.storeFile(uuid+hậu tố,
địa phương
);
//7
.từ bỏ
khách hàng.
đăng xuất
();
//8
.Ngắt kết nối
client.ngắt kết nối();
threadLocalHost.remove();
threadLocal.remove();
trở lại
"http://"
+chủ nhà+
"/jonychen"
+datePath+uuid+hậu tố;
}
public static void main(String[] args) ném SocketException, IOException {
Dòng đầu vào
địa phương
= FileInputStream mới(
"D:\\Tài liệu\\Hình ảnh\\01.png"
);
nhiệt (
"192.168.178.161"
, 21,
"ftpuser"
,
"111111"
);
//
Đường dẫn tải lên
Chuỗi res = tải lên(
địa phương
,
"mã.png"
,
"/trang chủ/ftpuser/cái tôi"
);
Hệ thống.out.println(res);
}
}
|
Tóm tắt.
Trên đây là các bước chi tiết để cài đặt, cấu hình và sử dụng vsftpd trên Linux được biên tập viên giới thiệu. Nếu có thắc mắc vui lòng để lại tin nhắn và biên tập viên sẽ trả lời bạn. thời gian! .
Liên kết gốc: https://www.cnblogs.com/lxcy/archive/2018/01/04/8196260.html.
Cuối cùng, bài viết này về các bước chi tiết (được khuyến nghị) để cài đặt, cấu hình và sử dụng vsftpd trong Linux sẽ kết thúc tại đây. vui lòng tìm kiếm các bài viết của CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .
Tôi là một lập trình viên xuất sắc, rất giỏi!