FTP
FTP是 File Transfer Protocol 文件传输协议的英文名称,用于在Internet上控制文件的双向传输. 同时它也是一个应用程序.一般的Linux系统默认带有ftp软件或者是vsftpd
要点
- 相关用户的创建、修改
- 文件的权限控制
- ftp登录用户白名单
- 根目录切换
目的
从 windows 上传文件 至 FTP 服务器
从 Linux 下载 FTP 文件
安装
yum -y install vsftpd # 安装
rpm -qa | grep vsftpd # 查看
创建
mkdir -p /var/www/wangjun
mkdir -p /var/www/wanglei
useradd -d /var/www/wangjun wangjun
useradd -d /var/www/wanglei wanglei
passwd wangjun
passwd wanglei
查看
tail -n 2 /etc/passwd
wangjun:x:1001:1001::/var/www/wangjun:/bin/bash
wanglei:x:1002:1002::/var/www/wanglei:/bin/bash
配置
vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES # 127行 启动用户列表
userlist_deny=NO # 128行 决定是否对用户列表的用户拒绝访问ftp
userlist_file=/etc/vsftpd/user_list # 129行 ftp用户白名单
vim /etc/vsftpd/user_list # 写入用户
wangjun
wanglei
服务
systemctl status vsftpd # 查看状态
systemctl start vsftpd # 启动
systemctl enable vsftpd # 开机自启
systemctl stop firewalld # 关闭防火墙及核心安全机制 [ 临时 ]
systemctl disable firewalld # [ 永久 ]
setenforce 0 # SeLinux设为disabled [ 临时 ]
sed -i 's/enforcing/disabled/g' /etc/selinux/config # [ 永久 ]
Windows 通过客户端连接 FTP 服务器
使用 wangjun wanglei 用户登录 FTP 服务器
发现在客户端可以浏览整个 Linux 系统的文件夹!!!
因此继续配置 vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
local_root= /var/www # 131行 本地用户登录后自动跳转至ftp根目录 [ /var/www ]
chroot_local_user=YES # 132行 将所有用户限定在指定的主目录内
chroot_list_enable=NO # 133行 不启用列外的用户列表
chroot_list_file=/etc/vsftpd/chroot_list # 134行 指定列外的用户列表文件
' 重启ftp服务'
systemctl restart vsftpd
再次使用客户端连接 FTP服务器
已默认跳转 ftp 根目录 [ /var/www ]
但是创建文件夹失败了!
因此进行权限配置
cd /var/www/
chown -R wangjun:wangjun wangjun/
chown -R wanglei:wanglei wanglei/
这时候 他们就可以在各自拥有的文件夹中创建文件,并不可以到对方的文件夹中创建文件
所以 只需在 FTP 服务器 修改对应文件夹权限 即可
Windows 客户端 映射 FTP 服务器
此电脑 >> 计算机 >> 添加一个网络位置
指定位置
输入账号密码
完成
结束
Linux 客户端
方式一:
通过安装 gftp 客户端 进行连接 FTP 服务器
方式二:
挂载 FTP 共享目录
' 安装依赖
yum -y install curlftpfs
' 挂载共享路径(创建Share目录)
mkdir /Share
curlftpfs -o codepage=utf8 ftp:wangj:[email protected] /Share
' 自动挂载共享目录
vim /etc/rc.d/rc.local
curlftpfs -o codepage=utf8 ftp:wangj:[email protected] /Share
' 授权
cd /etc/rc.d/
chmod 777 rc.local
' 取消挂载
umount /Share