1. Giới thiệu
- Là 1 dịch vụ dùng để chia sẻ tài nguyên.
- FTP là FTP server chạy trên môi trường Linux.
- VSFTP sẽ phân quyền dựa trên cấu hình và File Permisson.
2. Yêu cầu
Xây dựng DNS cho domain hoclinux.net sao cho phân giải được record ftp.hoclinux.net
a. Cài đặt FTP Server
- Kiểm tra gói phần mềm, nếu chưa cài thì cài vào (xem mục cài đặt)
#rpm -qa vsftpd
- Tắt Firewall, SELinux
Open FTP port
Open /etc/sysconfig/iptables file, enter:
Append following line to open ftp port 21 before REJECT line:
Save and close the file. Restart the firewall:
b. Cấu hình FTP Server - vsftpd# vi /etc/sysconfig/iptables
Append following line to open ftp port 21 before REJECT line:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
Save and close the file. Restart the firewall:
# service iptables start
# vi /etc/vsftpd/user_list
/cấu hình danh sách tài khoản ĐƯỢC PHÉP TRUY CẬP FTP
# vi /etc/vsftpd/ftpusers
/ cấu hình danh sách tài khoản KHÔNG ĐƯỢC PHÉP TRUY CẬP FTP
File cấu hình chính của vsftpd nằm trong thư mục /etc/vsftpd/vsftpd.conf. Ngoài ra còn có những file khác:
- /etc/vsftpd.ftpusers: liệt kê những người dùng không được phép login vào vsftpd.
- /etc/vsftpd.user_list: tập tin này được cấu hình để cấm hay cho phép những người dùng được liệt kê truy cập FTP Server. Điều này phụ thuộc vào tuỳ chọn userlist_deny được xét YES hay NO trong tập tin cấu hình.
ta mở file cấu hình chính lên
vi /etc/vsftpd/vsftpd.conf
ta sẽ cần chú ý những tuỳ chọn sau:
listen=YES/NO : VSFTPD chạy ở chế độ standalone.
session_support=YES/NO : VSFTPD quản lý giao dịch login của người dùng.
anonymous_enable=YES/NO : người dùng anonymous được phép login vào FTP Server.
cmds_allowed : Chỉ ra danh sách các lệnh ftp (cách nhau bởi dấu phẩy) được cho phép bởi FTP Server.
ftpd_banner : dòng thông báo sẽ hiển thị khi người dùng kết nối đến FTP Server.
local_enable==YES/NO : cho phép người dùng cục bộ login vào FTP Server.
userlist_deny=YES và userlist_enable=NO : thì tất cả những người dùng cục bộ bị cấm truy cập trừ những người dùng được chỉ ra trong userlist_file.
userlist_deny=NO và userlist_enable=YES : thì tất cả những người dùng được chỉ ra trong userlist_file bị cấm truy cập.
userlist_file=/etc/vsftpd.user_list : chỉ ra tập tin lưu danh sách người dùng.
anon_mkdir_write_enable=YES/NO : kết hợp với write_enable=YES thì người dùng anonymous được phép tạo thư mục mới trong thư mục cha có quyền ghi.
anon_root : chỉ ra thư mục gốc của user anonymous, mặc định là /var/ftp.
anon_upload_enable=YES/NO : kết hợp với write_enable=YES thì người dùng anonymous được phép upload tập tin trong thư mục cha có quyền ghi.
anon_world_readable_only=YES : user anonymous chỉ được phép download những tập tin có quyền đọc.
no_anon_password=YES/NO : yêu cầu user anonymous nhập vào password lúc đăng nhập.
local_enable=YES/NO : cho phép người dùng cục bộ truy cập đến Server.
chmod_enable=YES/NO : cho phép người dùng thay đổi quyền hạn trên tập tin.
chroot_local_user=YES/NO : người dùng di chuyển đến home directory của mình sau khi login vào.
guest_enable=YES/NO : cho phép người dùng anonymous login vào như user guest, mà được chỉ ra trong guest_username.
guest_username : chỉ ra username của người dùng guest (user mặc định ftp).
local_root: chỉ ra thư mục khi người dùng cục bộ login vào.
dirlist_enable=YES/NO : người dùng được phép xem nội dung của thư mục.
dirmessage_enable=YES/NO : hiển thi ra 1 thông điệp khi người dùng di chuyển vào thư mục. Thông điệp này được lưu trong tập tin có tên .message và được chỉ ra trong tuỳ chọn message_file.
message_file : chỉ ra tên của tập tin lưu thông điệp.
download_enable=YES/NO : cho phép download.
chown_uploads=YES/NO : tất cả những tập tin được upload bởi user anonymous được sở hữu bởi user được chỉ ra trong chown_username.
chown_username : chỉ ra user sở hữu những tập tin được upload bởi user anonymous (mặc định là user root).
write_enable=YES/NO : cho phép xoá, thay đổi và lưu trữ tập tin.
accept_timeout : chỉ ra thời gian một client sử dụng chế độ passive để thiết lập kết nối đến Server. Tính bằng giây.
anon_max_rate : chỉ ra tốc độ truyền dữ liệu tối đa cho người dùng anonymous. Tính bằng byte/second.
connect_timeout : chỉ ra thời gian một client sử dụng chế độ active để trả lời kết nối đến Server. Tính bằng giây.
data_connect_timeout : chỉ ra thời gian truyền dữ liệu tối đa. Khi kết thúc thời gian cho phép kết nối từ client sẽ bị đóng.
max_clients : chỉ ra số client tối đa đồng thời truy cập đến Server.
Khởi động vsftp:
service vsftpd start
Cho phép vsftp khởi động cùng hệ điều hành
chkconfig vsftpd on
3. Các bài Lab
3.1 Lab 1Cấu hình cho phép anonymous được phép truy cập FTP Server
- Sủa dòng 12 trong file cấu hình với nội dung như sau:
anonymous_enable=YES
- Start dịch vụ vsftpd
#service vsftpd start
- Kiểm tra:
+ dùng trình duyệt explorer trên Windows
+ dòng lệnh: mở CMD, rồi gõ lệnh sau:
ftp ftp.hoclinux.net
+ lưu ý: thư mục root của ftp là /var/ftp
3.2 Lab 2
Thay đổi thư mục gốc của FTP Server là /data/ftp
- Tạo thư mục
#mkdir /data
#mkdir /data/ftp
- Thêm vào cuối file cấu hình nội dung sau:
anon_root=/data/ftp
- restart lại dịch vụ
#service vsftpd restart
- Kiểm tra bằng trình duyệt explorer hoặc dòng lệnh.
3.3 Lab 3
Cấu hình để anonymous được upload file lên thư mục /upload trên Ftp Server
- Tạo thư mục
#mkdir /data/ftp/upload
- Chỉnh sửa nội dung sau trong tập tin cấu hình:
+ dòng 18
write_enable=YES
+ dòng 27
anon_upload_enable=YES
- restart dịch vụ
#service vsftpd restart
- Cấp quyền cho thư mục /data/ftp/upload
#chmod 757 /data/ftp/upload
- Kiểm tra.
3.4 Lab 4
Cấu hình để anonymous được upload thư mục lên thư mục /upload trên Ftp Server
- Chỉnh sửa nội dung sau trong tập tin cấu hình:
+ dòng 18
write_enable=YES
+ dòng 31
anon_mkdir_write=YES
3.5 Lab 5
Cấu hình để có thể xóa, đổi tên file
- Thêm vào cuối file tập tin cấu hình nội dung sau:
anon_other_write_enable=YES
3.6 Lab 6
Cấu hình sao cho anonymous upload file lên và download được file đó về
- Thêm nội dung sau vào cuối file cấu hình /etc/vsftpd/vsftpd.conf
anon_usmask=022
- Restart dịch vụ
#service vsftpd restart
- Kiểm tra
- Chú ý:
Nếu download về không được thì vào tools -> internet options -> sercurity ->trusted sited ->sites -> add
3.7 Lab 7
Cho phép các user local login vào Ftp Server
- Chỉnh file cấu hình nội dung dòng 15 như sau:
local_enable=YES
- restart dịch vụ
#service vsftpd restart
- Kiểm tra
Tạo user hoclinux1 và hv2 và login vào để kiểm tra.
3.8 Lab 8
Cấm user hoclinux1 login vào Ftp Server
- Chỉnh file cấu hình dòng 115
userlist_enable=YES
- thêm user hoclinux1 vào cuối file
/etc/vsftpd/user_list
- restart dịch vụ
#service vsftpd restart
- kiểm tra
login vào Ftp Server bằng user hoclinux1 để kiểm tra.
3.9 Lab 9
Cấm máy bên cạnh truy xuất FTP Server
- Chỉnh sửa file cấu hình, dòng 116
tcp_wrappers=YES
- thêm nội dung sau vào cuối file /etc/hosts.deny
vsftpd: 192.168.9.107
- restart dịch vụ
#service vsftpd rertart
- Kiểm tra
Truy cập FTP Server từ máy 192.168.9.107 vào máy xem có bị cấm không?