如何在linux下搭建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-2.0.1-5.i386.rpm。默认情况下没有安装。Vsftpd的主配置文件是/etc/vsftpd.conf。未修改的主配置文件去掉注释后如下(“;”后为解释):
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/pam.d目录下
userlist_enable=YES ;需与userlist_file配合使用,稍后介绍
listen=YES ;是否处于独立启动模式
tcp_wrappers=YES ;为YES时,以tcp_wrappers作为主机访问控制方式
(去掉后,vsftpd的配置文件就这么一点^_^。)

/etc/vsftpd.ftpusers保存着不允许进行FTP登录的用户帐户,通常是权限很高的用户,以提高FTP的安全。
至于/etc/vsftpd.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
…………(后略)
前面说的userlist_enalbe就跟这有关(重点是第二、三行)

另外,/vsr/ftp是匿名用户的宿主目录.

配置vsftpd的虚拟用户:
1. 建立虚拟用户口令库文件(奇数行为用户名,偶数行为密码):
[root@localhost.localdomain]cat vsftpd
abc
abc12321cba
efg
vsftpd.conf

2. 生成认证文件(db_load生成认证文件,“-f”用于指明虚拟用户的口令库文件,即:vsftpd.操作中,口令库文件名可随便取.“-t hash”指加密方式)

db_load -T -t hash -f vsftpd /etc/vsftpd/vsftpd_login.db
3.设置权限,以提高安全:
chmod 600 /etc/vsftpd/vsftpd_login.db
4. 建立虚拟用户的PAM文件:
cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
5.建立虚拟用户的目录,并设置相应权限:
useradd -d /home/vsftpd virtual
chmod 700 /home/vsftpd/
6. 编辑vsftpd的配置文件:
vi /etc/vsftpd/vsftpd.conf
guest_enable=yes
guest_username=virtual
pam_service_name=vsftpd.vu
7. 对虚拟用户设置不同权限:
vi /etc/vsftpd/vsftpd.conf
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.无法匿名访问?
可能是vsftpd.conf中的anonyoums_enable出的错,或者是你根本就没连接到服务器,也有可能是服务器的iptables出的问题(过滤掉了),这种情况下一般与selinux无关。还有就是服务未运行。
2.创建的虚拟用户无法访问vsftpd?
原因或许是在创建虚拟用户的时候出的错,如果无法使用虚拟用户访问vsftpd的时候,建议先检查在创建虚拟用户时,打错什么字没有,如果还是没有检查出什么问题来的话,建议你直接推倒重做。还是一点差点忘记说了,就是在创建虚拟用户的时候,尽量将虚拟用户的密码设长一点、复杂一点,我在测试的时候,就是因为密码太短而几次没有成功。
3.在cmd下用虚拟用户登录vsftpd时,出现“200 PORT command successful. Consider using PASV.”的字样是怎么回事啊?
你所访问的电脑上的防火墙在做怪!!!我就上过这个当!!!
4.其它问题?
一般情况下,vsftpd出现问题大多数都是因为配置文件出错的,如果想要测试的话,建议在命令行了进行测试,当vsftpd出现问题时,它会在访问端的界面上显示原因。另外不成功的原因是因为服务器上的防火墙没有配置好。
温馨提示:内容为网友见解,仅供参考
无其他回答

教你Linux三分钟搭建FTP
使用systemctl命令启动FTP服务。验证FTP服务是否正确运行,使用ip命令查看本机网卡IP。注意,不同设备的网卡名称可能不同(如eth0或ens33),请以实际设备的网卡IP为准。假设IP为172.25.250.10。在另一台设备(如Windows)上,使用文件管理器验证FTP服务。输入ftp:\/\/IP地址访问FTP服务器。

Linux系统安装FTP服务器
要安装Linux系统的FTP服务器,首先,执行安装命令以启动进程。之后,启动FTP服务器以使其运行。配置是关键,需修改配置文件<\/etc\/vsftpd\/vsftpd.conf>,确保FTP服务器设置正确。接下来,为保证文件安全,需调整权限,将var\/ftp\/pub设为FTP服务的默认文件存储目录。防火墙设置也需调整,确保FTP服务器能正常...

linux ftp服务器搭建
搭建Linux FTP服务器教程 首先,安装并配置FTP服务器软件vsftpd:执行`yum install vsftpd`安装vsftpd服务接着,对配置文件进行设置:打开`\/etc\/vsftpd\/vsftpd.conf`进行基本配置在`\/etc\/vsftpd\/ftpusers`中管理用户登录权限,例如,注释掉root用户以禁用其登录检查`\/etc\/vsftpd\/usr_list`确保正确用户可登录为...

Linux怎样创建FTP服务器
1、在创建FTP服务器之有先命令: ps -ef |grep vsftpd 2、查一下系统有没有安装vsftpd这个服务器,如果出现如下图所示的界面说明没有安装。3、然后再执行:yum install vsftpd -y 4、进行在线安装vsftpd这个服务。5、安装成功以后需要把匿名登陆的这个功能关闭了。6、使用命令: vim \/etc\/vsftpd\/vs...

Linux上安装使用FTP服务器ProFTPD的教程
代码如下:sudo apt-get install proftpd-basic 安装时默认作为一个standalone server运行proftpd,如果每天的ftp请求量少,可以安装为inetd服务,节省服务器资源.这里我使用默认值,安装为standalone server.代码如下:sudo netstat -antp|grep proftpd 查看proftpd监听的21端口 用proftpd提供的ftpasswd新建虚拟用户...

linux配置ftp服务器的过程
第一步:打开终端(快捷键是Ctrl+Alt+t),如果当前用户不是root用户,请输入命令“su”,然后输入root账户密码即可;第二步:输入命令“apt-get update”,这一步是为了更新下载的数据源,如果不更新可能造成有几个后面的软件包无法下载;第三步:输入命令“apt-get install vsftpd”完成安装vsftpd;第...

linux怎么配置ftp服务器
1、在一个合适的地方创建文件夹,这个文件夹作为用户的根目录,并设置好权限。例如:\/home\/ubuntu\/ftp 2、执行如下语句添加用户(username为用户名)sudo useradd -d \/home\/ubuntu\/ftp -s \/bin\/bash username 3、执行如下语句设置密码(username为用户名)sudo passwd username 四、启动ftp服务 sudo ...

linux怎么搭建ftp服务器
方法\/步骤 1、用在线安装 yum install vsftpd pam* db4*-y 使用命令将vsftp配置为系统服务 chkconfig --level 35 vsftpd on 2、配置vsftpd服务的宿主 useradd vsftpdadmin -s \/sbin\/nologin -M 这个vsftpdadmin只是用来替换root的,并不需要登录 3、建立ftp虚拟宿主帐户 useradd vsftpuser -s \/...

Linux搭建高效FTP虚拟用户全过程
可以连接FTP了 ip:XXX.XXX.XXX.XXX 端口:21 账号:www_lingdus_com 密码:www_lingdus_com 连接 FTP 时若提示错误:553 Could not create file 或不能上传错误,则关闭SELinux 终端:setsebool -P ftpd_disable_trans 1 重启:service vsftpd restart 或者把 guest_username=ftp #虚拟用户隶属于...

linux怎么搭建ftp服务器
1、检查安装vsftpd软件 使用如下命令#rpm -qa |grep vsftpd可以检测出是否安装了vsftpd软件,如果没有安装,使用YUM命令进行安装。2、启动服务 使用vsftpd软件,主要包括如下几个命令:启动ftp命令#service vsftpd start 停止ftp命令#service vsftpd stop 重启ftp命令#service vsftpd restart 3、vsftpd的配置 ...

相似回答