centos 7 vsftpd安装配置及案例(虚拟用户后期补上,游客暂时绕过)

centos 7 vsftpd

vsfrp:"very secure FTP daemon"的缩写,非常安全的文件传输协议,提供上传和下载

一、FTP两种模式

1、主动模式:
客户端从一个任意端口(大于1024)连接到服务端的21号端口,服务端会从自己的数据端口(20)连接到客户端指定的数据端口
2、被动模式(默认模式)
客户端从一个任意端口(大于1024)连接到服务端的21号端口,服务端会开启一个任意端口(大于1024)传递至客户端的指定端口(过程中不启用20端口)

二、环境:

服务端:192.168.1.111
客户端:192.168.1.107

三、服务端安装

[root@localhost ~]# yum install vsftpd -y  安装服务端
[root@localhost ~]# systemctl start vsftpd	启动服务
[root@localhost ~]# systemctl status vsftpd    查看服务状态
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2020-05-17 17:25:47 CST; 7s ago
  Process: 18136 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 18137 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─18137 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

May 17 17:25:47 localhost.localdomain systemd[1]: Starting Vsftpd ftp daemon...
May 17 17:25:47 localhost.localdomain systemd[1]: Started Vsftpd ftp daemon.

默认路径:/var/ftp/pub
在其中创建一些文件

[root@localhost pub]# touch file{1..9}
[root@localhost pub]# mkdir wordpress
[root@localhost pub]# touch wordpress/test{1..9}
[root@localhost pub]# ls
file1  file2  file3  file4  file5  file6  file7  file8  file9  wordpress
[root@localhost pub]# ls wordpress/
test1  test2  test3  test4  test5  test6  test7  test8  test9

四、客户端

安装

[root@localhost ~]# yum install ftp lftp -y

登录
方法一:ftp

[root@localhost ~]# ftp 192.168.1.111		
Connected to 192.168.1.111 (192.168.1.111).
220 (vsFTPd 3.0.2)
Name (192.168.1.111:root): ftp			用户名:ftp
331 Please specify the password.
Password:					密码:空,直接回车
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 
ftp> !pwd					本地所在位置路径
/root
ftp> pwd					所在ftp位置路径
257 "/"						

此方法不支持tab补全,建议用方法二lftp来登录远程服务器

方法二:lftp

[root@localhost ~]# lftp 192.168.1.111    不用输入用户密码,直接已连接
lftp 192.168.1.111:~> 
[root@localhost ~]# lftp 192.168.1.111
lftp 192.168.1.111:/> cd pub/
lftp 192.168.1.111:/pub> ls
-rw-r--r--    1 0        0               0 May 17 09:37 file1
-rw-r--r--    1 0        0               0 May 17 09:37 file2
-rw-r--r--    1 0        0               0 May 17 09:37 file3
-rw-r--r--    1 0        0               0 May 17 09:37 file4
-rw-r--r--    1 0        0               0 May 17 09:37 file5
-rw-r--r--    1 0        0               0 May 17 09:37 file6
-rw-r--r--    1 0        0               0 May 17 09:37 file7
-rw-r--r--    1 0        0               0 May 17 09:37 file8
-rw-r--r--    1 0        0               0 May 17 09:37 file9
drwxr-xr-x    2 0        0             123 May 17 09:39 wordpress

下载文件

lftp 192.168.1.111:/pub> get file1

下载目录

lftp 192.168.1.111:/pub> mirror wordpress  下载目录(同步目录及目录中的文件,成功,本地没有此目录,会自动创建)
Total: 1 directory, 9 files, 0 symlinks
New: 9 files, 0 symlinks

上传文件

lftp 192.168.1.111:/pub> put /etc/passwd  上传文件,提示没有权限
put: Access failed: 550 Permission denied. (passwd)

上传目录

