2.软文推荐
3.软文推荐
目录: 1、如何配置vsftpd.conf 2、限制虚拟用户的家目录的家目录的配置是什么 3、Linux下配置FTP服务器 4、7.9 用vsftpd 配置基于IP的虚拟FTP 服务器 5、CentOS7安装及配置vsftpd-精简绝版 如何配置vsftpd.confVSFTP的软件安装包是: vsftpd-2.2.2-12.el6_5.1.i686.rpm
查询:#rpm -q vsftpd
安装:#rpm -ivh vsftpd-2.2.2-12.el6_5.1.i686.rpm或者直接yum install vsftpd
启动、停止及重启VSFTP的命令: #service vsftpd start/stop/restart
配置文件:
/etc/vsftpd/vsftpd.conf //主配置文件
/etc/vsftpd.ftpusers //被禁止登录FTP的用户文件
/etc/vsftpd.user_list //允许登录FTP的用户文件
a、将登录后的用户限制在本地家目录下:
#vi /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
新建受限用户的列表文件并加入受限用户名
#vi /etc/vsftpd.chroot_list
raykeso
重启ftp服务
#service vsftpd restart
b、/etc/vsftpd/vsftpd.conf 主要参数讲解
anonymous_enable=YES/no 是否允许匿名用户登录
anonymous_enable=yes/no 是否允许匿名上传文件
local_enable= YES/no 是否允许本地用户登录
write_enable= YES/no 是否允许本地用户上传
guest_enable=yes/no 是否允许虚拟用户登录;
local_mask=022 设置本地用户的文件生成掩码为022,默认值为077
dirmessage_enable= YES 设置切换到目录时显示。message隐含文件的内容
xferlog_enable= YES 激活上传和下载日志
connect_from_port_20=YES 启用FTP数据端口连接
pam_service_name=vsftpd 设置PAM认证服务的配置文件名称, 该文件存放在/etc/pam.d目录下
限制虚拟用户的家目录的家目录的配置是什么centos 6.5 vsftpd 虚拟用户配置
一:基本知识
1:虚拟用户:与系统无关联,不能登入系统,只能访问FTP服务器
2:vsftp的服务进程是vsftpd
3:vsftpd的配置文件是/etc/vsftpd/vsftpd.conf .
4:vsftpd的用户文件是/etc/vsftpd/ftpusers
5:vsftpd的用户文件是/etc/vsftpd/user_list
6:推荐使用虚拟用户登入vs-FTP服务器
二:安装
1.检查是否安装过vsftpd
rpm -qa vsftpd
安装:
(1) yum -y install vsftpd lftp
(2) 关闭iptables 和 selinux
/etc/init.d/iptables stop
临时关闭selinux
setenforce 0
永久性的关闭selinux
vim /etc/selinux/config
修改为 ————》SELINUX=disabled
(3) 创建虚拟用户文本文件,添加用户及密码
cd /etc/vsftpd
touch vuser.txt
备注:奇数行是用户名,偶数行是密码。例如:
alix
123456
(4) 生成虚拟数据库文件(需使用到db_load)
yum -y install db4-utils db4-devel db4-4.3
db-load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
(5) 配置PAM文件,用来验证客户端
vim /etc/pam.d/vsftpd
authrequiredpam_userdb.sodb=/etc/vsftpd/vuser
accountrequiredpam_userdb.sodb=/etc/vsftpd/vuser
(6)修改虚拟数据库文件的权限
chmod 700 /etc/vsftpd/vuser.db
(7) 增加一个系统用户vuser,用于匿名用户的映射。
mkdir /data
useradd -d /data vuser
chown vuser.vuser /data
usermod -s /sbin/nologinvuser
(8) 修改主配置文件vsftpd.conf,添加:
guest_enable=YES ##激活虚拟用户
guest_uaername=vuser##把虚拟用户绑定为系统账户vuser
pam_service_name=vuser##使用pam认证
(9) 添加虚拟用户的配置文件
vim /etc/vsftpd/vsftpd.conf
添加:user_config_dir=/etc/vsftpd/vsftpd_user_conf
(10) 创建vsftpd_user_conf目录
mkdir /etc/vsftpd/vsftpd_user_conf
(11) 设置虚拟用户配置文件,与虚拟用户名相同
touch /etc/vsftpd/vsftpd_user_conf/testuser
(12) 编辑虚拟用户配置文件
vim /etc/vsftpd/vsftpd_user_conf/testuser
anon_world_readable_only=NO ###浏览FTP目录和下载
anon_upload_enable=YES ###允许上传
anon_mkdir_write_enable=YES ###建立和删除目录
anon_other_write_enable=YES ####改名和删除文件
local_root=/ftpdir/ #### 指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录。
备注:一定要检查后面是否有空格。
(13)启动
/etc/init.d/vsftpd restart
三。添加新的虚拟用户
添加虚拟用户
vim /etc/vsftpd/vuser.txt
web2
123456
生成库文件
db-load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
编辑虚拟用户的配置文件
touch /etc/vsftpd/vsftpd_user_conf/web2
vim /etc/vsftpd/vsftpd_user_conf/web2
anon_world_readable_only=NO ###浏览FTP目录和下载
anon_upload_enable=YES ###允许上传
anon_mkdir_write_enable=YES ###建立和删除目录
anon_other_write_enable=YES ####改名和删除文件
local_root=/ftpdir/ #### 指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录。
创建用户家目录
mkdir /ftpdir/web2
修改权限
chown -R vuser.vuser /ftpdir/web2
加载vsftpd
/etc/init.d/vsftpd reload
本地连接:
ftp
(需要把vsftpd.conf 里的ssl关了)
lftp
(在 /etc/l里添加 set ssl:verify-certificate no)
四、配置ssl
1、安装包
apt-get -y install openssl
2、创建一个证书(时间365天)并填写相关一些信息
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -out /etc/ssl/certs/vsftpd.pem -keyout /etc/ssl/certs/vsftpd.pem
Generating a 2048 bit RSA private key
..........+++
.............+++
writing new private key to '/etc/ssl/certs/vsftpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:shanghai
Locality Name (eg, city) []:shanghai
Organization Name (eg, company) [Internet Widgits Pty Ltd]:aaa
Organizational Unit Name (eg, section) []:aaa
Common Name (e.g. server FQDN or YOUR name) []:aaa
Email Address []:
3、修改权限
chmod 0400 /etc/ssl/certs/vsftpd.pem
4、ssl具体配置/etc/vsftpd.conf最后添加
ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
ssl_sslv2=YES
ssl_sslv3=YES
ssl_tlsv1=YES
5、配置说明
ssl_enable=YES #开启vsftpd对ssl协议的支持
ssl_sslv2=YES #支持SSL v2 protocol
ssl_sslv3=YES #支持SSL v3 protocol
ssl_tlsv1=YES #支持TSL v1
rsa_cert_file=/etc/ssl/certs/vsftpd.pem #存放证书地方
6、重启服务
/etc/init.d/vsftpd restart
Stopping FTP server: vsftpd.
Starting FTP server: vsftpd.
7、测试
1)lftp fileftp:'redhat'@192.168.1.124
ls: Fatal error: Certificate verification: Not trusted
解决在/etc/l文件中添加1行到最后
set ssl:verify-certificate no
再登录一次就OK了
2)查看日志
Sat Aug 1 13:52:23 2015 [pid 2] CONNECT: Client "192.168.1.124"
Sat Aug 1 13:52:23 2015 [pid 2] DEBUG: Client "192.168.1.124", "Connection terminated without SSL shutdown - buggy client?"
Sat Aug 1 13:56:25 2015 [pid 2] CONNECT: Client "192.168.1.120"
Sat Aug 1 13:56:25 2015 [pid 1] [fileftp] OK LOGIN: Client "192.168.1.120"
Linux下配置FTP服务器它可运行在Linux、Solaris等系统中,支持很多其他的FTP 服务器不支持的特征:
非常高的安全性需求
带宽限制
良好的可伸缩性
创建虚拟用户的可能性
分配虚拟IP地址的可能性
一、vsftpd的启动
#service vsftpd start
如果允许用户匿名访问,需创建用户ftp和目录/var/ftp
# mkdir /var/ftp
# useradd –d /var/ftp ftp
二、vsftpd的配置
Vsftpd的配置文件存放在/etc/vsftpd/vsftpd.conf 我们可根据实际数要对如下信息进行配置:
1. 连接选项
☆监听地址和控制端口
(1) listen_address=ip address
定义主机在哪个IP 地址上监听FTP请求。即在哪个IP地址上提供FTP服务。
(2) listen_port=port_value
指定FTP服务器监听的端口号。默认值为21。
2. 性能与负载控制
☆超时选项
(1) idle_session_timeout=
空闲用户会话的超时时间,若是超过这段时间没有数据的传送或是指令的输入,则会被迫断线。默认值是300s
(2) accept_timeout=numerical value
接受建立联机的超时设定。默认值为60s
☆负载选项
(1) max_clients= numerical value
定义FTP服务器最大的兵法连接数。当超过此连接数时,服务器拒绝客户端连接。默认值为0,表示不限最大连接数。
(2) max_per_ip= numerical value
定义每个IP地址最大的并发连接数目。超过这个数目将会拒绝连接。此选项的设置将会影响到网际快车、迅雷之类的多线程下载软件。默认值为0,表示不限制。
(3) anon_max_rate=value
设定匿名用户的最大数据传输速度,以B/s为单位。默认无。
(4) local_max_rate=value
设定用户的最大数据传输速度。以B/s为单位。默认无。此选项对所有的用户都生效。
3. 用户选项
vsftpd的用户分为3类:匿名用户、本地用户(local user)及虚拟用户(guest)
☆ 匿名用户
(1) anonymous_enable=YES|NO
控制是否允许匿名用户登录
(2) ftp_username=
匿名用户使用的系统用户名。默认情况下,值为ftp
(3) no_anon_password= YES|NO
控制匿名用户登录时是否需要密码。
(4) anon_root=
设定匿名用户的根目录,即匿名用户登录后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/
(5) anon_world_readable_only= YES|NO
控制是否只允许匿名用户下载可阅读的文档。YES,只允许匿名用户下载可阅读的文件。NO,允许匿名用户浏览整个服务器的文件系统。
(6) anon_upload_enable= YES|NO
控制是否允许匿名用户上传文件。除了这个参数外,匿名用户要能上传文件,还需要两个条件,write_enable参数为YES;在文件系统上,FTP匿名用户对某个目录有写权限。
(7) anon_mkdir_wirte_enable= YES|NO
控制是否允许匿名用户创建新目录。在文件系统上,FTP匿名用户必须对新目录的上层目录拥有写权限。
(8) anon_other_write_enbale= YES|NO
控制匿名用户是否拥有除了上传和新建目录之外的`其他权限。如删除、更名等。
(9) chown_uploads= YES|NO
是否修改匿名用户所上传文件的所有权。YES,匿名用户上传得文件所有权改为另一个不同的用户所有,用户由chown_username参数指定。
(10) chown_username=whoever
指定拥有匿名用户上传文件所有权的用户。
☆本地用户
(1) local_enable= YES|NO
控制vsftpd所在的系统的用户是否可以登录vsftpd。
(2) local_root=
定义本地用户的根目录。当本地用户登录时,将被更换到此目录下。
☆虚拟用户
(1) guest_enable= YES|NO
启动此功能将所有匿名登入者都视为guest
(2) guest_username=
定义vsftpd的guest用户在系统中的用户名。
4. 安全措施
☆用户登录控制
(1) /etc/vsftpd.ftpusers
Vsftpd禁止列在此文件中的用户登录FTP服务器。此机制是默认设置的。
(2) userlist_enable= YES|NO
此选项激活后,vsftpd将读取userlist_file参数所指定的文件中的用户列表。
(3) userlist_file=/etc/vsftpd.user_list
指出userlist_enable选项生效后,被读取的包含用户列表的文件。默认值是/etc/vsftpd.user_list
(4) userlist_deny= YES|NO
决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。userlist_enable选项启动后才能生效。默认值为YES,禁止文中的用户登录,同时不向这些用户发出输入口令的指令。NO,只允许在文中的用户登录FTP服务器。
☆目录访问控制
(1) chroot_list_enable= YES|NO
锁定某些用户在自己的目录中,而不可以转到系统的其他目录。
(2) chroot_list_file=/etc/vsftpd/chroot_list
指定被锁定在主目录的用户的列表文件。
(3) chroot_local_users= YES|NO
将本地用户锁定在主目中。
7.9 用vsftpd 配置基于IP的虚拟FTP 服务器配置虚拟IP 地址
建立虚拟FTP 的服务器目录并设置适当的权限
建立虚拟FTP 的服务器的xinetd 配置文件
建立虚拟FTP 的服务器的主配置文件
配置独立启动的虚拟FTP 的服务器要有单独的主配置文件,即原主机的主配置文件和虚拟主机的配置文件不能重名。
⑴ 查看本机现有的IP 地址
# ifconfig |grep -1 eth0
eth0 Link encap:Ethernet HWaddr 00:50:56:C7:22:DF
inet addr:192.168.1.222 Bcast:192.168.1.255 Mask:255.255.255.0
//可以看出本机的第一个网络接口eth0 的IP 为192.168.1.222
⑵ 下面配置一个虚拟网络接口eth0:1
# ifconfig eth0:1 192.168.1.234 up
⑶ 下面建立虚拟FTP 的服务器目录
# mkdir -p /var/ftp2/pub
//确保目录具有如下的权限
# ll -d /var/ftp2
drwxr-xr-x 3 root root 4096 3 月12 03:00 /var/ftp2
# ll -d /var/ftp2/pub
drwxr-xr-x 2 root root 4096 3 月12 03:00 /var/ftp2/pub
⑷ 在下载目录中生成测试文件
# echo "hello"/var/ftp2/pub/test_file
⑸ 下面创建此虚拟服务器的匿名用户所映射的本地用户ftp2
# useradd -d /var/ftp2 -M ftp2
⑹ 修改原独立运行服务器的配置文件/etc/vsftpd/vsftpd.conf
# vi /etc/ vsftpd/vsftpd.conf
// 添加listen = 192.168.1.222
// 将原FTP 服务绑定到eth0 接口,之后保存退出vi
⑺ 生成新的虚拟FTP 服务器的配置文件/etc/vsftpd/vsftpd2.conf
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf
⑻ 更改新的配置文件/etc/vsftpd/vsftpd2.conf
# vi /etc/vsftpd/vsftpd2.conf
//在此文件添加
//listen_address= 192.168.1.234
//将虚拟FTP 服务绑定到eth0:1 接口
⑼ 修改如下的配置语句行:
// ftpd_banner=This FTP server is anonymous only.
//修改为:
// ftpd_banner=This is the alternative FTP site.
⑽ 添加如下的配置语句:
// ftp_username=ftp2
//使此虚拟服务器的匿名用户映射到本地用户ftp2
//这样匿名用户登录后才能进入本地用户ftp2 的/var/ftp2 目录
//修改后,保存退出vi
⑾ 重启服务器:
service vsftpd restart
启动虚拟FTP服务器
Vsftpd /etc/vsftpd/vsftpd2.conf
CentOS7安装及配置vsftpd-精简绝版备注:如果后期想变更此用户的上传目录到
(/run/media/root/xxx/wwwroot/ xxx.org ),
请使用下面的命令:
输入怎么想设置的密码则可。
(1)当我们限定了用户不能跳出其主目录之后,使用该用户登录FTP时往往会遇到这个错误:
500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
(2)从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,
则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录
的写权限,注意把目录替换成你自己的。
或者你可以在vsftpd的配置文件中增加下列一项:
allow_writeable_chroot=YES
(3)使用cmd命令容器发生
500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list错误
解决:修改vsftpd.conf配置文件,注释以下内容
(4)本地使用ftpClient调试是发生
java.net.SocketException: Connection reset异常
解决:在本地电脑执行以下命令
netsh advfirewall set global StatefulFTP disable
# 启动服务
systemctl start vsftpd.service
# 停止服务
systemctl stop vsftpd.service
# 重启服务
systemctl restart vsftpd.service
# 服务状态查看
systemctl status vsftpd.service
# 设置开机启动
systemctl enable vsftpd
1
目录:1、国内电信VPS与香港VPS,速度会相差很大吗?2、电信VPS主机,哪家的比较好?3、VPS电信独享6M和多线独享3M那个好?国内电信VPS与香...