Linux基础——FTP服务

####ftp服务####

一、启动服务

第一步:

服务端:

真机连接server虚拟机:

vim /etc/sysconfig/selinux                    ##编辑配置文件

  7 SELINUX=disabled                         ##第七行参数改为disabled

reboot                                                 ##重启服务使配置文件生效

ssh [email protected]


第二步:启动vsftpd服务

注:先配置好yum源

yum install vsftpd -y                        ##安装vsftpd服务

systemctl start vsftpd                           ##启动vsftpd服务

systemctl enable vsftpd

netstat -antlupe |grep vsftpd                ##查看vsftpd状态

第三步:启用ftp服务

firewall-cmd --list-all                                      ##查看firewalld状态

firewall-cmd --permanent --add-service=ftp   ##启用ftp服务

firewall-cmd --reload                                     ##重装firewalld服务

firewall-cmd --list-all

lftp客户端:

yum install lftp

lftp 172.25.254.208

lftp 172.25.254.208:~> ls

lftp 172.25.254.208:/> quit


二、报错id的解析

500  ##文件系统权限过大

530  ##用户认证失败

550  ##服务本地功能未开放

553  ##本地文件系统权限过小


三、ftp匿名用户参数

vim /etc/vsftpd/vsftpd.conf         ##修改参数配置文件

systemctl restart vsftpd             ##重启服务,参数生效

1、匿名用户登陆

anonymous_enable=YES|NO     ##匿名用户是否可以登陆

实验:编辑配置文件并重启服务:


参数改为YES时匿名用户能登陆:

参数改为NO时匿名用户不能登陆:

2、匿名用户家目录修改

服务端: 

anon_root=/direcotry                 ##匿名用户家目录修改

例:mkdir  /ftp/ftpdir/westosdir -p

anon_root=/ftpdir                      ##参数文件里添加参数

客户端:lftp 172.25.254.200

实验:

添加参数,家目录修改为westosdir:

注释参数,家目录变回pub:

3、匿名用户上传

匿名用户上传的前提是本地用户可写

服务端:

20 write_enable=YES                   ##本地用户可写

30 anon_upload_enable=YES      ##允许匿名用户上传

chgrp ftp /var/ftp/pub        

chmod 775 /var/ftp/pub/               ##给予目录权限

客户端:

lftp 172.25.254.208

cd   pub

put /etc/passwd

实验:把参数设置为YES:

尝试下载文件,被告知权限过小:

给予目录权限:

4、匿名用户重命名和删除

 14 anon_other_write_enable=YES   ##匿名用户重命名和删除

实验:使参数生效

能够重命名和删除文件:

5、匿名用户建立目录

 35 anon_mkdir_write_enable=YES

实验:使参数生效

6、匿名用户上传文件速度限制

anon_max_rate=102400           ##最高速度为102400字节

实验:

服务端:

cd /mnt

dd if=/dev/zero of=/mnt/bigfile bs=1M count=2000  ##从无限0设备中复制数据到/mnt/bigfile 

dd         ##截取命令  

bs         ##大小 

count    ##块数

客户端:

lftp 172.25.254.208

cd pub

put /mnt/bigfile                 ##获取bigfile文件,查看正常上传速度

rm -fr bigfile                      ##再把它删除

编辑参数:

上传文件速度只有100KB左右:

7、匿名用户上传文件的权限

anon_umask=022                 ##匿名用户上传文件的权限

实验:修改参数:

查看上传文件权限:


四、ftp本地用户参数

1、本地用户登陆

local_enable=YES|NO   ##本地用户是否可以登陆

实验:修改参数

2、本地用户可写

write_enable=YES|NO   ##ftp是否对登陆用户可写

实验:修改参数

可以上传文件:


3、本地用户上传文件的权限

local_umask=022    本地用户上传文件的权限

实验:修改参数

查看上传文件参数

4、限制本地用户浏览/目录

所有用户被锁定到自己的家目录中

chroot_local_user=YES                ##限制本地用户浏览/目录

实验:修改参数

登陆查看:


5、用户黑名单建立:

客户端:

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list      ##黑名单,文件不存在需自己建立

修改参数:

编辑黑名单文件:

登陆查看:


6、用户白名单建立:

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list  

修改参数:

登陆查看:

7、限制本地用户登陆

先把上一个实验的三行参数注释掉

vim /etc/vsftpd/ftpusers  用户永久黑名单

最后一行添加westos用户:


登陆查看:


vim /etc/vsftpd/user_list 用户临时黑名单

最后一行添加student用户


登陆查看:


vim /etc/vsftpd/vsftpd.conf:

130 userlist_enable=YES

131 userlist_deny=NO     ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp,默认用户不能查看,名单中有的才能查看。

修改参数:

名单中有student用户,所以student用户能登陆查看,其他用户不行:

黑白名单中都有用户  ftpusers优先级高于一切

/etc/vsftpd/ftpusers添加student用户,白名单失效:

五、ftp虚拟用户的设定

第一步:创建虚拟帐号身份

vim /etc/vsftpd/westosfile    ##文件名称任意,添加虚拟用户和密码

第二步:设置加密

db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db

vim /etc/pam.d/westos:        ##文件名称任意



-required                            ##必须要通过认证程序的认证否则失败

-db=/etc/vsftpd/westosfile   ##自动识别.db

第三步:指定认证文件到配置文件里

vim /etc/vsftpd/vsftpd.conf

pam_service_name=westos

guest_enable=YES            ##虚拟用户功能开启

guest_username=ftp          ##虚拟帐号身份指定

登陆查看:






























猜你喜欢

转载自blog.csdn.net/weixin_41927237/article/details/80264854