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

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。并且是一个完全免费开放源码的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 /sbin/nologin -M

这ftpuser只个虚拟帐户的宿主,本身是不用登录的

4、配置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=4040

reverse_lookup_enable=NO

pasv_enable=yes

pasv_min_port=48790

pasv_max_port=48800

listen_port=48796 #端口可以根据你自己实际情况配置,也可以用默认端口。但是为了安全考虑根据自己实际情况配置

5、建立虚拟用户文件

mkdir /etc/vsftpd/vconf

touch /etc/vsftpd/vonf/vir_user

6、建立虚拟用户

vi /etc/vsftpd/vonf/vir_user

virtualuser //用户名

12345678 //密码

7、生成数据库

db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_userdb

8、设置数据库文件访问权限

chmod 600 /etc/vsftpd/vconf/vir_user

chmod 600 /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)

10

根据第四步配置的user_config_dir=/etc/vsftpd/vconf/userlocal

新建userlocal文件夹

mkdir /etc/vsftpd/vconf/userlocal

11、根据第六步建立的用户名建立一个文件

例如第六步建立的帐号是virtualuser,则新建一个virtualuser文件

touch /etc/vsftpd/conf/userlocal/virtualuser

12、编辑该用户访问的文件路径

vi /etc/vsftpd/conf/userlocal/virtualuser

输入如下

local_root= //需要指定的网站根目录,例如wwwbaiducom所在文件夹为/www/baidu

anonymous_enable=NO #禁止匿名用户访问

write_enable=YES #开启写权限

local_umask=022 #上传后文件的权限掩码

anon_upload_enable=NO #关闭匿名下载

anon_mkdir_write_enable=NO #关闭匿名创建文件夹

idle_session_timeout=60 #会话自动关闭时间 60是因分钟

data_connection_timeout=120 #数据延迟时间

max_clients=10 #最大连接数

max_per_ip=5 #同一个ip同时允许5个IP联机

local_max_rate=1048576 #实体用户传输速度限制,单位B/s。0代表不限制

13、配置就此完成,重启vsftpd服务:service vsftpd restart。

查看系统端口状态:netstas -tulnp。如果能看到48796端口正在被vsftpd调用说明启动成功。

如有不清楚的可以再继续看看百度经验。

本回答由电脑网络分类达人 吕明推荐

评论

2 0

龙之晨_lemon | seo专员向TA咨询

擅长: 互联网

其他回答

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

两项前面的#号,就可以完成匿名用户的配置,此时匿名用户既可以登录上传、下载文件。记得修改配置文件后需要重启服务。

5、非匿名账户的创建与使用

vsftpd服务与系统用户是相互关联的,例如我们创建一个名为test 的系统用户,那么此用户在默认配置的情况下就可以实现登录

登录后在页面创建名为“aa”的文件夹,同样我们在服务器test用户 的home目录里也可以看到相同的文件。

1 首先服务器要安装ftp软件,查看是否已经安装ftp软件下:

#which vsftpd

如果看到有vsftpd的目录说明服务器已经安装了ftp软件

2 查看ftp 服务器状态

#service vsftpd status

3 启动ftp服务器

#service vsftpd start

4 重启ftp服务器

#service vsftpd restart

5 查看服务有没有启动

#netstat -an | grep 21

tcp 0 0 0000:21 0000: LISTEN

如果看到以上信息,证明ftp服务已经开启。

6如果需要开启root用户的ftp权限要修改以下两个文件

#vi /etc/vsftpdftpusers中注释掉root

#vi /etc/vsftpduser_list中也注释掉root

然后重新启动ftp服务。

7 vsftpd 500 OOPS: cannot change directory

登陆报错:

C:\>ftp 1921680101

Connected to 1921680101

220 (vsFTPd 205)

User (1921680101:(none)): frank

331 Please specify the password

Password:

500 OOPS: cannot change directory:/home/frank

Login failed

ftp> ls

500 OOPS: child died

Connection closed by remote host

解决方法:

setsebool ftpd_disable_trans 1

service vsftpd restart

就OK了!

这是SELinux的设置命令,在不熟悉SELnux前,把SELinux关掉也可以的。

8 永久开启,即os重启后自动开启ftp服务

方法一:

cd /etc/xinetdd ,编辑ftp服务的配置文件gssftp的设置:

vi /etc/xinetdd/gssftp ,将 修改两项内容:

(a) server_args = -l –a 去掉-a 改为server_args = -l

(b) disable=yes改为disable=no

(c) 保存退出。

方法二:

(a) system-config-services , 进入图形界面的System services查看是否有 vsftpd项,如果没有转到2,保存后退出

  (b) 用redhat第三张盘 安装此服务(开始--删除/增加程序),200K左右

  (c) #setup

   此时能看到vsftpd项,此时选中此services项,保存后退出

Linux下可以配置vsftp服务来实现FTP的部署。

配置支持ipv6地址的服务只要启用listen_ipv6=yes将ipv6的监听设置开启即可。

当然具体配置没有那么简单,比如设置用户权限拉,部署过程中出现错误和排错拉。最好百度一下配置说明。

linux上的ftp服务器程序还是有很多的,可以参考如下操作步骤:

1、在创建FTP服务器之有先命令: ps -ef |grep vsftpd

2、查一下系统有没有安装vsftpd这个服务器,如果出现如下图所示的界面说明没有安装。

3、然后再执行:yum install vsftpd -y

4、进行在线安装vsftpd这个服务。

5、安装成功以后需要把匿名登陆的这个功能关闭了。

6、使用命令: vim /etc/vsftpd/vsftpdconf

7、然后在里成找到:‍

8、anonymous_enable=NO

9、然后再查看一下vsftpd这个服务有没有启动。

10、使用命令: chkconfig --list

11、如果你如下图所示一样没有启动。

12、没有启动使用启动:chkconfig --level 35 vsftpd on

13、再接下来就是创建用户名。

14、创建用户名:useradd jingyan

15、再然后就是创建密码。

16、命令:passwd jingyan

17、再输入两次密码就可以了。

18、最后重启一下服务:service vsftpd start

19、如果出现启动失败则可以使用:/etc/rcd/initd/vsftpd restart

20、成功链接FTP服务器上。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » linux怎么搭建ftp服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情