ftp服务
学习目标:
@@@@ FTP服务器部署
@@@@ FTP服务器配置
部署FTP服务器
FTP(文件传输协议)是INTERNET 上仍常用的最老的网络协议
之一,它为系统提供了通过网络与远程服务器进行传输的简单方法
在RED HAT ENTERPRISE LINUX 6中。FTP服务器包的名称为
VSFTPD ,它代表Very Secure File TransferProtocol Damon 服务器
名称也叫做 vsftpd
默认配置文件让 ANONYMOUS 用户只能下载位于CHROOT 目录中
的内容。/var/ftp/ 这意味着远程FTP 客户端能以用户 anonymous 或
ftp 身份连接到服务器(无需密码),并从ftp服务器上的/var/ftp/目录
下载文件(其本地 ftp用户可以读取这些文件)
1.基础设置
设置网络和yum源
设置网路nm-connection-editor
设定名称hostnamectl set-hostname server3.example.com
更改repo文件vim /etc/yum.repos.d/rhel_dvd.repo(http://172.25.254.250/rhel7)
清除数据yum clean all
安装 [root@server3 ~]# yum repolist
[root@server3 ~]# yum install vsftpd -y(相当于阿帕奇)
[root@server3 ~]# yum install lftp -y(相当于浏览器)
启动ftpd服务[root@server3 ~]# systemctl start vsftpd
[root@server3 ~]# systemctl enable vsftpd
logout
ssh root@172.25.254.103 -X
设置内核配置 vim /etc/sysconfig/selinux
SELINUX=disabled —>getenforce查看
reboot
ssh root@172.25.254.103 -X
[root@server3 ~]# firewall-cmd –permanent –add-service=ftp
success //更改防火墙设置为永久,启动服务ftp
[root@server3 ~]# firewall-cmd –reload
success //更改防火墙设置加载
或者 在server3中firewall-config
Configuration设置为permanent
下方列表中添加ftp
Options中reload
2.lftp操作
登陆lftp 172.25.254.250
登陆本地用户 lftp 172.25.254.250 -u student
配置文件vim /etc/vsftpd/vsftpd.conf
重启服务systemctl restart vsftpd
报错: 530是登录失败,能列出东西才可以登陆(密码错了,设置错了)
550是程序不允许
553是服务器文件系统不允许你写(权限过小)
500是权限过大
chmod 777 /var/ftp/会报500的错误
用户登录
anonymous_enable=YES(第12行)匿名用户是否可以登录
local_enable=YES(第16行)为本地用户是否可以登录
write_enable=YES(第19行)为本地用户能否可写
anon_upload_enable=YES(第29行)为匿名用户可以上传
默认目录 /var/ftp/
匿名用户上传
anon_upload_enable=YES(第29行)为匿名用户可以上传
chgrp ftp /var/ftp/pub 更改文件的用户组
chmod 775 /var/ftp/pub 组权限
lftp 172.25.254.120
cd /pub/
put /root/Desktop/file
ls
put /上传的东西
下载
vim /etc/vsftpd/vsftpd.conf
anon_world_readable_only=NO可以下载
systemctl restart vsftpd
lftp 172.25.254.120
cd /pub/
ls
get passwd 下载文件(下载到进入lftp之前所在的目录)
mirror westos 下载目录
建立目录
vim /etc/vsftpd/vsftpd.conf
anon_mkdir_write_enable=YES(33行)
systemctl restart vsftpd
lftp 172.25.254.120
cd /pub/
ls
mkdir westos
删除##
vim /etc/vsftpd/vsftpd.conf
anon_other_write_enable=YES 设定匿名用户能否进行删除文件
systemctl restart vsftpd
lftp 172.25.254.120
cd /pub/
ls
mv 原文件名 新文件名
ls
rm -fr linux
匿名用户的家目录
vim /etc/vsftpd/vsftpd.conf
anon_root=/westos 设定匿名用户家目录
systemctl restart vsftpd
在westos下建立三个文件
lftp 172.25.254.120
cd到家目录(cd)下查看,可以看到文件
匿名用户默认建立目录权限
vim /etc/vsftpd/vsftpd.conf
anon_umask=xxx(220)
systemctl restart vsftpd
lftp 172.25.254.120
mkdir westos
ls -l
设定上传文件的所有人
vim /etc/vsftpd/vsftpd.conf
chown_uploads=YES 有这项才可有下面的两项
chown_username=student 更改为student id student查看UID
systemctl restart vsftpd
put file
ls
设定匿名用户上传文件的权限
vim /etc/vsftpd/vsftpd.conf
chown_upload_mode=0644(这条写入上面的匿名用户默认建立目录权限就失效了)
systemctl restart vsftpd
put file
ls
限制上传下载速度
dd if=/dev/zero of=bigfile bs=1M count=2000 创建一个2G的大文件
du -sh bigfile 查看大文件信息
vim /etc/vsftpd/vsftpd.conf
anon_max_rate=102400 ##单位为byte,102400为100k/s,速度上
!!限速是服务器长期稳定的保证
最大链接数##
//同时最多允许几个用户同时连接
vim /etc/vsftpd/vsftpd.conf
max_clients=2
systemctl restart vsftpd
本地用户家目录设定(指定)
vim /etc/vsftpd/vsftpd.conf
local_root=/westos 设定本地用户家目录
systemctl restart vsftpd
lftp 172.25.254.120 -u student
ls
本地用户锁定在自己的家目录中
vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES !!锁定 108行
systemctl restart vsftpd
chmod u-w /home/* !!去除家目录所有的写权限,否则会报500权限过大错误
lftp 172.25.254.120 -u student
cd /
ls
设定用户的名单
vim /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES !!启动列表
chroot_local_user=YES !!锁住了,大家都出不去,下面是白名单
chroot_list_file=/etc/vsftpd/chroot_list !!指定白名单名称
或者
chroot_local_user=NO !!没有锁,大家都可以出去,下面是黑名单
chroot_list_file=/etc/vsftpd/chroot_list !!指定黑名单名称
vim /etc/vsftpd/chroot_list
systemctl restart vsftpd
chmod u-w /home/* !!去除家目录所有的写权限,否则会报500权限过大错误
lftp 172.25.254.120 -u student
cd /
ls
切换另一个本地账户再次尝试
查看主配置文件
man 5 vsftpd.conf
/read 查找含有read的关键词