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

FTP服务概述:
FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。
FTP(File Transfer Protocol: 文件传输协议)作用: Internet 上用来传送文件的协议
常见FTP服务器:
windows:Serv-U FTP Server,filezilla_server
Linux:ProFTPD:(Professional FTP daemon)一个Unix平台上或是类Unix平台上(如Linux, FreeBSD等)的FTP服务器程序。
vsftp
VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。
特点:
它是一个安全、高速、稳定的FTP服务器;
模式: C/S 模式
端口:vim /etc/services
在这里插入图片描述
20 (传数据) 21 (传指令)
fsp(File Service Protocol): 文件服务协议。

工作流程(原理):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里的主动和被动,是相对于的FTP server 端来判断的
如果server 去连接client 开放的端口,说明是主动的,相反,如果client去连接server开放的端口,则是被动的。

安装vsftp服务器端、客户端
[root@localhost110 ~]# rpm -ivh /mnt/Packages/vsftpd-2.2.2-6.el6_0.1.x86_64.rpm


yum -y install vsftpd lftp

安装客户端:
[root@localhost63 ~]# yum install -y lftp

lftp
注:从RHEL6开始,系统镜像中默认没有ftp客户端命令。取而代之的是lftp命令
Linux客户端:
lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在编译的时候包含openssl库)。llftp的界面非常好一个shell: 有命令补全,历史记录,允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载等功能。

配置文件位置:
2.vsftpd 相关文档
/etc/vsftpd/vsftpd.conf:vsftpd 的核心配置文件
/etc/vsftpd/ftpusers:用于指定哪些用户不能访问FTP 服务器。 黑名单
/etc/vsftpd/user_list:指定允许使用vsftpd 的用户列表文件。 白名单
vim /etc/vsftpd/user_list

如果userlist_deny= YES(默认),绝不允许在这个文件中的用户登录ftp,甚至不提示输入密码
#prompt 提示
/etc/vsftpd/vsftpd_conf_migrate.sh:是vsftpd 操作的一些变量和设置脚本
/var/ftp/:默认情况下匿名用户的根目录
启动服务
[root@localhost110 vsftpd]# systemctl start vsftpd
[root@localhost110 vsftpd]# systemctl enable vsftpd
##注意关闭iptables 和selinux
[root@localhost110~]# netstat -antup | grep ftp
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 11725/vsftpd

为什么看不到20端口?。
因为没有数据通信。

此服务的使用方法
Linux:
[root@localhost110 vuserconfig]# rpm -vih /mnt/Packages/lftp-4.0.9-1.el6.x86_64.rpm
[root@localhost110 vsftpd]# lftp 192.168.0.63

windows:
通过浏览器访问或 打开文件夹,在地址栏输入地址:ftp://192.168.0.110/

例1:公司技术部准备搭建一台功能简单的FTP 服务器,允许所有员工上传和下载文件,并允许创建用
户自己的目录。
分析:
允许所有员工上传和下载文件需要设置成允许匿名用户登录并且需要将允许匿名用户上传功能
开启,
anon_mkdir_write_enable 字段可以控制是否允许匿名用户创建目录。

[root@localhost110 vsftpd]# cp vsftpd.conf vsftpd.conf.back
vim /etc/vsftpd/vsftpd.conf #修改以下内容

允许匿名用户访问
anonymous_enable=YES
允许匿名用户上传文件并可以创建目录
anon_upload_enable=YES
anon_mkdir_write_enable=YES
在这里插入图片描述
在这里插入图片描述
启动服务:
service vsftpd restart

测试: 不能写
在这里插入图片描述
[root@localhost110 vsftpd]# chown ftp.ftp /var/ftp/pub/
然后测试,是可以新建文件夹了,但是不能重命名,不能删除!

[root@localhost110 vsftpd]# vim vsftpd.conf
anon_other_write_enable=YES ##默认没有,需要手动添加下这行

重启服务,即可重命名文件夹。
但是可以删除文件夹了,这个参数对匿名用户来说权限太大,不安全,均衡使用这个参数

注意,默认匿名用户家目录的权限是755,这个权限是不能改变的。切记!

下面我们来一步一步的实现,先修改目录权限,创建一个公司上传用的目录,叫xuegoddata,设置拥有者为ftp 用户所有,目录权限是755
[root@localhost110 vsftpd]# mkdir /var/ftp/xuegoddata
[root@localhost110 vsftpd]# chown ftp.ftp /var/ftp/xuegoddata/
[root@localhost110 vsftpd]# ll -d !$
ll -d /var/ftp/xuegoddata/
drwxr-xr-x 2 ftp root 4096 Mar 9 19:30 /var/ftp/xuegoddata/

然后重新启动服务
[root@localhost110 ~]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]

测试
匿名登录FTP

现在我们匿名上传
在这里插入图片描述
现在匿名上传的文件是禁止删除滴~
在这里插入图片描述
这样匿名用户的上传就算成功了
注:工作中,匿名用户只是只读访问,写的权限也没有的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux上搭建FTP服务器,通常使用的是vsftpd(Very Secure File Transfer Protocol Daemon)服务,它是一个轻量级、易于配置且安全的FTP服务器软件。下面是安装和配置FTP服务器的基本步骤: 1. 安装vsftpd: 在大多数Linux发行版中,你可以使用包管理器来安装,例如在Ubuntu/Debian上: ``` sudo apt update sudo apt install vsftpd ``` 或者在CentOS/RHEL上: ``` sudo yum install vsftpd ``` 2. 启动vsftpd服务并设置自动启动: ``` sudo systemctl start vsftpd sudo systemctl enable vsftpd ``` 3. 配置基本文件: - `/etc/vsftpd/vsftpd.conf` 是主要的配置文件,你可以用文本编辑器打开它。默认情况下,它可能会有基本的配置,但可能需要添加或修改以下部分: - `anonymous_enable=YES`:是否允许匿名登录,建议设置为`NO`以提高安全性。 - `local_user_map`:指定本地用户的映射规则。 - `chroot_local_user=YES`:将用户限制在他们自己的家目录下。 4. 用户和权限设置: - 创建一个FTP用户并分配相应的文件夹权限。例如,创建一个用户`ftpuser`: ``` sudo useradd -d /var/ftp/ftpuser ftpuser ``` - 设置密码: ``` sudo passwd ftpuser ``` - 授权用户对特定目录的访问,比如`/var/ftp`: 5. 配置防火墙(可选): 如果你的系统运行着防火墙,如iptables,确保允许FTP端口21的入站连接: ``` sudo ufw allow in/tcp 21 sudo ufw reload ``` 6. 重启vsftpd以应用新的配置: ``` sudo systemctl restart vsftpd ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值