yum install vsftpd -y
rpm -ivh /mnt/Packages/vsftpd...
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak 备份
grep -v "^#" /etc/vsftpd/vsftpd.conf > /etc/vsftpd/vsftpd.conf
--------------ftp服务常用配置项-----------------------
listen=YES 是否以独立运行的方式去监听服务
listen_address=192.168.4.1 设置要监听的IP地址
listen_port=21 设置ftp服务监听的端口
write_enable=YES 是否启用写入权限(影响整个ftp服务)
download_enable=YES 是否允许下载文件(默认允许)
userlist_enable=YES 设置启动用户列表允许登陆ftp
userlist_deny=YES 用户列表不允许登陆ftp
max_clients=0 最大的客户端连接数,0为不限制,最多允许多少用户同时登陆ftp服务
max_per_ip=0 同一个IP地址的最大连接数也是0为不限制,同时最多下载多少文件
------------------------------------------------------
---------------匿名访问ftp服务------------------------
anonymous_enable=YES 启用匿名访问模式
anon_umask=022 匿名用户上传文件的权限反掩码
anon_root=/var/ftp 设置匿名用户的ftp根目录
anon_upload_enable=YES 允许上传文件,而且不管是匿名还是本地或者虚拟用户,若要允许上传文件,必须要有词配置项
anon_mkdir_write_enable=YES 允许匿名用户创建一个文件夹(目录)
anon_other_write_enable=YES 允许匿名修改和删除文件夹(目录)
anon_max_rate=0 限制最大传输速率(字节/秒)0为不限制
注:/var/ftp/ 这是FTP服务器的默认工作目录。
匿名用户只能访问ftp根目录
------------------------------------------------------
windows测试:
登录:在CMD里 ftp 192.168.80.110
get put dir
在文件夹里或者浏览器里:ftp://192.168.80.110
filezilla软件报错:550 是ftp配置文件权限问题
553是系统目录本身权限问题
500是用户登陆的根目录不可以有写权限
---------------本地用户访问ftp服务配置项---------------
local_enable=YES 启用本地用户模式
local_umask=022 本地用户上传的文件的权限反掩码
local_root=/var/ftp 指定本地用户的ftp根目录
chroot_local_user=YES 将本地用户禁锢在ftp的目录里
local_max_rate=0 限制最大传输速率(字节/秒)0为不限制
write_enable=YES
download
------------------------------------------------------
--------------------被动模式配置项---------------------
pasv_enable=YES 启用被动模式
pasv_min_port=24500 被动模式最小端口号
pasv_max_port=24600 被动模式最大端口号
-----------------------------------------------------
----------------虚拟用户访问ftp服务配置项--------------
虚拟用户是ftp服务最安全的一种认证模式
第一步:创建用于进行ftp认真的用户数据库文件
cd /etc/vsftpd
vi vusers.txt 建立文本格式的虚拟用户用户名和密码列表文件
tom 奇数行是用户名
123 偶数行是密码
db_load -T -t hash -f vusers.txt vusers.db 使用db_load命令通过hash算法将原始的明文文件vusers.txt转换成vuser.db
chmod 600 vusers.* 为了安全性,原始文件和数据库文件设置为所有者绝对权限,其他人和组没有权限
第二步:创建一个虚拟用户映射的系统本地用户
useradd -d /srv/ -s /sbin/nologin vuser
为了安全起见,被映射的系统本地用户不可登陆系统
第三步:创建用于支持虚拟用户的PAM认证文件
vi /etc/pam.d/vsftpd.vu PAM认证文件
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
注:‘’db=“参数为使用db_load命令生成的账户密码数据库文件的路径
第四步:修改vsftpd配置文件
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO 必须关闭匿名访问
#pam_service_name=vsftpd 本地用户和匿名用户的pam认证文件
guest_enable=YES 启用虚拟用户模式
guest_username=vuser 指定虚拟用户账号映射到系统用户账号
pam_service_name=vsftpd.vu 指定虚拟用户的PAM认证文件
systemctl restart vsftpd 启动vsftpd
------------------------------------------------------
----------------为虚拟用户创建独立的配置文件-----------
vi vsftpd.conf
user_config_dir=/etc/vsftpd/vdir
vi test01
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_max_rate=0
local_root=/opt/t01 anon_root=/opt/t01
max_per_ip=2
------------------------------------------------------
-----------------------tftp 简单文件传输协议------------------
yum install -y tdtp-server
vi /etc/xinetd.d/tftp
修改以下内容:
disable = yes 改为no
systemctl restart xinetd
systemctl enable xinetd
TFTP的根目录为/var/lib/tftpboot
tftp命令可用的参数以及作用:
? 帮助信息
put 上传文件
get 下载文件
binary 使用二进制进行传输
quit 退出