您的位置:首页 > 运维架构 > Linux

Linux系统的ftp服务(ftp搭建及相关用法)

2019-08-01 19:43 197 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/monster_warm/article/details/97817351

部署FTP服务

FTP(文本传输协议)是INTERNET上仍常用的最老的网络协议之一,它为系统提供了通过网络与远程服务器进行传输的简单方法。
FTP服务器包的名称为vsftpd,它代表very secure file transferprotocol damon 服务器名称也叫做vsftpd.
默认配置文件让匿名用户(anoymous用户)只能呢个下在位于chroot 目录中的内容。
/var/ftp/意味着远程FTP客户端能以用户anoymous或ftp身份连接大批服务器(无需密码),并从ftp服务器上的/var/ftp/目录下载文件(其本地ftp用户可以读取这些文件)
部署FTP的操作步骤
1.

打开虚拟机,配置IP,配置yum源,yum clean all
yum install lftp   ##下载lftp
yum search ftp   ##查找相关软件
yum install vsftp.x86_64   ##下载



3.关闭selinux(内核级加强型防火墙)

vim /etc/sysconfig/selinux
在该文件中将状态设置为disabled
getenforce   ##查看selinux的状态


4.开启服务

systemctl start vsftpd
systemctl enable vsftpfd

5.设置火墙状态
(1)图形方式

firewall-config

弹出如下窗口

(2)命令方式

firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload

6.测试

在浏览器中:ftp 172.25.254.104能正常访问即可
在shell中:lftp 172.25.254.104 ->ls能正常显示则搭建成功


FTP服务的基本信息

软件安装包:vsftpd
默认发布目录:/var/ftp
协议接口: 21/tcp
服务配置文件:/etc/vsfpd/vsftpd.conf
报错ID的解析:

500    ##文件系统权限过大
530    ##用户认证失败
550    ##服务本身功能未开放
553    ##本地文件系统权限过小

FTP服务相关权限的设置

vim /etc/vsftpd/vsftpd.conf

匿名用户

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





本地用户

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









匿名用户上传

vim /etc/vsftpd/vsftpd.confwrite_enable=YES
anon_upload_enable=YES
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub


匿名用户建立目录

anon_mkdir_write_enable=YES | NO





匿名用户是否可以删除和重命名

anon_other_write_enable=YES


匿名用户家目录修改

anon_root=/westos




匿名用户上传文件默认权限修改

anon_umask=xxx 改成022



匿名用户使用的用户身份修改

chown_uploads=YES
chown_username=student



匿名用户可下载

anon_world_readable_only=NO



最大上传速率

anon_max-rate=102400 单位:字节100K
dd if=/dev/zero of=/mnt/bigfile bs=1M count=1500
上传测试




最大链接个数

max_clients=2

本地用户家目录修改

local_root=/westos

本地用户上传文件权限

local_umask=xxx

限制本地用户浏览根目录

chroot_local_uesr=YES   ##此参数要求曲调自己对家目录写的权限,man可以查看这个参数
chmod u-w /home/*



(1)用户黑名单的建立

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

(2)用户白名单的建立

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

限制本地用户登陆
(1)用户黑名单

vim /etc/vsftpd/ftpusers   ##永久用户黑名单
vim /etc/vsftpd/user_list    ##用户临时黑名单


(2)用户白名单设定

userlist_enable=YES
userlist_deny=NO
vim /etc/vsftp/user_list         ##参数设定,此文件变为用户白名单,只有在名单中出现的用户才可以登陆ftp




ftp虚拟用户的设定(创建虚拟帐号身份)

1.在该目录下写用户和密码

vim /etc/vsftpd/westosfile    ##文件名称任意
文件中写入:
ftpuser1
123
ftpuser2
123
fpuser3
123

2.因为上述文件有密码的存在,出于安全性考虑,对上述文件进行加密

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


3.查看vsftp.conf,认证的时候使用pam认证

vim /etc/pam.d/westos     ##文件名称任意
在文件中写入
account required pam_userdb.so db=/tc/vsftpd/westosfile
auth    required pam_userdb.so  db=/etc/vsftpd/westosfile

vim /etc/vsftpd/vsftpd.confpam_service_name=westos
guest_enable=YES



虚拟帐号身份指定

guest_username=westos ##默认使用虚拟用户,登陆后在pub目录,要想修改此参数,修改后登陆到westos家目录
chmod u-w /home/ftpuser

虚拟帐号家目录独立设定

vim /etc/vsftpd/vsftpd.con
在文件中写入:
local_root=/ftphome/$USER
user_sub_token=$USER

mkdir /ftphome/user1/user1dir -p
mkdir /ftphome/user2/user2dir -p


虚拟帐号配置独立

chgrp ftp /ftphome -R
ll /ftphome/user*
chmod 775 /ftphome/user1/user1dir
chmod 775 /ftphome/user2/user2dir
vim /etc/vsftpd/vsftpd.confuser_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf

vim /etc/vsftpd/userconf/user1  #在此文件中设定配置文件中的所有参数,此文件的优先级高
例如在文件中写入:
anon_upload_enable=YES


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: