FTP (viết tắt của File Transfer Protocol dịch ra là “Giao thức truyền tập tin”) thường được dùng để trao đổi tập tin qua mạng lưới truyền thông dùng giao thức TCP/IP (chẳng hạn như Internet – mạng ngoại bộ – hoặcIntranet – mạng nội bộ). Hoạt động của FTP cần có hai máy tính, một máy chủ và một máy khách). Máy chủ FTP, dùng chạy phần mềm cung cấp dịch vụ FTP, gọi là trình chủ, lắng nghe yêu cầu về dịch vụ của các máy tính khác trên mạng lưới. Máy khách chạy phần mềm FTP dành cho người sử dụng dịch vụ, gọi là trình khách, thì khởi đầu một liên kết với máy chủ. Một khi hai máy đã liên kết với nhau, máy khách có thể xử lý một số thao tác về tập tin, như tải tập tin lên máy chủ, tải tập tin từ máy chủ xuống máy của mình, đổi tên của tập tin, hoặc xóa tập tin ở máy chủ v.v. Vì giao thức FTP là một giao thức chuẩn công khai, cho nên bất cứ một công ty phần mềm nào, hay một lập trình viên nào cũng có thể viết trình chủ FTP hoặc trình khách FTP. Hầu như bất cứ một nền tảng hệ điều hành máy tính nào cũng hỗ trợ giao thức FTP. Điều này cho phép tất cả các máy tính kết nối với một mạng lưới có nền TCP/IP, xử lý tập tin trên một máy tính khác trên cùng một mạng lưới với mình, bất kể máy tính ấy dùng hệ điều hành nào (nếu các máy tính ấy đều cho phép sự truy cập của các máy tính khác, dùng giao thức FTP). Hiện nay trên thị trường có rất nhiều các trình khách và trình chủ FTP, và phần đông các trình ứng dụng này cho phép người dùng được lấy tự do, không mất tiền. I.Chuẩn bị Thông thường FTP chỉ chạy qua 2 port 20, 21 Mở port 20, 21 # nano /etc/sysconfig/iptables Thêm 2 dòng sau -A INPUT -m state –state NEW -m tcp -p tcp –dport 20 -j ACCEPT -A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT Nạp thêm modules cho iptables # nano /etc/sysconfig/iptables-config IPTABLES_MODULES=”ip_conntrack_ftp” Khởi động lại iptables # service iptables restart II.Cài đặt Bước 1 : Cài đặt vfpt Gõ lệnh sau trên ftp server # yum install vsftpd -y Và gõ lệnh sau trên ftp client # yum install ftp -y Sau khi cài đặt xong các bạn có thể sử dụng với use nặc danh đc ngay rồi bằng cách Trên trình duyệt web bạn gõ ftp://ip-vps Trên ftp client bạn gõ lệnh  ftp ip-vps Bước 2 : Cấu hình bảo mật cho ftp Mở file cấu hình của vsftpd # nano /etc/vsftpd/vsftpd.conf Chỉnh sửa các dòng như sau Không cho người dùng nặc danh truy cập ta sửa dòng sau thành NO
anonymous_enable=NO
Bỏ dấu “#” này để cho phép người dùng địa phương để đăng nhập local_enable=YES Bỏ Dấu “#” này để cho phép bất kỳ hình thức FTP viết lệnh. write_enable=YES Bỏ dấu “#” để giới hạn quyền truy cập của user, không cho user truy cập vào server user khác
chroot_local_user=YES
Cuối cùng khởi động lại # service vsftpd restart Cho khởi động cùng hệ thông # chkconfig vsftpd on Bước 3 : Tạo user và truy cập Ta tạo user và đặt mật khẩu cho user đó # useradd maxserver # passwd maxserver Từ trình duyệt ta truy cập ftp://use@ip-vps rồi nhập pass Vd: ftp://maxserver@107.189.160.9 Từ fpt client ta truy cập fpt ip-vps sau đó nhập use và pass Vd : [root@maxserver /]# ftp 107.189.160.9 Connected to 107.189.160.9 (107.189.160.9). 220 Welcome to MAXSERVER FTP service. Name (107.189.160.9:root): maxserver 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> Cuối cùng để upload dữ liệu không bị báo lỗi: # getsebool -a | grep ftp #setsebool -P allow_ftpd_full_access=1 #setsebool -P fpt_home_dir on -Để tạo user trong /var/www/html TẠO TÀI KHOẢN Hãy bắt đầu bằng việc tạo một nhóm dùng để truy cập FTP: #/usr/sbin/groupadd ftpaccounts /Vietteldc đặt tên nhóm là ftpaccounts Thêm tài khoản mới và set vào nhóm ftpaccounts: #/usr/sbin/adduser -g ftpaccounts -d /var/www/html/user1 user1 /Tạo tài khoản user tại thư mục /var/www/html/user1 Đừng quên set mật khẩu cho tài khoản user1 này luôn nhé: # passwd user1 /nhập mật khẩu cho tài khoản này 2 lần là được. Xét quyền quản lý thư mục cho user1 # chown user1:ftpaccounts /var/www/html/user1 Và đừng quên CHMOD thư mục: # chmod 775 /var/www/html/user1 Cuối cùng, bạn cần khởi động lại vsftp: # service vsftpd restart