搭建FTP服务器实现文件共享服务

FTP主被动模式:20端口传数据 21端口传指令

主动:server 去连接client 开放的端口

被动:slient去连接server开放的端口

ip 主机名 角色

192.168.88.69 server69 server

192.168.88.70 server70 master

服务端:

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

客户端:

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

vsftpd 的核心配置文件:/etc/vsftpd/vsftpd.conf: FTP 服务器黑名单:/etc/vsftpd/ftpusers FTP 服务器黑名单:/etc/vsftpd/user_list 默认共享目录:/var/ftp/pub

服务端配置

[root@localhost ~]# systemctl start vsftpd 
[root@localhost ~]# systemctl enable vsftpd
[root@localhost ~]# systemctl status vsftpd 
[root@localhost ~]# netstat -pantu | grep ftp
tcp6       0      0 :::21                   :::*                    LISTEN      2550/vsftpd 
[root@localhost ~]# cd /var/ftp/pub/
[root@localhost pub]# touch a.txt
​

实现匿名用户可以上传下载的功能并允许创建用户自己的目录

[root@localhost pub]# cd /etc/vsftpd/
[root@localhost vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
[root@localhost vsftpd]# cp vsftpd.conf vsftpd.conf.bak
[root@localhost vsftpd]# grep -v "#" vsftpd.conf.bak > vsftpd.conf
[root@localhost vsftpd]# vim vsftpd.conf  #往配置文件增加以下三条字段
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
[root@localhost vsftpd]# chown -Rf ftp.ftp /var/ftp/pub
[root@localhost vsftpd]# chmod -Rf 777 /var/ftp/pub
[root@localhost vsftpd]# systemctl restart vsftpd 
至此用户可以复制文件进来,可以新建文件夹,但是无法重命名和删除文件

实现匿名用户可以上传下载的功能并允许创建用户自己的目录,可以重命名和删除文件夹

[root@localhost vsftpd]# vim vsftpd.conf ###添加一下字段
anon_other_write_enable=YES
[root@localhost vsftpd]# systemctl restart vsftpd
至此用户可以复制文件进来,可以新建文件夹并且可以重命名和删除文件

创建共享目录pekeka

[root@localhost vsftpd]# mkdir /var/ftp/pekeka
[root@localhost vsftpd]# chown ftp.ftp /var/ftp/pekeka/
[root@localhost vsftpd]# vim vsftpd.conf  ##注释那些信息,关闭匿名用户重命名和删除文件夹的权限
#anon_other_write_enable=YES
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
[root@localhost vsftpd]# systemctl restart vsftpd 
至此用户可以复制文件进来,可以新建文件夹但是不可以在当前目录中重命名和删除文件

设置指定用户可以登录 FTP

指定指定用户pekeka1和pekeka2可以登录ftp并且根目录限制在web服务器的服务目录里面,不可以进去其他目录
[root@localhost vsftpd]# useradd -s /sbin/nologin pekeka1
[root@localhost vsftpd]# useradd -s /sbin/nologin pekeka2
[root@localhost vsftpd]# echo "123456" | passwd --stdin pekeka1
更改用户 pekeka1 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost vsftpd]# echo "123456" | passwd --stdin pekeka2
更改用户 pekeka2 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost vsftpd]# vim vsftpd.conf  
anon_other_write_enable=NO
anonymous_enable=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
local_root=/var/www/html  #本地用户的根目录为/var/www/html
chroot_list_enable=YES    #启用chroot 功能
chroot_list_file=/etc/vsftpd/chroot_list   #设置锁定用户在根目录中的列表文件,此文件存放要锁定的用户名
allow_writeable_chroot=YES #允许锁定的用户有写的权限
[root@localhost vsftpd]# cat /etc/vsftpd/chroot_list
pekeka1
pekeka2
[root@localhost vsftpd]# yum install -y httpd
[root@localhost vsftpd]# chmod -Rf o+w /var/www/html/
[root@localhost vsftpd]# systemctl restart vsftpd
至此这两个用户可以对其根目录进行增加文件,删除修改重命名的操作

客户端用 lftp 登陆 FTP 查看情况:

[root@localhost ~]# lftp 192.168.88.69 -u pekeka1,123456
lftp pekeka1@192.168.88.69:~> ls
drwxr-xr-x    2 1000     1000            6 Nov 28 07:58 新文件夹
lftp pekeka1@192.168.88.69:/> pwd
ftp://pekeka1:123456@192.168.88.69/
lftp pekeka1@192.168.88.69:/> cd /var/ftp
cd: Access failed: 550 Failed to change directory. (/var/ftp)
lftp pekeka1@192.168.88.69:/> mkdir test
mkdir 成功, 建立 `test'
lftp pekeka1@192.168.88.69:/> ls
drwxr-xr-x    2 1000     1000            6 Nov 28 08:01 test
drwxr-xr-x    2 1000     1000            6 Nov 28 07:58 新文件夹

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值