VSFTP配置<一> ------ 匿名用户
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,简介:安全性是编写VSFTP的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是VSFTP的两个重要特点。在速度方面,使用ASCII代码的模式下载数据时,VSFTP的速度是Wu-FTP的两倍,如果
千家信息网最后更新 2025年01月23日VSFTP配置<一> ------ 匿名用户
vsftp: vsftpd-2.2.2-12.el6_5.1.x86_64
一、vsftpd的安装
1、vsftp可以下载rpm安装 也可以使用官方CD.iso 配置本地配置yum源进行安装
匿名登录FTP
ascii 以ascii码传输数据
binary 以二进制方式传输数据
chmod 修改权限
cd 切换目录
lcd 本地目录切换
delete 删除文件
get 下载
put 上传
mget 一次下载多个
mput 一次上传多个
pwd 显示当前所在位置
bye 退出
二、Vsftp匿名访问配置
1、禁止匿名用户访问:修改配置文件如下:
anon_upload_enable=YES //启用这一行
默认配置是禁止匿名用户创建目录的,可以通过修改配置文件更改:
anon_mkdir_write_enable=YES //启用这一行
然后保存,重新加载配置文件:
默认配置中是无法删除文件的,需要在配置文件中添加一行如下:
anon_other_write_enable=YES
匿名登录:
三、本地用户权限管理
1、使用系统用户登陆: 【默认情况下使用系统用户登陆,登陆后可以在其家目录下任意创建、上传删除文件或目录】
local_enable=YES //默认此行启用状态
write_enable=YES //写权限默认开启
local_umask=022 //控制FTP登陆后的权限
1.1、在vsftp上面添加一个用户:
2、禁止系统用户访问:
2.1、修改配置文件:
local_enable=NO
然后重新加载服务
3、锁定系统用户至其家目录
chroot_local_user=YES //启用此行
chroot_list_enable=YES //启用列表
chroot_list_file=/etc/vsftpd/chroot_list //在此文件中的用户都会被锁定
4.1、创建用户:
四、其他简单配置说明:
1、dirmessage_enable=YES //目录消息提示
在FTP要提示消息的目录下新建文件:
xferlog_enable=YES //是否打开传输日志,默认开启
xferlog_std_format=YES //传输日志是否启用标准格式
xferlog_file=/var/log/xferlog //日志路径,【前面两个都得启用】
3、上传属主是否改变
#chown_uploads=YES //当ftp上传文件时,是否更改其属主
#chown_username=whoever //将属主更为为whoever 即系统上的用户名
4、超时相关
#idle_session_timeout=600 //空闲会话超时时长,超过将自动断开
#data_connection_timeout=120 //数据连接超时时长(即用户上传下载数据时,数据连接断开后,ftp断开的超时时长)
5、上传下载格式
#ascii_upload_enable=YES //其否强制使用ascill上传
#ascii_download_enable=YES //其否强制使用ascill下载
注:当上传下载的是二进制文件时,强制使用ascill上传下载会产生故障
6、ftp信息
#ftpd_banner=Welcome to blah FTP service. //用户登陆时是否显示欢迎信息,可自定义
auth //做认证用的
account //检查用户账号是否在有效期内
session //
userlist_enable=YES //是否启用控制用户登陆的列表文件
userlist_deny=YES|NO //是否拒绝用户列表中用户 默认是YES
eg1:
当userlist_deny=YES时,user_list文件就变成了黑名单,文件内的用户都不允许登陆
在user_list中添加centos用户
当userlist_deny=NO时,user_list文件就变成了白名单,只有user_list文件内的用户才允许登陆
9、连接限制:
max_clients: 最大并发连接数
max_per_ip: 每个IP可同时发起的最大请求数
10、传输速率
anon_max_rate: 匿名用户的最大传输速率,单位:"字节/秒"
local_max_rate: 本地用户的最大传输速率
更多配置参数请参考: man vsftpd.conf
简介:
安全性是编写VSFTP的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是VSFTP的两个重要特点。
在速度方面,使用ASCII代码的模式下载数据时,VSFTP的速度是Wu-FTP的两倍,如果Linux主机使用2.4.*的内核,在千兆以太网上的下载速度可达86MB/S。
在稳定方面,VSFTP就更加的出色,VSFTP在单机(非集群)上支持4000个以上的并发用户同时连接,根据Red Hat的Ftp服务器的数据,VSFTP服务器可以支持15000个并发用户
实验环境:
OS: CentOS 6.6vsftp: vsftpd-2.2.2-12.el6_5.1.x86_64
一、vsftpd的安装
1、vsftp可以下载rpm安装 也可以使用官方CD.iso 配置本地配置yum源进行安装
[root@1inux htdocs]# yum -y install vsftpdLoaded plugins: fastestmirror, refresh-packagekit, securitySetting up Install ProcessLoading mirror speeds from cached hostfileResolving Dependencies--> Running transaction check---> Package vsftpd.x86_64 0:2.2.2-12.el6_5.1 will be installed--> Finished Dependency ResolutionDependencies Resolved========================================================================================================================================= Package Arch Version Repository Size=========================================================================================================================================Installing: vsftpd x86_64 2.2.2-12.el6_5.1 CD 151 kTransaction Summary=========================================================================================================================================Install 1 Package(s)Total download size: 151 kInstalled size: 331 kDownloading Packages:Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning Transaction Installing : vsftpd-2.2.2-12.el6_5.1.x86_64 1/1 Verifying : vsftpd-2.2.2-12.el6_5.1.x86_64 1/1 Installed: vsftpd.x86_64 0:2.2.2-12.el6_5.1 Complete![root@1inux htdocs]#2、查看vsftp安装后生成的文件:
[root@1inux htdocs]# rpm -ql vsftpd/etc/logrotate.d/vsftpd/etc/pam.d/vsftpd //用户认证配置文件/etc/rc.d/init.d/vsftpd //服务脚本/etc/vsftpd //配置文件目录/etc/vsftpd/vsftpd.conf //配置文件/etc/vsftpd/ftpusers/etc/vsftpd/user_list/etc/vsftpd/vsftpd_conf_migrate.sh/usr/sbin/vsftpd //主程序...../var/ftp //匿名访问目录/var/ftp/pub
3、安装完成后启动vsftp
[root@1inux htdocs]# service vsftpd startStarting vsftpd for vsftpd: [ OK ][root@1inux htdocs]#=========================
匿名登录FTP
匿名登录方式: (1)可以输入用户名ftp,密码为空,然后登陆 (2) 用户名、密码都是anonymous
ftp> help //CentOS ftp客户端可以使用help命令获取命令列表! debug mdir sendport site$ dir mget put sizeaccount disconnect mkdir pwd statusappend exit mls quit structascii form mode quote systembell get modtime recv suniquebinary glob mput reget tenexbye hash newer rstatus tickcase help nmap rhelp tracecd idle nlist rename typecdup p_w_picpath ntrans reset userchmod lcd open restart umaskclose ls prompt rmdir verbosecr macdef passive runique ?delete mdelete proxy sendftp>主要命令介绍:
ascii 以ascii码传输数据
binary 以二进制方式传输数据
chmod 修改权限
cd 切换目录
lcd 本地目录切换
delete 删除文件
get 下载
put 上传
mget 一次下载多个
mput 一次上传多个
pwd 显示当前所在位置
bye 退出
二、Vsftp匿名访问配置
注意:配置之前先对其配置文件进行备份,以防止造成无法挽回的损失# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
1、禁止匿名用户访问:修改配置文件如下:
anonymous_enable=NO
[root@1inux ~]# ftp 172.16.66.82Connected to 172.16.66.82 (172.16.66.82).220 (vsFTPd 2.2.2)Name (172.16.66.82:root): ftp331 Please specify the password.Password:530 Login incorrect.Login failed. //访问失败ftp>2、增加匿名用户上传权限
anon_upload_enable=YES //启用这一行
ftp> put fstablocal: fstab remote: fstab227 Entering Passive Mode (172,16,66,82,148,217).553 Could not create file. //还是提示无法创建, 这是因为vsftp服务是以ftp用户启动的其对对/var/ftp目录没有写权限解决方案:在/var/ftp/目录下创建一个目录更改其权限使ftp用户对其有读写权限:
[root@1inux vsftpd]# mkdir /var/ftp/upload/[root@1inux vsftpd]# cd /var/ftp/[root@1inux ftp]# setfacl -m u:ftp:rwx upload/[root@1inux ftp]# getfacl upload/# file: upload/# owner: root# group: rootuser::rwxuser:ftp:rwxgroup::r-xmask::rwxother::r-x接下来我们再上传文件试试
[root@1inux ~]# ftp 172.16.66.82Connected to 172.16.66.82 (172.16.66.82).220 (vsFTPd 2.2.2)Name (172.16.66.82:root): ftp331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> ls227 Entering Passive Mode (172,16,66,82,201,178).150 Here comes the directory listing.drwxr-xr-x 2 0 0 4096 Aug 04 2014 pubdrwxrwxr-x 2 0 0 4096 May 01 20:43 upload226 Directory send OK.ftp> cd upload250 Directory successfully changed.ftp> lcd /etcLocal directory now /etcftp> put fstablocal: fstab remote: fstab227 Entering Passive Mode (172,16,66,82,47,38).150 Ok to send data.226 Transfer complete.1127 bytes sent in 0.000133 secs (8473.68 Kbytes/sec)ftp> ls227 Entering Passive Mode (172,16,66,82,233,197).150 Here comes the directory listing.-rw------- 1 14 50 1127 May 01 20:52 fstab //文件已经存在226 Directory send OK.ftp>3、创建目录:
默认配置是禁止匿名用户创建目录的,可以通过修改配置文件更改:
anon_mkdir_write_enable=YES //启用这一行
然后保存,重新加载配置文件:
[root@1inux vsftpd]# service vsftpd reloadShutting down vsftpd: [ OK ]Starting vsftpd for vsftpd: [ OK ][root@1inux vsftpd]#在客户端匿名登录创建目录anontest
ftp> mkdir anontest257 "/upload/anontest" created //提示创建成功ftp> ls227 Entering Passive Mode (172,16,66,82,41,121).150 Here comes the directory listing.drwx------ 2 14 50 4096 May 01 21:02 anontest //目录已经存在-rw------- 1 14 50 1127 May 01 20:52 fstab226 Directory send OK.ftp>4、删除文件或目录
默认配置中是无法删除文件的,需要在配置文件中添加一行如下:
anon_other_write_enable=YES
匿名登录:
ftp> ls227 Entering Passive Mode (172,16,66,82,233,251).150 Here comes the directory listing.drwx------ 2 14 50 4096 May 01 21:02 anontest-rw------- 1 14 50 1127 May 01 20:52 fstab226 Directory send OK.ftp> delete fstab //删除文件250 Delete operation successful.ftp> rmdir anontest //删除目录250 Remove directory operation successful.ftp> ls227 Entering Passive Mode (172,16,66,82,237,22).150 Here comes the directory listing.226 Directory send OK.ftp>
三、本地用户权限管理
1、使用系统用户登陆: 【默认情况下使用系统用户登陆,登陆后可以在其家目录下任意创建、上传删除文件或目录】
local_enable=YES //默认此行启用状态
write_enable=YES //写权限默认开启
local_umask=022 //控制FTP登陆后的权限
1.1、在vsftp上面添加一个用户:
[root@1inux vsftpd]# useradd admin[root@1inux vsftpd]# passwd adminChanging password for user admin.New password: BAD PASSWORD: it is WAY too shortBAD PASSWORD: is a palindromeRetype new password: passwd: all authentication tokens updated successfully.[root@1inux vsftpd]#1.2、访问
[root@1inux ~]# ftp 172.16.66.82Connected to 172.16.66.82 (172.16.66.82).220 (vsFTPd 2.2.2)Name (172.16.66.82:root): admin331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> ls227 Entering Passive Mode (172,16,66,82,236,21).150 Here comes the directory listing.226 Directory send OK.ftp> pwd 257 "/home/admin" //使用系统用户登陆默认访问的是其家目录ftp> lcd /root //切换本地目录ftp> pwd257 "/etc"----------------------
2、禁止系统用户访问:
2.1、修改配置文件:
local_enable=NO
然后重新加载服务
[root@1inux vsftpd]# service vsftpd reloadShutting down vsftpd: [ OK ]Starting vsftpd for vsftpd: [ OK ][root@1inux vsftpd]#2.1、访问:
[root@1inux ~]# ftp 172.16.66.82Connected to 172.16.66.82 (172.16.66.82).220 (vsFTPd 2.2.2)Name (172.16.66.82:root): admin530 This FTP server is anonymous only.Login failed. //输入用户名后 直接提示失败ftp>
3、锁定系统用户至其家目录
chroot_local_user=YES //启用此行
[root@1inux ~]# ftp 172.16.66.82Connected to 172.16.66.82 (172.16.66.82).220 (vsFTPd 2.2.2)Name (172.16.66.82:root): admin331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> pwd257 "/"ftp> lcd /etcLocal directory now /etcftp> ls227 Entering Passive Mode (172,16,66,82,171,255).150 Here comes the directory listing.drwxr-xr-x 2 501 501 4096 May 01 21:24 abc226 Directory send OK.4、锁定部分用户至其家目录,可以启用以下行:
chroot_list_enable=YES //启用列表
chroot_list_file=/etc/vsftpd/chroot_list //在此文件中的用户都会被锁定
4.1、创建用户:
[root@1inux vsftpd]# useradd centos[root@1inux vsftpd]# echo "1" | passwd --stdin centos[root@1inux vsftpd]# useradd fedora[root@1inux vsftpd]# echo "1" | passwd --stdin fedora[root@1inux vsftpd]#4.2、创建用户列表
[root@1inux vsftpd]# vim chroot_list[root@1inux vsftpd]# cat chroot_list centos4.3、重新加载配置文件
[root@1inux vsftpd]# service vsftpd reloadShutting down vsftpd: [ OK ]Starting vsftpd for vsftpd: [ OK ]4.4、登陆查看
1、以centos身份登陆[root@1inux ~]# ftp 172.16.66.82Connected to 172.16.66.82 (172.16.66.82).220 (vsFTPd 2.2.2)Name (172.16.66.82:root): centos331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> pwd257 "/"ftp> 2、以fedora身份 登陆[root@1inux ~]# ftp 172.16.66.82Connected to 172.16.66.82 (172.16.66.82).220 (vsFTPd 2.2.2)Name (172.16.66.82:root): fedora331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> pwd257 "/home/fedora"
四、其他简单配置说明:
1、dirmessage_enable=YES //目录消息提示
在FTP要提示消息的目录下新建文件:
# vim .messageHello, guestHow are you?重载配置文件:# service vsftpd reload
[root@1inux ~]# ftp 172.16.66.82Connected to 172.16.66.82 (172.16.66.82).220 (vsFTPd 2.2.2)Name (172.16.66.82:root): ftp331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> cd upload250-Hello, guest //已经提示刚才定义的消息250-How are you?250 Directory successfully changed.ftp>2、日志相关
xferlog_enable=YES //是否打开传输日志,默认开启
xferlog_std_format=YES //传输日志是否启用标准格式
xferlog_file=/var/log/xferlog //日志路径,【前面两个都得启用】
3、上传属主是否改变
#chown_uploads=YES //当ftp上传文件时,是否更改其属主
#chown_username=whoever //将属主更为为whoever 即系统上的用户名
4、超时相关
#idle_session_timeout=600 //空闲会话超时时长,超过将自动断开
#data_connection_timeout=120 //数据连接超时时长(即用户上传下载数据时,数据连接断开后,ftp断开的超时时长)
5、上传下载格式
#ascii_upload_enable=YES //其否强制使用ascill上传
#ascii_download_enable=YES //其否强制使用ascill下载
注:当上传下载的是二进制文件时,强制使用ascill上传下载会产生故障
6、ftp信息
#ftpd_banner=Welcome to blah FTP service. //用户登陆时是否显示欢迎信息,可自定义
[root@1inux ~]# ftp 172.16.66.82Connected to 172.16.66.82 (172.16.66.82).220 Welcome to blah FTP service. //登陆时显示Name (172.16.66.82:root):
7、vsftpd使用pam完成用户认证,其用到的pam配置文件
/etc/pam.d/vsftpd //定义了用户访问vsftpd时用哪个模块对用户做认证# cat /etc/pam.d/vsftpd %PAM-1.0session optional pam_keyinit.so force revokeauth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeedauth required pam_shells.soauth include password-authaccount include password-authsession required pam_loginuid.sosession include password-auth-------------------
auth //做认证用的
account //检查用户账号是否在有效期内
session //
_______/etc/pam.d/vsftpd ______________auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed-------------------------------------------------------------------------------------------
/etc/vsftpd/ftpusers 存放拒绝访问vsftp的用户列表,用户名一旦在此文件中出现,其将会被禁止访问vsftp
eg:服务器端:[root@1inux vsftpd]# echo "admin" >> ftpusers [root@1inux vsftpd]# service vsftpd reload客户端:[root@1inux ~]# ftp 172.16.66.82Connected to 172.16.66.82 (172.16.66.82).220 Welcome to blah FTP service.Name (172.16.66.82:root): admin331 Please specify the password.Password:530 Login incorrect.Login failed. //登陆失败ftp>
8、控制用户列表文件
/etc/vsftpd/user_listuserlist_enable=YES //是否启用控制用户登陆的列表文件
userlist_deny=YES|NO //是否拒绝用户列表中用户 默认是YES
eg1:
当userlist_deny=YES时,user_list文件就变成了黑名单,文件内的用户都不允许登陆
在user_list中添加centos用户
# echo "centos" >> /etc/vsftpd/user_list[root@1inux ~]# ftp 172.16.66.82Connected to 172.16.66.82 (172.16.66.82).220 Welcome to blah FTP service.Name (172.16.66.82:root): centos530 Permission denied. //被拒绝访问Login failed.ftp> ------eg2:
当userlist_deny=NO时,user_list文件就变成了白名单,只有user_list文件内的用户才允许登陆
[root@1inux vsftpd]# cat user_list # vsftpd userlist# If userlist_deny=NO, only allow users in this file# If userlist_deny=YES (default), never allow users in this file, and# do not even prompt for a password.# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers# for users that are denied.rootbindaemonadmlpsyncshutdownhaltmailnewsuucpoperatorgamesnobodycentos[root@1inux vsftpd]# 客户端:[root@1inux ~]# ftp 172.16.66.82Connected to 172.16.66.82 (172.16.66.82).220 Welcome to blah FTP service.Name (172.16.66.82:root): fedora530 Permission denied. //fedora 用户直接被拒绝Login failed.ftp> bye221 Goodbye.[root@1inux ~]# ftp 172.16.66.82Connected to 172.16.66.82 (172.16.66.82).220 Welcome to blah FTP service.Name (172.16.66.82:root): centos331 Please specify the password.Password:230 Login successful. //centos 用户可以访问Remote system type is UNIX.Using binary mode to transfer files.ftp>
9、连接限制:
max_clients: 最大并发连接数
max_per_ip: 每个IP可同时发起的最大请求数
10、传输速率
anon_max_rate: 匿名用户的最大传输速率,单位:"字节/秒"
local_max_rate: 本地用户的最大传输速率
OK 虚拟用户及系统用的的配置基本上就这么些......欢迎补充
更多配置参数请参考: man vsftpd.conf
用户
文件
配置
目录
登陆
权限
数据
系统
传输
提示
服务
用户名
最大
上传下载
客户
客户端
日志
其家
登录
认证
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
杨浦区人工智能应用软件开发
重庆嵌入式软件开发
如何数据库管理
表单大师怎么合并数据库
新闻1 1网络安全
vfp 关闭数据库
我的世界管理服务器文件
江苏网络时间服务器专家云主机
日本网络安全感
软件开发工程师近几年的发展
网络安全法是第几号主席令内容
税务 网络安全
千族网络技术有限公司
网络安全推动现代化
彩云互联网络科技
台湾服务器怎么设置安全
批量化数据库运维
数据库当前日期
苹果招聘app软件开发
宜章安卓软件开发待遇
学软件开发都要学什么
lpi无线网络技术
互联网科技类企业
霍尼韦尔管理服务器C盘满
微信账户在服务器删除不了
服务器管理信息平台
打开stud数据库步骤
软件服务器挂了怎么恢复
软件开发这一行业的前景怎么样
网络安全课本书名