如何在linux上搭建ftp服务器

如何在linux上搭建ftp服务器,第1张

在创建FTP服务器之有先命令: ps -ef |grep vsftpd
查一下系统有没有安装vsftpd这个服务器,如果出现如下图所示的界面说明没有安装。
然后再执行:yum install vsftpd -y
进行在线安装vsftpd这个服务。
安装成功以后需要把匿名登陆的这个功能关闭了。
使用命令: vim /etc/vsftpd/vsftpdconf
然后在里成找到:‍
anonymous_enable=NO
然后再查看一下vsftpd这个服务有没有启动。
使用命令: chkconfig --list
如果你如下图所示一样没有启动。
没有启动使用启动:chkconfig --level 35 vsftpd on
再接下来就是创建用户名。
创建用户名:useradd jingyan
再然后就是创建密码。
命令:passwd jingyan
再输入两次密码就可以了。
最后重启一下服务:service vsftpd start
如果出现启动失败则可以使用:/etc/rcd/initd/vsftpd restart
成功链接FTP服务器上。

在LINXU平台上使用的FTP软件有Wu-ftpd、Proftpd和vsftpd等。Wu-ftpd的历史悠久,是最流行的FTP服务器程序,稳定、出色,但发布较早,安全不及Proftpd及vsftpd。Proftpd在Wu-ftpd之后开发,安全性及稳定性有所提高。而vsftpd则是在Proftpd之后开发的,意为Very Sucure,吸取了Wu-ftpd和Proftpd的优点,安全性、速度、稳定性都有很大提高。
RHEL4(AS)中vsftpd的RPM软件包在第1张光盘中,名为vsftpd-201-5i386rpm。默认情况下没有安装。Vsftpd的主配置文件是/etc/vsftpdconf。未修改的主配置文件去掉注释后如下(“;”后为解释):
anonymous_enable=YES ;是否允许匿名访问
local_enable=YES ;是否允许本地用户登录
write_enable=YES ;是否允许本地用户写入
local_umask=022 ;生向掩码(文件生成掩码),跟权限有关,我记不住了,有兴趣的朋友可以去查查,知道的朋友也请告诉我一下
dirmessage_enable=YES ;切换到FTP中的某目录时,是否显示该目录下的隐含文件“message”
xferlog_enable=YES ;是否启用启用上传和下载日志
connect_from_port_20=YES ;是否启用FTP数据端口的连接请求
xferlog_std_format=YES ;是否让FTP使用ftpd xferlog日志格式
pam_service_name=vsftpd ;设置PAM认证服务的配置文件,位于/etc/pamd目录下
userlist_enable=YES ;需与userlist_file配合使用,稍后介绍
listen=YES ;是否处于独立启动模式
tcp_wrappers=YES ;为YES时,以tcp_wrappers作为主机访问控制方式
(去掉后,vsftpd的配置文件就这么一点^_^。)
/etc/vsftpdftpusers保存着不允许进行FTP登录的用户帐户,通常是权限很高的用户,以提高FTP的安全。
至于/etc/vsftpduser_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/vsftpdftpusers
…………(后略)
前面说的userlist_enalbe就跟这有关(重点是第二、三行)
另外,/vsr/ftp是匿名用户的宿主目录
配置vsftpd的虚拟用户:
1 建立虚拟用户口令库文件(奇数行为用户名,偶数行为密码):
[root@localhostlocaldomain]cat vsftpd
abc
abc12321cba
efg
vsftpdconf
2 生成认证文件(db_load生成认证文件,“-f”用于指明虚拟用户的口令库文件,即:vsftpd *** 作中,口令库文件名可随便取“-t hash”指加密方式)
db_load -T -t hash -f vsftpd /etc/vsftpd/vsftpd_logindb
3.设置权限,以提高安全:
chmod 600 /etc/vsftpd/vsftpd_logindb
4 建立虚拟用户的PAM文件:
cat /etc/pamd/vsftpdvu
auth required /lib/security/pam_userdbso db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdbso db=/etc/vsftpd/vsftpd_login
5建立虚拟用户的目录,并设置相应权限:
useradd -d /home/vsftpd virtual
chmod 700 /home/vsftpd/
6 编辑vsftpd的配置文件:
vi /etc/vsftpd/vsftpdconf
guest_enable=yes
guest_username=virtual
pam_service_name=vsftpdvu
7 对虚拟用户设置不同权限:
vi /etc/vsftpd/vsftpdconf
user_config_dir=/etc/vsftpd_user_conf ;设置主配置文件
(:wq #保存退出)
mkdri /etc/vsftpd_user_conf
vi /etc/vsftpd_user_conf/abc ;为虚拟用户配置权限
anon_world_readable_only=no ;用户可以浏览目录并下载文件
anon_upload_enable=yes ;用户可以上传文件
anon_mkdir_write_enable=yes ;用户可以添加和删除目录
anon_other_write_enable=yes ;用户可以进行其它 *** 作,如改名、删除文件等。
(:wq)
service vsftpd restart
如果只想让用户下载的话,则配置为:
anon_world_readable_only=no
好了,自个儿看效果吧!!!
常见问题:
1无法匿名访问?
可能是vsftpdconf中的anonyoums_enable出的错,或者是你根本就没连接到服务器,也有可能是服务器的iptables出的问题(过滤掉了),这种情况下一般与selinux无关。还有就是服务未运行。
2创建的虚拟用户无法访问vsftpd?
原因或许是在创建虚拟用户的时候出的错,如果无法使用虚拟用户访问vsftpd的时候,建议先检查在创建虚拟用户时,打错什么字没有,如果还是没有检查出什么问题来的话,建议你直接推倒重做。还是一点差点忘记说了,就是在创建虚拟用户的时候,尽量将虚拟用户的密码设长一点、复杂一点,我在测试的时候,就是因为密码太短而几次没有成功。
3在cmd下用虚拟用户登录vsftpd时,出现“200 PORT command successful Consider using PASV”的字样是怎么回事啊?
你所访问的电脑上的防火墙在做怪!!!我就上过这个当!!!
4其它问题?
一般情况下,vsftpd出现问题大多数都是因为配置文件出错的,如果想要测试的话,建议在命令行了进行测试,当vsftpd出现问题时,它会在访问端的界面上显示原因。另外不成功的原因是因为服务器上的防火墙没有配置好。

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。并且是一个完全免费开放源码的ftp软件 方法/步骤 一、用在线安装 yum install vsftpd pam db四-y 使用命令将vsftp配置为系统服务 chkconfig --level 三5 vsftpd on 二、配置vsftpd服务的宿主 useradd vsftpdadmin -s /sbin/nologin -M 这个vsftpdadmin只是用来替换root的,并不需要登录 三、建立ftp虚拟宿主帐户 useradd vsftpuser -s /sbin/nologin -M 这ftpuser只个虚拟帐户的宿主,本身是不用登录的 四、配置vsftpdconf 配置之前要先备份一下原来的 vi /etc/vsftpd/vsftpdconf anonymous_enable=YES --> anonymous_enable=NO //不允许匿名用户访问,默认是允许。 chroot_list_enable=YES --> chroot_list_enable=YES //不允许FTP用户离开自己主目录 增加 #设定虚拟用户个人Vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个Vsftp虚拟用户个性的配置文件,一个需要注意的地方就是这些配置文件名必须和虚拟用户名相同。 user_config_dir=/etc/vsftpd/vconf/userlocal #这一步非常重要,要记住这一步。一会要根据这个配置新建文件夹 #修改端口号 ftp_data_port=四0四0 reverse_lookup_enable=NO pasv_enable=yes pasv_min_port=四吧漆90 pasv_max_port=四吧吧00 listen_port=四吧漆9陆 #端口可以根据你自己实际情况配置,也可以用默认端口。但是为了安全考虑根据自己实际情况配置 5、建立虚拟用户文件 mkdir /etc/vsftpd/vconf touch /etc/vsftpd/vonf/vir_user 陆、建立虚拟用户 vi /etc/vsftpd/vonf/vir_user virtualuser //用户名 一二三四5陆漆吧 //密码 漆、生成数据库 db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_userdb 吧、设置数据库文件访问权限 chmod 陆00 /etc/vsftpd/vconf/vir_user chmod 陆00 /etc/vsftpd/vconf/vir_userdb 9、修改/etc/pamd/vsftpd auth sufficient pam_userdbso db=/etc/vsftpd/vconf/vir_user account sufficient pam_userdbso db=/etc/vsftpd/vconf/vir_user (要想同时使用系统用户和虚拟用户,就需要把required改成sufficient) 一0 根据第四步配置的user_config_dir=/etc/vsftpd/vconf/userlocal 新建userlocal文件夹 mkdir /etc/vsftpd/vconf/userlocal 一一、根据第六步建立的用户名建立一个文件 例如第六步建立的帐号是virtualuser,则新建一个virtualuser文件 touch /etc/vsftpd/conf/userlocal/virtualuser 一二、编辑该用户访问的文件路径 vi /etc/vsftpd/conf/userlocal/virtualuser 输入如下 local_root= //需要指定的中国站根目录,例如至美baidu中国所在文件夹为/至美/baidu anonymous_enable=NO #禁止匿名用户访问 write_enable=YES #开启写权限 local_umask=0二二 #上传后文件的权限掩码 anon_upload_enable=NO #关闭匿名下载 anon_mkdir_write_enable=NO #关闭匿名创建文件夹 idle_session_timeout=陆0 #会话自动关闭时间 陆0是因分钟 data_connection_timeout=一二0 #数据延迟时间 max_clients=一0 #最大连接数 max_per_ip=5 #同一个ip同时允许5个IP联机 local_max_rate=一0四吧5漆陆 #实体用户传输速度限制,单位B/s。0代表不限制 一三、配置就此完成,重启vsftpd服务:service vsftpd restart。 查看系统端口状态:netstas -tulnp。如果能看到四吧漆9陆端口正在被vsftpd调用说明启动成功。 如有不清楚的可以再继续看看百度经验

安装vsFTP软件 启动服务之后 useradd -d /houme/FTPTEST -m FTPTEST passwd FTPTEST 输入密码 这样就有一个FTP用户可以用FTP来连接你的FTP服务器 当然记得设置分配的目录的权限和组权限

Red Hat Linux下架设FTP服务器

FTP,即File Transfer Protocol,文件传输协议。它是目前Internet上最流行的数据传送方法之一。利用FTP协议,我们可以在FTP服务器和FTP客户端之间进行双向数据传输,既可以把数据从FTP服务器上下载到本地客户端,又可以从客户端上传数据到远程FTP服务器。

1安装vsftpd服务器

vsftpd是目前Linux最好的FTP服务器工具之一,其中的vs就是“Very Secure”(很安全)的缩写,可见它的最大优点就是安全,除此之外,它还具有体积小,可定制强,效率高的优点。

如果选择完全安装RedHat Linux 90,则系统会默认安装vsftpd服务器。我们可以在终端命令窗口输入以下命令进行验证:
[root@ahpeng root] rpm -qa | grep vsftpd

如果结果显示为“vsftpd-113-8”,则说明系统已经安装vsftpd服务器。如果安装RedHat Linux 90时没有选择vsftpd服务器,则可以在图形环境下单击“主菜单→系统设置→添加删除应用程序”菜单项,在出现的“软件包管理”对话框里确保选中“FTP服务器”选项,然后单击“更新”按钮,按照屏幕提示插入第3张安装光盘即可开始安装。

另外,你也可以直接插入第3张安装光盘,定位到/RedHat/RPMS下的vsftpd-113-8i386rpm安装包,然后在终端命令窗口运行以下命令即可开始安装进程:
[root@ahpeng RPMS] rpm -ivh vsftpd-113-8i386rpm

2启动/重新启动/停止vsftpd服务

从Red Hat Linux90开始,vsftpd默认只采用standalone方式启动vsftpd服务,方法是在终端命令窗口运行以下命令:
[root@ahpeng root] /etc/rcd/initd/vsftpd start

重新启动vsftpd服务:
[root@ahpeng root] /etc/rcd/initd/ vsftpd restart

关闭vsftpd服务:
[root@ahpeng root] /etc/rcd/initd/ vsftpd stop

确认vsftpd服务已经启动后,我们可以在任意一台Windows主机的DOS命令窗口里输入“ftp FTPAddres”(用实际的FTP服务器IP地址或者域名代替FTPAddres),注意用户名、密码都是ftp(ftp是匿名用户的映射用户账号),如下所述:
Microsoft Windows XP [版本 512600]
(C) 版权所有 1985-2001 Microsoft Corp
F:\Peter>;ftp FTPAddress
Connected to FTPAddress
220 (vsFTPd 113) //vsftpd的响应请求
User (FTPAddress:(none)): ftp //输入用户账号ftp
331 Please specify thepassword
Password: //输入密码ftp
230 Login successful Havefun
ftp>;

3vsftpd的配置

在Red HatLinux 90里的vsftpd共有3个配置文件,它们分别是:
vsftpdftpusers:位于/etc目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等。
vsftpduser_list:位于/etc目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd conf配置文件里启用userlist_enable=NO选项时才允许访问。
vsftpdconf:位于/etc/vsftpd目录下。它是一个文本文件,我们可以用Kate、Vi等文本编辑工具对它进行修改,以此来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。

(1)用户登录控制
anonymous_enable=YES,允许匿名用户登录。
no_anon_password=YES,匿名用户登录时不需要输入密码。
local_enable=YES,允许本地用户登录。
deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。
banned_email_file=/etc/vsftpdbanned_emails,当启用deny_email_enable功能时,所需的电子邮件黑名单保存路径(默认为/etc/vsftpdbanned_emails)。

(2)用户权限控制
write_enable=YES,开启全局上传权限。
local_umask=022,本地用户的上传文件的umask设为022(系统默认是077,一般都可以改为022)。
anon_upload_enable=YES,允许匿名用户具有上传权限,很明显,必须启用write_enable=YES,才可以使用此项。同时我们还必须建立一个允许ftp用户可以读写的目录(前面说过,ftp是匿名用户的映射用户账号)。
anon_mkdir_write_enable=YES,允许匿名用户有创建目录的权利。
chown_uploads=YES,启用此项,匿名上传文件的属主用户将改为别的用户账户,注意,这里建议不要指定root账号为匿名上传文件的属主用户!
chown_username=whoever,当启用chown_uploads=YES时,所指定的属主用户账号,此处的whoever自然要用合适的用户账号来代替。
chroot_list_enable=YES,可以用一个列表限定哪些本地用户只能在自己目录下活动,如果chroot_local_user=YES,那么这个列表里指定的用户是不受限制的。
chroot_list_file=/etc/vsftpdchroot_list,如果chroot_local_user=YES,则指定该列表(chroot_local_user)的保存路径(默认是/etc/vsftpdchroot_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)用户连接和超时选项
idle_session_timeout=600,可以设定默认的空闲超时时间,用户超过这段时间不动作将被服务器踢出。
data_connection_timeout=120,设定默认的数据连接超时时间。

(4)服务器日志和欢迎信息
dirmessage_enable=YES,允许为目录配置显示信息,显示每个目录下面的message_file文件的内容。
ftpd_banner=Welcome to blah FTP service,可以自定义FTP用户登录到服务器所看到的欢迎信息。
xferlog_enable=YES,启用记录上传/下载活动日志功能。
xferlog_file=/var/log/vsftpdlog,可以自定义日志文件的保存路径和文件名,默认是/var/log/vsftpdlog。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12615302.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存