lftp 192.168.1.111:/pub> mirror -R aa	  同步目录,上传目录
mirror: Access failed: 550 Permission denied. (sdf1)      
mirror: Access failed: 550 Permission denied. (sdf2)
mirror: Access failed: 550 Permission denied. (sdf3)
mirror: Access failed: 550 Permission denied. (sdf4)
mirror: Access failed: 550 Permission denied. (sdf5)
mirror: Access failed: 550 Permission denied. (sdf6)
mirror: Access failed: 550 Permission denied. (sdf7)
mirror: Access failed: 550 Permission denied. (sdf8)
mirror: Access failed: 550 Permission denied. (sdf9)
Total: 1 directory, 9 files, 0 symlinks
New: 9 files, 0 symlinks
9 errors detected

服务端修改配置文件及目录权限

现在只可下载,不可上传,服务端修改配置文件
vim /etc/vsftpd/vsftpd.conf

[root@localhost pub]# /etc/vsftpd/vsftpd.conf
anonymous_enable=YES		允许匿名用户登录
anon_upload_enable=YES		允许上传文件
anon_mkdir_write_enable=YES	允许创建目录
anon_other_write_enable=YES	文件的修改及删除权限,需要手动添加
anon_umask=022			加掩码,否则后期可能出现文件无法删除
chroot_local_user=YES  		 NO为可切换目录,与下面参数可以配合使用
chroot_list_enable=NO  		 不开启特例列表,如果开启,刚表中的可以切换目录
allow_writeable_chroot=YES	允许可写
anon_root=/var/ftp/ 	 	匿名用户默认路径
#local_root=/home/ftpwork	系统用户的默认路径  本次禁用

修改目录权限

[root@localhost ~]# chmod 755 -R /var/ftp/
[root@localhost  ]# chmod o+w -R /var/ftp/pub/

重启服务

[root@localhost pub]# systemctl restart vsftpd

再次使用客户端测试

[root@localhost ~]# lftp 192.168.1.111
lftp 192.168.1.111:/> cd pub/
下载文件
lftp 192.168.1.111:/pub> get file1 上传文件
下载目录
lftp 192.168.1.111:/pub> mirror wordpress  下载目录
Total: 1 directory, 9 files, 0 symlinks
New: 9 files, 0 symlinks
lftp 192.168.1.111:/pub> rm -rf wordpress/  删除目录
rm ok, `wordpress/' removed   
lftp 192.168.1.111:/pub> mirror -R wordpress/ 上传目录
Total: 1 directory, 9 files, 0 symlinks                     
New: 9 files, 0 symlinks
批量上传
lftp 192.168.1.111:/pub> mput a.txt b.txt 
Total 2 files transferred 
批量下载
lftp 192.168.1.111:/pub> mget file4 file5 file6
Total 3 files transferred

五、案例

设置禁用匿名用户,只允许本地用户登录,不允许离开家目录
编辑配置文件/etc/vsftpd/vsftpd.conf

[root@localhost pub]# /etc/vsftpd/vsftpd.conf
anonymous_enable=NO		不允许匿名用户登录
anon_upload_enable=YES		允许上传文件
anon_mkdir_write_enable=YES	允许创建目录
anon_other_write_enable=YES	文件的修改及删除权限,需要手动添加
anon_umask=022			加掩码,否则后期可能出现文件无法删除
chroot_local_user=YES  		 NO为可切换目录,与下面参数可以配合使用
chroot_list_enable=NO  		 不开启特例列表,如果开启,刚表中的可以切换目录
allow_writeable_chroot=YES	允许可写
anon_root=/var/ftp/ 	 	匿名用户默认路径
#local_root=/home/ftpwork	系统用户的默认路径  本次禁用

重启服务

[root@localhost pub]# systemctl restart vsftpd

客户端测试

[root@localhost ~]# lftp -u yjy 192.168.1.111
Password: 
lftp yjy@192.168.1.111:/> pwd
ftp://yjy@192.168.1.111/
lftp yjy@192.168.1.111:/> put a.txt   上传
lftp yjy@192.168.1.111:/> rm -rf a.txt 删除
lftp yjy@192.168.1.111:/> cd /home	不可以离开家目录
cd: Access failed: 550 Failed to change directory. (/home)

------end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值