首页 > 代码库 > 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服务