Ubuntu搭建vsftpd服务器

软件环境;ubuntu22,VMware15

本实验基于dns搭建好的ftp域名,使用客户端(Ubuntu)进行域名访问服务端服务器

root@huhy:~ ftp.hoyeong.com has address 192.168.200.160 root@huhy:~ 

服务端配置

安装ftp软件包

apt install -y vsftpd 

备份配置文件好习惯

cp /etc/vsftpd.conf /etc/vsftpd.conf.bak 

配置文件参数详解

 anonymous_enable=YES  anon_root=/var/ftp  no_anon_password=YES/NO(NO)  ftp_username=ftp  anon_umask=022  anon_upload_enable=YES  anon_world_readable_only=YES/NO(YES) anon_mkdir_write_enable=YES  anon_other_write_enable=YES  anon_max_rate=0   local_enable=YES  local_root=/home/username  chroot_local_user=YES/NO(NO)  write_enable=YES/NO(YES) local_umask=022  file_open_mode=0755   dirmessage_enable=YES/NO(YES) message_file=.message  banner_file=/etc/vsftpd/banner  ftpd_banner=Welcome to BOB's FTP server   chroot_list_enable=YES/NO(NO)  chroot_list_file=/etc/vsftpd.chroot_list  chroot_local_user=YES/NO(NO)  userlist_file=/etc/vsftpd.user_list  userlist_enable=YES/NO(NO)  userlist_deny=YES/NO(YES)   listen=YES  listen_address=192.168.4.1  listen_port=21  write_enable=YES  download_enable=YES  userlist_enable=YES  userlist_deny=YES  max_clients=0  max_per_ip=0  

修改配置文件

vim /etc/vsftpd.conf 

重启服务生效

systemctl restart vsftpd 

配置完后即可实现远程访问,上传下载文件

客户端测试

客户端配置dns的IP地址为域名解析

root@slave1:~  network: ethernets: ens33: dhcp4: no addresses: [192.168.200.101/24] gateway4: 192.168.200.2 nameservers: addresses: [192.168.200.160,8.8.8.8] version: 2 root@slave1:~ ftp.hoyeong.com has address 192.168.200.160 root@slave1:~ 

服务端/opt/下提前创建hoyeong.txt下载测试文档

root@huhy:/opt hoyeong.txt root@huhy:/opt 

客户端/opt/下创建hwiung.txt上传测试文档

root@slave1:~ root@slave1:~ total 8 drwxr-xr-x 2 root root 4096 Nov 29 08:27 ./ drwxr-xr-x 19 root root 4096 Aug 29 14:42 ../ -rw-r--r-- 1 root root 0 Nov 29 08:27 hwiung.txt root@slave1:~ 

测试访问,客户端使用 ftp+地址的格式访问,由于配置了域名所以使用ftp+域名访问
注:客户端进入ftp服务器时会以当前目录作为起始目录,也就是说你在客户端/opt/下使用ftp访问服务端时使用上传文件就会以当前目录作为起始,访问时会以服务端的用户来进行访问,我的服务端只有一个huhy用户

 ftp ftp.hoyeong.com  Name (ftp.hoyeong.com:root):huhy 密码  230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp>  ftp> cd /opt/ 250 Directory successfully changed. ftp> ls 229 Entering Extended Passive Mode (|||42970|) 150 Here comes the directory listing. -rw-r--r-- 1 0 0 0 Nov 29 08:25 hoyeong.txt 226 Directory send OK. ftp> get hoyeong.txt local: hoyeong.txt remote: hoyeong.txt 229 Entering Extended Passive Mode (|||34340|) 150 Opening BINARY mode data connection for hoyeong.txt (0 bytes). 0 0.00 KiB/s 226 Transfer complete. ftp>  ftp> cd /home/huhy 250 Directory successfully changed. ftp> put hwiung.txt local: hwiung.txt remote: hwiung.txt 229 Entering Extended Passive Mode (|||26556|) 150 Ok to send data. 0 0.00 KiB/s 226 Transfer complete. ftp>  ftp> exit 221 Goodbye. 

验证上传的文件

ftp> exit 221 Goodbye. 

验证下载的文件

root@slave1:/opt hoyeong.txt hwiung.txt root@slave1:/opt 

如上测试,客户端可以自由访问etc、boot等目录,不安全,如下我们配置指定用户可以访问,且不能自由切换访问的目录

服务端下创建测试用户

root@huhy:~ root@huhy:~ root@huhy:~ New password: Retype new password: passwd: password updated successfully root@huhy:~ New password: Retype new password: passwd: password updated successfully root@huhy:~ 

修改配置文件

vim /etc/vsftpd.conf 
userlist_file=/etc/vsftpd.user_list userlist_enable=YES  userlist_deny=NO 
root@huhy:~ ftpuser1 ftpuser2 

重启生效

systemctl restart vsftpd 

则只能被该/etc/vsftpd.user_list文件里面的用户访问,huhy用户拒绝访问

root@slave1:/opt Connected to ftp.hoyeong.com. 220 (vsFTPd 3.0.5) Name (ftp.hoyeong.com:root): huhy 530 Permission denied. ftp: Login failed ftp> user ftpuser1 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> 

修改配置文件

vim /etc/vsftpd.conf 
chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list allow_writeable_chroot=YES 
root@huhy:~ ftpuser1 

重启生效

systemctl restart vsftpd 

ftpuser1用户可以自由切换目录

root@slave1:/opt Connected to ftp.hoyeong.com. 220 (vsFTPd 3.0.5) Name (ftp.hoyeong.com:root): ftpuser1 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> cd /opt 250 Directory successfully changed. ftp> 

ftpuser2用户不能自由切换目录

root@slave1:/opt Connected to ftp.hoyeong.com. 220 (vsFTPd 3.0.5) Name (ftp.hoyeong.com:root): ftpuser2 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> cd /opt 550 Failed to change directory. ftp> 

原文链接:https://blog.csdn.net/m0_56363537/article/details/128086772

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享