① 如何对CentOS FTP服务配置
vsftpd作为FTP服务器,在Linux系统中是非常常用的。下面我们介绍如何在centos系统上安装vsftp。
什么是vsftpd
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。
vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。
安装vsftpd
1、以管理员(root)身份执行以下命令
yum install vsftpd
2、设置开机启动vsftpd ftp服务
chkconfig vsftpd on
3、启动vsftpd服务
service vsftpd start
管理vsftpd相关命令:
停止vsftpd: service vsftpd stop
重启vsftpd: service vsftpd restart
配置防火墙
打开/etc/sysconfig/iptables文件
vi /etc/sysconfig/iptables
在REJECT行之前添加如下代码
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
保存和关闭文件,重启防火墙
service iptables start
配置vsftpd服务器
默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。
vi /etc/vsftpd/vsftpd.conf
添加ftp用户
下面是添加ftpuser用户,设置根目录为/home/wwwroot/ftpuser,禁止此用户登录SSH的权限,并限制其访问其它目录。
1、修改/etc/vsftpd/vsftpd.conf
将底下三行
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
改为
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
3、增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。
useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
4、设置用户口令
passwd ftpuser
5、编辑文件chroot_list:
vi /etc/vsftpd/chroot_list
内容为ftp用户名,每个用户占一行,如:
peter
john
6、重新启动vsftpd
service vsftpd restart
另外,如果觉得以后管理ftp用户名嫌麻烦,可以使用centos官方发布的脚本管理。地址如下:
http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users
出现的错误
1、500 OOPS: cannot change directory
解决方法:
在终端输入命令:
setsebool -P ftpd_disable_trans 1
service vsftpd restart
就OK了!
原因:这是因为服务器开启了selinux,这限制了FTP的登录。
② vps centos 6 64bit怎么安装ftp服务器
1.先检查有没有安装 rpm -q vsftpd
如果没有安装 yum install vsftpd
2.先关闭防火墙进行调试.
service iptables stop
或者一步到位 添加规则允许21端口通行
vi /etc/sysconfig/iptables
添加一条
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
为了让FLASHFXP之类的软件更好的连接服务器,得让VSFTPD支持被动模式才行:
b.防火墙配置开放:
-A INPUT -p tcp --dport 30000:30100 -j ACCEPT
重启防火墙即可
service iptables restart
这时应该可以用 winscp进行 SFTP连接了 ROOT帐户
现在开始设置FTP 默认的已经可以用匿名登录了
二。备份 etc/vsftpd/vsftpd.conf
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
编辑vsftpd.config文件 vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
设定不允许匿名用户访问。
为了让FLASHFXP之类的软件更好的连接服务器,得让VSFTPD支持被动模式才行,上面已经开通相应端口防火墙,在最后加入
pasv_enable=YES
pasv_max_port=30100
pasv_min_port=30000
(上面的30000--30100端口号可以是其它的,在此举例)
/usr/sbin/setenforce 0 立刻关闭 SELINUX
#mkdir /tmp/test //首先创建好目录
#adser -d /tmp/test -g ftp -s /sbin/nologin test
//-s /sbin/nologin是让其不能登陆系统,-d 是指定用户目录为/tmp/test ,即该账户只能登陆ftp,却不能用做登陆系统用。-g 是指定为FTP用户组
#passwd test
Changing password for user beinan.//接下来会出现让你设置新的密码
**************************************************
【如果要删除用户,用下面代码:
userdel test //userdel + 用户 即可删除ftp用户】
***********************************************************
有必要的话 设置TEST目录权限
修改/var/www目录属性:
$ chmod -R 777 /var/www 递归地给此目录下所有文件和子目录的读、写、执行权限
$ chgrp -R ftp /var/www 递归地把此目录及该目录下所有文件和子目录的组属性设置成ftp组
三。接着 限制用户目录,不得改变目录到上级
修改/etc/vsftpd/vsftpd.conf
将这两行
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
注释去掉
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
新增一个文件: /etc/vsftpd/chroot_list
内容写需要限制的用户名:
test
重新启动vsftpd
# service vsftpd restart
四。最后为了防止服务器由于断电、重启等现象发生,导致ftp进程在开机后未启动,将其添加到开机启动文件中:
(1)找到/etc/rc.local文件
(2)打开该文件,在最后一行添加:service vsftpd start
(3)保存,退出
③ centos 怎么开启ftp服务
yum -y install vsftpd
chkconfig --level 235 vsftpd
/etc/init.d/vsftpd start
④ 求高手,想在CentOS下面搭个FTP服务器
一:安装vsftpd
查看是否已经安装vsftpd
1.rpm -qa | grep vsftpd
2.#如果没有,就安装,并设置开机启动
3.yum -y install vsftpd
4.chkconfig vsftpd on
二:基于虚拟用户的配置
所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。
修改配置文件
打开/etc/vsftpd/vsftpd.conf,做如下配置
1.anonymous_enable=NO #设定不允许匿名访问
2.local_enable=YES #设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
3.chroot_list_enable=YES #使用户不能离开主目录
4.ascii_upload_enable=YES
5.ascii_download_enable=YES #设定支持ASCII模式的上传和下载功能
6.pam_service_name=vsftpd #PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
7.以下这些是关于vsftpd虚拟用户支持的重要配置项,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加
8.guest_enable=YES #设定启用虚拟用户功能
9.guest_username=ftp #指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了
10.user_config_dir=/etc/vsftpd/vuser_conf #设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的11.CentOS FTP服务文件(配置文件名=虚拟用户名
进行认证
12.chroot_list_file=/etc/vsftpd/vuser_passwd.txt
首先,安装Berkeley DB工具,很多人找不到db_load的问题就是没有安装这个包。
1.yum install db4 db4-utils
然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码
1.test
2.123456
接着,生成虚拟用户认证的db文件
1.db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:
1.auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
2.account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
最后,创建虚拟用户配置文件
1.mkdir /etc/vsftpd/vuser_conf/
2.vi /etc/vsftpd/vuser_conf/test #文件名等于vuser_passwd.txt里面的账户名,否则下面设置无效
3.内容如下
4.local_root=/ftp/www #虚拟用户根目录,根据实际情况修改
5.write_enable=YES
6.anon_umask=022 #掩码
7.anon_world_readable_only=NO
8.anon_upload_enable=YES
9.anon_mkdir_write_enable=YES
10.anon_other_write_enable=YES
设置Selinux(如果你的selinux是开启的话)
1.setsebool -P ftp_home_dir=1 #设置ftp可以使用home目录
2.sersebool -P allow_ftpd_full_access=1 #设置ftp用户可以有所有权限
设置FTP根目录权限
1.mkdir /ftp/www #创建目录
2.chmod R 755 /ftp
3.chmod R 777 /ftp/www
最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限
设置防火墙
打开/etc/sysconfig/iptables
在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:
1.-A INPUT m state --state NEW m tcp p dport 21 j ACCEPT
然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:
1.service iptables restart
OK,运行“service vsftpd start”,你就可以访问你的FTP服务器了。
配置PASV模式
vsftpd默认没有开启PASV模式,现在FTP只能通过PORT模式连接,要开启PASV默认需要通过下面的配置
打开/etc/vsftpd/vsftpd.conf,在末尾添加
1.pasv_enable=YES #开启PASV模式
2.pasv_min_port=40000 #最小端口号
3.pasv_max_port=40080 #最大端口号
4.pasv_promiscuous=YES
在防火墙配置内开启40000到40080端口
1.-A INPUT m state --state NEW m tcp p dport 40000:40080 j ACCEPT
重启iptabls和vsftpd
1.service iptables restart
2.service vsftpd restart
现在可以使用PASV模式连接你的FTP服务器了~
常见错误:
问题一:
可我按照配置步骤走完一遍后发现每次都是
530 Login incorrect
找来找去才发现我把验证用的vsftpd.vu创建在了etc的根目录,而不是/etc/pam.d/vsftpd.vu
问题二:
修改了上面的问题,还是不能登录,提示我:
500 OOPS:bad bool value in config file for:anon_world_readable_only
google了一把发现有人说是配置文件的末尾不能有空格,打开自己的配置文件一看,不止anon_world_readable_only这一行末尾,整个文件的末尾都有几个空格。唉,复制粘贴网页上的配置要谨慎啊。
问题三:
500 OOPS: vsftpd: cannot locate user specified in 'guest_username':aaA
这个问题很奇葩,最后发现是最后大小写的问题,应该是‘aaa’
所以注意一下细节,安装上面的步骤来是很简单的
⑤ centos怎么搭建ftp服务器
方法/步骤
一:安装vsftpd
查看是否已经安装vsftpd
二:基于虚拟用户的配置
所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。
修改配置文件
配置文件直接贴出来吧
三:使用Berkeley DB进行认证
yum install db4 db4-utils
然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码
接着,生成虚拟用户认证的db文件
编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:
最后,创建虚拟用户配置文件
设置FTP根目录权限
最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限
添加防火墙,把ftp的21端口开放 vi /etc/sysconfig/iptables
经过以上步骤我们就完成了ftp服务器的搭建,让我们畅游ftp吧
⑥ centos6 搭建的ftp服务器无法上传大文件
看下vsftp配置文件
idle_session_timeout=600
data_connection_timeout=300
再试试
其他的要看下日志文件看下是否有什么报错 比如你服务器做了配额
⑦ 求centos6上的vsftpd详细配置。
linux ftp上传文件_linux中ftp的配置管理
vsftpd是UNIX类操作体系上运行的办事器名称,它的名儿代表“very secure FTP daemon”,安全性是其预设与研发的1个重要方针。它可运行在Linux、Solaris等体系中,撑持许多其它的FTP 办事器不撑持的特性:
很是高的安全性需求
带放宽期限定
杰出的可伸缩性
始于虚拟用户的有可能性
分配虚拟IP地址的有可能性
1、vsftpd的开始工作
#service vsftpd start
要是许可用户佚名拜候,需始于用户ftp和目次/var/ftp
# mkdir /var/ftp
# useradd –d /var/ftp ftp
2、vsftpd的配备布置
Vsftpd的配备布置文件储存安放在/etc/vsftpd/vsftpd.conf 咱们可按照现实数要对于如次信息举行配备布置:
1. 毗连选项
☆监听地址和节制端口
⑴ listen_address=ip address
界说主机在哪1个IP 地址上监听FTP哀求。即在哪1个IP地址祭祀物品给FTP办事。
⑵ listen_port=port_value
指定FTP办事器监听的端标语。默许值为21。
2. 机能与负载节制
☆超时选项
⑴ idle_session_timeout=
余暇用户对于话的超不时间,如果是跨越最近时间没有数值的传送或者是指令的输入,则会被迫断线。默许值是300s
⑵ accept_timeout=numerical value
接管成立联机的超时设定。默许值为60s
☆负载选项
⑴ max_clients= numerical value
界说FTP办事器最大的兵书毗连数。当跨越此毗连数时,办事器拒绝客户端毗连。默许值为0,暗示不限最大毗连数。
⑵ max_per_ip= numerical value
界说每个IP地址最大的并发毗连数量。跨越这个数量将会拒绝毗连。此选项的设置将会影响到网际快车、迅雷什么的的多线程下载software。默许值为0,暗示不限定。
⑶ anon_max_rate=value
设定佚名用户的最大数值传道输送速率,以B/s为单元。默许无。
⑷ local_max_rate=value
设定用户的最大数值传道输送速率。以B/s为单元。默许无。此选项对于所有的用户都起作用。
3. 用户选项
vsftpd的用户分为3类:佚名用户、当地用户(local user)及虚拟用户(guest)
☆ 佚名用户
⑴ anonymous_enable=YES|NO
节制是不是许可佚名用户登录
⑵ ftp_username=
佚名用户施用的体系用户名。默许环境下,值为ftp
⑶ no_anon_password= YES|NO
节制佚名用户登录时是不是需要暗码。
⑷ anon_root=
设定佚名用户的根目次,即佚名用户登录后,被定位至此目次下。主配备布置文件中默许无此项,默许值为/var/ftp/
⑸ anon_world_readable_only= YES|NO
节制是不是只许可佚名用户下载可阅览的文档。YES,只许可佚名用户下载可阅览的文件。NO,许可佚名用户浏览全般办事器的文件体系。
⑹ anon_upload_enable= YES|NO
节制是不是许可佚名用户上传文件。除开这个参量外,佚名用户要能上传文件,还需要两个前提,write_enable参量为YES;在文件体系上,FTP佚名用户对于某个目次有写职权范围。
⑺ anon_mkdir_wirte_enable= YES|NO
节制是不是许可佚名用户始于新目次。在文件体系上,FTP佚名用户必需对于新目次的上层目次领有写职权范围。
⑻ anon_other_write_enbale= YES|NO
节制佚名用户是不是领有除开上传和新建目次以外的其它职权范围。如删去、改名等。
⑼ chown_uploads= YES|NO
是不是修改佚名用户所上传文件的占有权。YES,佚名用户上传患上文件占有权改成另外1个差别的用户所有,用户由chown_username参量指定。
⑽ chown_username=whoever
指定领有佚名用户上传文件占有权的用户。
☆当地用户
⑴ local_enable= YES|NO
节制vsftpd地点的体系的用户是不是可以登录vsftpd。
⑵ local_root=
界说当地用户的根目次。铛铛地用户登录时,将被改换至此目次下。
☆虚拟用户
⑴ guest_enable= YES|NO
开始工作此功效将所有佚名登入者都视为guest
⑵ guest_username=
界说vsftpd的guest用户在体系中的用户名。
4. 安全办法
☆用户登录节制
⑴ /etc/vsftpd.ftpusers
Vsftpd克制列在此文件中的用户登录FTP办事器。此机制是默许设置的。
⑵ userlist_enable= YES|NO
此选项拿获后,vsftpd将读取userlist_file参量所指定的文件中的用户列表。
⑶ userlist_file=/etc/vsftpd.user_list
指出userlist_enable选项起作用后,被读取的包罗用户列表的文件。默许值是/etc/vsftpd.user_list
⑷ userlist_deny= YES|NO
决议克制照旧只许可由userlist_file指定文件中的用户登录FTP办事器。userlist_enable选项开始工作后才气起作用。默许值为YES,克制文中的用户登录,同时不向这些个用户拍发输进口令的指令。NO,只许可在文中的用户登录FTP办事器。
☆目次拜候节制
⑴ chroot_list_enable= YES|NO
锁定某些用户在本身的目次中,而不成以转到体系的其它目次。
⑵ chroot_list_file=/etc/vsftpd/chroot_list
指定被锁定在主目次的用户的列表文件。
⑶ chroot_local_users= YES|NO
将当地用户锁定在主目中。
3、vsftpd办事器的配备布置实例:
基于IP的虚拟FTP办事器配备布置
假定办事器有两个IP地址,192.168.1.199和192.168.1.200。vsftpd是成立在192.168.1.199上的。此刻在192.168.1.200上再供给1个虚拟FTP办事器。
☆始于虚拟FTP办事器根目次
# mkdir –p /var/ftp2/pub
确保/var/ftp2和/var/ftp2/pub目次的所有者和组均为root,掩码为755
# chmod 755 /var/ftp2 # chmod 755 /var/ftp2/pub
# chown –R root /var/ftp2 # chown –R : root /var/ftp2
☆ 增长虚拟FTP办事器的佚名用户帐号ftp2
# useradd –d /var/ftp2 –M ftp2
☆ 始于虚拟FTP办事器的配备布置文件
复制本来的vsftpd.conf作为虚拟FTP办事器的配备布置文件,并修改相干参量
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf
# vi /etc/vsftpd/vsftpd2.conf
新增或者修改参量:
Listen=YES
Listen_address=192.168.1.200
ftp_username=ftp2
anon_root=/var/ftp2
并可参考vsftpd的配备布置部门的申明做其它配备布置,如:
•许可佚名用户上传文件
Write_enable=YES
Anon_world_readable_only=NO
Anon_upload_enable=YES
Anon_mkdir_write_enable=YES
始于佚名用户上传文件的目次,并设置职权范围:
# mkdir /var/ftp/incoming # chmod o+w /var/ftp/incoming
•勾销写职权范围
Write_enable=NO
Anon_upload_enable=NO
Anon_mkdir_write_enable=NO
Anon_other_write_enable=NO
•限定下载速率为80KB/s
Anon_max_rate=8000
•节制并发数,和每个IP地址的并发数
Max_clients=100
Max_per_ip=3
☆开始工作虚拟FTP办事器
# /usr/sbin/vsftpd /etc/vsftpd/vsftpd2.comf &
⑧ 有人成功在CENTOS 6以上的版本安装PURE-FTP吗
你好,
1.用UltraISO打开iso(如:CentOS-6.5-x86_64-bin-DVD1.iso)
2.然后点“启动”->"写入硬盘映像",硬盘驱动器是你的u盘,映像文件安装光盘iso,写入方式是USB-HDD+,点击“写入”按钮。完成后安装u盘就做好了
3 选第一项Install or upgrade an existing system,按ENTER键确认
4 选择chinese(simplified),这是设置语言为中文简体
5 选择US,设置为美式键盘
6 centos6.5系统在什么介质上,选择Hard drive 硬盘模式,然后选/dev/sda4,Directory holding images:系统在U盘的根目录下,不用设置它自己能找到,点击OK即可;
7 选第一项基本存储设备
8 主机名这个随意,默认自定义都行
9 点击配置网络吧
10 注意:自动连接那里要勾选上,因为装完系统开机后ip配置信息丢失,估计就是这里没有勾选的原因;
选择有线模式
IPv4设置
方法:手动
地址:这个根据实际情况来
DNS:根据实际情况来填
K
⑨ 如何在Centos下安装ftp服务器
启动命令:/etc/rc.d/init.d/vsftpd start
这时候可以使用ftp客户端连接。
vsftpd的权限貌似和系统权限有挂钩。
下面是抄来的配置解释vsftpd的配置
,例如root等。
vsftpd.user_list:位于/etc目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。
vsftpd.conf:位于/etc/vsftpd目录下。来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。
(1)CentOS系统用户登录控制
local_enable=YES,允许本地用户登录。
banned_email_file=/etc/vsftpd.banned_emails,当启用deny_email_enable功能时,所需的电子邮件黑名单保存路径(默认为/etc/vsftpd.banned_emails)。
(2)CentOS系统用户权限控制
write_enable=YES,开启全局上传权限。
local_umask=022,本地用户的上传文件的umask设为022(系统默认是077,一般都可以改为022)。
chown_username=whoever,当启用chown_uploads=YES时,所指定的属主用户账号,此处的whoever自然要用合适的用户账号来代替。
chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,则指定该列表(chroot_local_user)的保存路径(默认是/etc/vsftpd.chroot_list)。
nopriv_user=ftpsecure,指定一个安全用户账号,让FTP服务器用作完全隔离和没有特权的独立用户。这是vsftpd系统推荐选项。
async_abor_enable=YES,强烈建议不要启用该选项,否则将可能导致出错!
ascii_upload_enable=YES;ascii_download_enable=YES,默认情况下服务器会假装接受ASCⅡ模式请求但实际上是忽略这样的请求,启用上述的两个选项可以让服务器真正实现ASCⅡ模式的传输。
注意:启用ascii_download_enable选项会让恶意远程用户们在ASCⅡ模式下用“SIZE/big/file”这样的指令大量消耗FTP服务器的I/O资源。
这些ASCⅡ模式的设置选项分成上传和下载两个,这样我们就可以允许ASCⅡ模式的上传(可以防止上传脚本等恶意文件而导致崩溃),而不会遭受拒绝服务攻击的危险。
(3)CentOS系统用户连接和超时选项
idle_session_timeout=600,可以设定默认的空闲超时时间,用户超过这段时间不动作将被服务器踢出。
data_connection_timeout=120,设定默认的数据连接超时时间。
dirmessage_enable=YES,允许为目录配置显示信息,显示每个目录下面的message_file文件的内容。
xferlog_enable=YES,启用记录上传/下载活动日志功能。
xferlog_file=/var/log/vsftpd.log,可以自定义日志文件的保存路径和文件名,默认是/var/log/vsftpd.log。
以上,我们就完成了CentOS系统中FTP的配置工作。
⑩ 怎么配置centos5.3 ftp+apache
File Transfer Protocol
======== FTP =========
TCP 21 控制连接,传输FTP控制命令
TCP 20 数据连接,传输文件数据(主动模式)
====== Vsftpd ======
vsftpd 支持15000个用户并发连接
/etc/vsftpd/ftpusers (此文件内的用户禁止用于登录FTP服务)
/etc/vsftpd/user_list (存在userlist_enable=YES时启用)
userlist_deny=YES 禁止列表中的用户帐号登录
userlist_deny=NO 仅允许列表中的用户帐号登录
/usr/sbin/vsftpd (进程文件)
/etc/vsftpd/vsftpd.conf
/etc/pam.d/vsftpd (服务器认证本地用户的PAM接口配置文件)
====== Vsftpd Virtual Host ======
[root@CentOS ~]# ifconfig eth0:1 10.0.0.21 netmask 255.255.255.0 up
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth0:1
vi ifcfg-eth0:1
# Edit ======
DEVICE=eth0:1
BOOTPROTO=static
HWADDR=00:30:48:33:4D:D8
ONBOOT=yes
IPADDR=10.89.3.21
NETMASK=255.255.255.0
# End ======
[root@CentOS ~]# vi /etc/vsftpd/vsftpd.conf
listen=YES
listen_address=10.0.0.56
[root@CentOS ~]# /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
[root@CentOS ~]# useradd -d /var/ftp2 -s /sbin/nologin ftp2
[root@CentOS ~]# chown root:root /var/ftp2
[root@CentOS ~]# chmod 755 /var/ftp2
[root@CentOS ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf
[root@CentOS ~]# vi /etc/vsftpd/vsftpd2.conf
ftpd_banner=Welcome to virtual ftp server
ftp_username=ftp2
listen=YES
listen_address=10.0.0.21
[root@CentOS ~]# /usr/sbin/vsftpd /etc/vsftpd/vsftpd2.conf
====== Vsftpd Virtual Users ======
基于虚拟用户的vsftpd服务
vsftpd-2.0.5-10.el5
●[安装db4-utils工具]
rpm -ivh db4-utils-4.3.29-9.fc6.i386.rpm
●[新建虚拟用户所对应的系统帐号]
useradd -d /var/vuftp -s /sbin/nologin vuftp
chown root /var/vuftp/
chmod 775 /var/vuftp/
●[建立虚拟用户数据库]
奇数行为用户名,偶数行为上一行用户的密码
[root@CentOS ~]# vi /etc/vsftpd/vusers.list
usera
123
userb
456
●[转化生成vsftpd的DB数据库文件]
db_load -T -t hash -f vusers.list vusers.db
chmod 600 /etc/vsftpd/vusers.*
●[新建PAM认证文件]
[root@CentOS ~]# vi /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
●[修改或添加配置内容]
[root@CentOS ~]# vi /etc/vsftpd/vsftpd.conf
local_enable=YES //使用虚拟用户需要启用本地用户
pam_service_name=vsftpd.vu //修改使用的PAM文件位置
anon_root=/var/vuftp //指定默认目录
anon_umask=022 //设置虚拟用户上传文件的默认权限掩码
guest_enable=YES //启用用户映射功能
guest_username=vuftp //将映射用户指定为系统vuftp用户
max_clients=150 //最大客户端连接数
max_per_ip=5 //每一台主机可以连入的客户端数
anon_max_rate=100000 //限速100KB/S
user_config_dir=/etc/vsftpd/vusers_dir //指定虚拟用户配置目录位置
●[为不同虚拟用户建立独立的配置文件]
[root@CentOS ~]# mkdir /etc/vsftpd/vusers_dir
[root@CentOS ~]# vi /etc/vsftpd/vusers_dir/usera
local_root=/var/ftp
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_max_rate=500000
●[启动vsftpd服务]
/etc/init.d/vsftpd start
[设置启动等级]
chkconfig --level 35 vsftpd on
[root@CentOS ~]# iptables -t filter -I INPUT -p tcp --dport 21 -j ACCEPT
[root@CentOS ~]# iptables -t filter -I INPUT -p tcp --dport 20 -j ACCEPT
# 发布FTP服务可以载入以下两个模块解决数据传输端口不固定的问题
[root@CentOS ~]# modprobe ip_conntrack_ftp
[root@CentOS ~]# modprobe ip_nat_ftp
== END =============================================================
[root@CentOS ~]# wget ftp://192.168.0.1/FTP_File
[root@CentOS ~]# wget ftp://UserA:[email protected]/FTP_File
[root@CentOS ~]# lsof -i:21
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
vsftpd 3163 root 3u IPv4 12204 TCP *:ftp (LISTEN)
[root@pan ~]# netstat -anptu | grep vsftpd
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 3163/vsftpd
tcp 0 0 192.168.0.1:20 192.168.10.1:5007 ESTABLISHED 3766/vsftpd
tcp 0 0 192.168.0.1:20 192.168.10.1:5006 TIME_WAIT -
tcp 0 0 192.168.0.1:21 192.168.10.1:1655 ESTABLISHED 3764/vsftpd
[root@CentOS ~]# ps -elf | head -1 ; ps -elf | grep vsftpd
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
5 S root 3163 1 0 75 0 - 1146 341098 May13 ? 00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
FTP
getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
httpd_enable_ftp_server --> off
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> off
setsebool -P allow_ftpd_anon_write on