ftp服务

1.ftp工做原理linux

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

2.安装ftp服务bash

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

wKiom1mEg7iQgrolAABOV3tqpms760.png

systemctl start vsftpd              ##启动服务ide

systemctl stop firewalld            ##关闭火墙ui

systemctl enable vsftpd             ##开机自动启动加密

setenforce 0                        ##关闭selinux或者设置selinux否则会对试验形成影响spa

lftp ip                             ##能登录而且显示,表示安装成功3d

vsftpd文件信息code

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

/etc/vsftpd                         ##配置目录

配置火墙策略

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

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

wKioL1mFsj-RkGYDAADsvCLTRyY878.png

改selinux的状态为disabled,由于selinux是内核级的增强型防火墙,若是他处于强制状态,系统不少功能将不被容许。

wKiom1mGiF2TEN55AAAe9jhtV_s792.png

@@更改完之后必定要记得重启,由于它是内核级的,必须重启才能从新加载

 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