首页 > 代码库 > ftp服务

ftp服务

1.ftp工作原理

       FTP是一个客户机/服务系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机

2.安装ftp服务

yum install vsftpd  -y              ##安装服务

技术分享

systemctl start vsftpd              ##启动服务

systemctl stop firewalld            ##关闭火墙

systemctl enable vsftpd             ##开机自动启动

setenforce 0                        ##关闭selinux或者设置selinux不然会对试验造成影响

lftp ip                             ##能登陆并且显示,表示安装成功

vsftpd文件信息

/var/ftp                            ##默认发布目录

/etc/vsftpd                         ##配置目录

配置火墙策略

farewall-config                      ##使用图形界面配置

 @@配置的步骤为:先选中permannent,勾上ftp,点击options,选择reload完成配置

技术分享

改selinux的状态为disabled,因为selinux是内核级的加强型防火墙,如果他处于强制状态,系统很多功能将不被允许。

技术分享

@@更改完以后一定要记得重启,因为它是内核级的,必须重启才能重新加载

 vsftpd服务的配置参数

匿名用户设定

anonymous_enable=YES|NO                ##匿名用户登陆限制,设置为NO时匿名不能登录

 

匿名用户上传

vim /etc/vsftpd/vsftpd.conf

write_enable=YES                       ##设为YES匿名用户可以上传

anon_upload_enable=YES

chgrp ftp /var/ftp/pub

chmod 775 /var/ftp/pub                 ##修改权限

 

匿名用户家目录修改

anon_root=/direcotry                   ##修改以后,登陆进入以后都在修改的家目录下

 

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

anon_umask=xxx

 

匿名用户建立目录

anon_mkdir_write_enable=YES|NO          ##设置为NO表示可以建立

 

匿名用户下载

anon_world_readable_only=YES|NO         ##设定参数值为no表示匿名用户可以下载

 

匿名用户删除

anon_other_write_enable=YES|NO

 

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

chown_uploads=YES

chown_username=student

 

最大上传速率

anon_max_rate=102400                     ##单位为kb,102400表示100M

 

最大链接数

max_clients=2                             ##最多允许两台主机接入

 

本地用户设定

local_enable=YES|NO                        ##本地用户登陆限制

write_enable=YES|NO                        ##本地用户写权限限制

 

本地用户家目录修改

local_root=/directory

 

本地用户上传文件权限

local_umask=xxx

 

限制本地用户浏览/目录

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

chroot_local_user=YES

chmod u-w /home/*

 

用户黑名单建立

chroot_local_user=NO                        ##无法浏览

chroot_list_enable=YES                      ##启用名单

chroot_list_file=/etc/vsftpd/chroot_list    ##写入名单的用户无法浏览

 

用户白名单建立

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list    ##用户白名单建立后,只有在名单中出现的用户才能登录ftp

 

#<限制本地用户登陆>

vim /etc/vsftpd/ftpusers                     ##用户黑名单

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

 

用户白名单设定

userlist_deny=NO

/etc/vsftpd/user_list                        ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp

 

ftp虚拟用户的设定

(创建虚拟帐号身份)

vim /etc/vsftpd/xxx                           ##文件名称任意

ftpuser1                                      ##用户名

123                                           ##密码

ftpuser2

123

ftpuser3

123

 

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

                                               ##hash加密

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

accountrequiredpam_userdb.sodb=/etc/vsftpd/loginusers

authrequiredpam_userdb.sodb=/etc/vsftpd/loginusers

 

vim /etc/vsftpd/vsftpd.conf

pam_service_name=ckvsftpd

guest_enable=YES

 

虚拟帐号身份指定)

guest_username=ftpuser

chmod u-w /home/ftpuser

 

虚拟帐号家目录独立设定)

vim /etc/vsftpd/vsftpd.conf

local_root=/ftpuserhome/$USER

user_sub_token=$USER

 

mkdir /ftpuserhome

chgrp ftpuser /ftpuserhome

chmod g+s /ftpuserhome

mkdir /ftpuserhome/ftpuser{1..3}

 

 

虚拟帐号配置独立)

vim /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/userconf

mkdir -p /etc/vsftpd/userconf

vim /etc/vsftpd/userconf/ftpuser1

           

 

 

 

 

ftp服务