怎么用linux搭建ftp服务器

怎么用linux搭建ftp服务器,第1张

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调用说明启动成功。 如有不清楚的可以再继续看看百度经验

一、下载vsftpd软件

sudo apt-get install vsftpd

我这里已经是安装过了

二、配置vsftpdconf文件,这里是不允许匿名登录的情况

1、进入etc目录

cd /etc/

2、进入编辑

sudo vi vsftpdconf

3、去掉Listen=YES  anonymous_enable=NO  local_enable=YES  write_enable=YES前面的#号

要注意的是,如果你没有涉及到ipv6地址,listen_ipv6=YES记得要注释掉,不然的话会出现connection refused,至少我是这样了TAT

    

4、在文件末尾插入

pasv_min_port=10060
pasv_max_port=10090

            此为vsftpd被动模式(pasv)的端口范围

   5、保存退出

三、添加FTP用户

1、在一个合适的地方创建文件夹,这个文件夹作为用户的根目录,并设置好权限。例如:/home/ubuntu/ftp

      2、执行如下语句添加用户(username为用户名)

sudo useradd -d /home/ubuntu/ftp -s /bin/bash username

3、执行如下语句设置密码(username为用户名)

sudo passwd username

四、启动ftp服务

sudo service vsftpd start

五、Enjoy!

1、环境:ftp为vsftp。被限制用户名为test。被限制路径为/home/ftp2、建用户:在root用户下:useradd-d/home/ftptest//增加用户test,并制定test用户的主目录为/home/ftppasswdtest//为test设置密码3、更改用户相应的权限设置:(对于一般情况,简单添加一个用户的话,这一步,可以不要!!一般情况下,配置ftp也不需要这一步)usermod-s/sbin/nologintest//限定用户test不能telnet,只能ftpusermod-s/bin/bashtest//用户test恢复正常usermod-d/testtest//更改用户test的主目录为/test4,修改/etc/vsftpd/vsftpdconf文件如下:anonymous_enable=NO##Uncommentthistoallowlocaluserstologinlocal_enable=YES##UncommentthistoenableanyformofFTPwritecommandwrite_enable=YES最后在该文件的最后面添加如下行:userlist_enable=YESuserlist_deny=NOuserlist_file=/etc/vsftpd/vsftpduser_list最后保存/etc/vsftpd/vsftpdconf文件。5、限制用户只能访问/home/test,不能访问其他路径修改/etc/vsftpd/vsftpdconf如下:chroot_list_enable=YES//限制访问自身目录#(defaultfollows)chroot_list_file=/etc/vsftpd/vsftpdchroot_list编辑/etc/vsftpd/vsftpdchroot_list文件,将受限制的用户添加进去,每个用户名一行添加后如下:test/home/ftp编辑/etc/vsftpd/vsftpduser_list文件,将受限制的用户添加进去,每个用户名一行添加后如下:test改完配置文件,不要忘记重启vsFTPd服务器[root@linuxsir001root]#/etc/initd/vsftpdrestart启动后,在进行测试,使用本地用户test及其密码登录,成功。如果此时还不能执行写 *** 作或登录时出现其它错误,则要查看test用户对应的文件夹/home/ftp,test用户是否有对此文件夹的写权限。6、如果需要允许用户修改密码,但是又没有telnet登录系统的权限:(对于一般情况,简单添加一个用户的话,这一步,可以不要!!一般情况下,配置ftp也不需要这一步)usermod-s/usr/bin/passwdtest//用户telnet后将直接进入改密界面

在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出现问题时,它会在访问端的界面上显示原因。另外不成功的原因是因为服务器上的防火墙没有配置好。

1、检查安装vsftpd软件
使用如下命令#rpm -qa |grep vsftpd可以检测出是否安装了vsftpd软件,
如果没有安装,使用YUM命令进行安装。
2、启动服务
使用vsftpd软件,主要包括如下几个命令:
启动ftp命令#service vsftpd start
停止ftp命令#service vsftpd stop
重启ftp命令#service vsftpd restart
3、vsftpd的配置
ftp的配置文件主要有三个,位于/etc/vsftpd/目录下,分别是:
ftpusers 该文件用来指定那些用户不能访问ftp服务器。
user_list 该文件用来指示的默认账户在默认情况下也不能访问ftp
vsftpdconf vsftpd的主配置文件
4、以匿名用户为例,我们去掉配置文件vsftpdconf 里面以下
anon_upload_enable=YES
anon_mkdir_write_enable=YES
两项前面的#号,就可以完成匿名用户的配置,此时匿名用户既可以登录上传、下载文件。记得修改配置文件后需要重启服务。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存