centos7 ftp服务的使用

   日期:2020-05-09     浏览:70    评论:0    
核心提示:1. 匿名用户的ftp服务确认已经安装vsftpd[root@localhost ~]# rpm -qa | grep vsftpd[root@localhost ~]# yum -y install vsftpdLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfileResolving Depend...开发工具

1. 匿名用户的ftp服务

确认已经安装vsftpd

[root@localhost ~]# rpm -qa | grep vsftpd
[root@localhost ~]# yum -y install vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.x86_64 0:3.0.2-25.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

======================================================================================
 Package           Arch              Version                    Repository       Size
======================================================================================
Installing:
 vsftpd            x86_64            3.0.2-25.el7               vase            171 k

Transaction Summary
======================================================================================
Install  1 Package

Total download size: 171 k
Installed size: 353 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : vsftpd-3.0.2-25.el7.x86_64                                         1/1 
  Verifying  : vsftpd-3.0.2-25.el7.x86_64                                         1/1 

Installed:
  vsftpd.x86_64 0:3.0.2-25.el7                                                        

Complete!

修改配置

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf 
 12 anonymous_enable=YES #是否允许匿名用户访问ftp
 29 anon_upload_enable=YES #取消注释 表示匿名用户可以上传文件
 33 anon_mkdir_write_enable=YES#取消注释  表示匿名用户可以创建目录

创建目录 用户验证(匿名用户在ftp服务的根目录是/var/ftp/ 也就是说 匿名用户登陆ftp服务之后 如果执行cd / 那么它其实是切换到了ftp服务器的/var/ftp目录)

[root@localhost ~]# mkdir /var/ftp/one
[root@localhost ~]# touch /var/ftp/one/a.txt

启动服务

[root@localhost ~]# systemctl start vsftpd

处理防火墙和selinux

[root@localhost ~]# firewall-cmd --permanent --add-service=ftp
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# setenforce 0

客户端验证

[root@localhost ~]# rpm -qa | grep ftp
[root@localhost ~]# yum -y install ftp
[root@localhost ~]# ftp 192.168.20.132
Connected to 192.168.20.132 (192.168.20.132).
220 (vsFTPd 3.0.2)
Name (192.168.20.132:root): ftp #匿名用户登陆 此处写ftp
331 Please specify the password.
Password:  #不输入密码  直接回车
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,20,132,254,180).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0              19 May 07 07:51 one
drwxr-xr-x    2 0        0               6 Oct 30  2018 pub
226 Directory send OK.
ftp> ls /  #此处可以验证前边的说法 匿名用户的根目录就是/var/ftp
227 Entering Passive Mode (192,168,20,132,238,71).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0              19 May 07 07:51 one
drwxr-xr-x    2 0        0               6 Oct 30  2018 pub
226 Directory send OK.

验证匿名用户是否有创建目录的权限
ftp> mkdir /one/two
550 Create directory operation failed. #创建目录失败

解决办法如下

原因: 服务器端/var/ftp目录的属主不是ftp用户 需要改过来

[root@localhost ~]# ll /var/
total 8
drwxr-xr-x.  2 root root    6 Apr 11  2018 adm
drwxr-xr-x.  5 root root   44 Mar 14 15:49 cache
drwxr-xr-x.  2 root root    6 Aug  8  2019 crash
drwxr-xr-x.  3 root root   34 Mar 14 15:49 db
drwxr-xr-x.  3 root root   18 Mar 14 15:48 empty
drwxr-xr-x   4 root root   28 May  7 15:51 ftp
[root@localhost ~]# chown -R ftp /var/ftp/one

改完属主 再次测试

[root@localhost ~]# ftp 192.168.20.132
Connected to 192.168.20.132 (192.168.20.132).
220 (vsFTPd 3.0.2)
Name (192.168.20.132:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir /one/two
257 "/one/two" created
ftp> ls one
227 Entering Passive Mode (192,168,20,132,152,32).
150 Here comes the directory listing.
-rw-r--r--    1 14       0               0 May 07 07:51 a.txt
drwx------    2 14       50              6 May 07 08:12 two
226 Directory send OK.

2. 基于本地用户验证的ftp服务

修改配置

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf 
 16 local_enable=YES #运行本地用户登陆ftp服务
 101 chroot_local_user=YES# 取消注释 表示将本地用户限制在根目录(本地用户在ftp服务中的根目录是本地 用户的家目录 如果不进行限制 本地用户登陆ftp服务之后 可以在服务器的任何一个目录 随意游走 不安全)
 102 allow_writeable_chroot=YES #新添加的 表示 将用户限制在根目录后 允许其有可写的权限 

服务端添加本地用户 用于验证

[root@localhost ~]# useradd usera
[root@localhost ~]# passwd usera
Changing password for user usera.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

在用户家目录创建文件 用户后续验证

[root@localhost ~]# touch /home/usera/a.txt
[root@localhost ~]# mkdir /home/usera/one

重启服务

[root@localhost ~]# systemctl restart vsftpd

在客户端验证本地用户的ftp

[root@localhost ~]# ftp 192.168.20.132
Connected to 192.168.20.132 (192.168.20.132).
220 (vsFTPd 3.0.2)
Name (192.168.20.132:root): usera #此处写刚才添加的普通用户usera
331 Please specify the password.
Password: #此处写usera的密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls #查看ftp根目录下的文件有哪些
227 Entering Passive Mode (192,168,20,132,46,190).
150 Here comes the directory listing.
-rw-r--r--    1 0        0               0 May 07 08:27 a.txt
drwxr-xr-x    2 0        0               6 May 07 08:27 one
226 Directory send OK.
ftp> mkdir two #创建目录
257 "/two" created

本地用户的ftp服务 验证完成

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服