轻松建立自己的Linux FTP服务器:安装指南 (linux ftp服务器安装)

在现代的数字化时代,FTP服务器是非常重要的。FTP服务器可以使用户上传或下载文件,通过文件传输协议进行远程访问。其中,Linux FTP服务器可以被用来搭建一个可靠而高效的文件传输平台,以满足各种业务需求。

但是,对于大多数人来说,建立自己的Linux FTP服务器可能会是一个比较困难的任务。因此,在本文中,我们将向您展示如何轻松地搭建自己的Linux FTP服务器。我们将提供详细的安装指南和步骤,以确保您能够成功搭建自己的FTP服务器。

安装FTP服务器

在开始之前,我们需要先安装FTP服务器。Linux上有多种FTP服务器可供选择,例如PureFTPD、vsftpd 和 ProFTPD等。在本文中,我们将使用vsftpd服务器。

要安装vsftpd,您可以使用命令行界面,在终端中输入以下命令来进行安装。

$ sudo apt update

$ sudo apt install vsftpd

设置FTP服务器

在安装FTP服务器之后,下一步就是设置FTP服务器。这个过程可能需要一些调整,以确保您的FTP服务器按照您要求的方式来运行。

1. 配置vsftpd.conf文件

要配置vsftpd.conf文件,您可以通过打开以下默认文件来进行编辑。

$ sudo nano /etc/vsftpd.conf

您可以编辑文件中的以下行以设置FTP服务器。

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

use_localtime=YES

xferlog_enable=YES

connect_from_port_20=YES

chroot_local_user=YES

secure_chroot_dir=/var/run/vsftpd/empty

pam_service_name=vsftpd

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

ssl_enable=NO

在上述设置中,您可以根据自己的需求进行配置。例如,如果您希望允许匿名用户访问FTP服务器,则可以更改之一行中的anonymous_enable设置为YES。但是,我们建议您不要在生产环境中允许匿名用户访问FTP服务器。

2. 设置FTP用户

接下来,您需要创建FTP用户。您可以通过以下命令在Linux上创建FTP用户。

$ sudo adduser ftpusr

提示:请注意,您需要为FTP用户设置相应的密码。您可以使用以下命令为FTP用户设置密码。

$ sudo passwd ftpusr

3. 更改FTP目录权限

默认情况下,在Linux上,FTP用户的主目录是/home/ftpusr。这意味着,如果FTP用户在FTP服务器上上传文件,则文件将被保存在主目录中。但是,我们需要确保FTP用户可以在FTP服务器上创建和编辑文件。因此,我们需要更改FTP目录的权限。

要更改FTP目录权限,请使用以下命令来更改目录权限。

$ sudo chown nobody:nogroup /home/ftpusr

$ sudo chmod a-w /home/ftpusr

$ sudo mkdir /home/ftpusr/ftp

$ sudo chown ftpusr:ftpusr /home/ftpusr/ftp

$ sudo chmod a-w /home/ftpusr/ftp

上述命令可以确保FTP用户可以在FTP服务器上创建文件、文件夹,并对它们进行编辑。

启动FTP服务器

一旦您完成了上述设置,您需要重新启动FTP服务器。您可以使用以下命令来启动FTP服务器。

$ sudo systemctl start vsftpd

如果您想使FTP服务器在系统启动时自动启动,则可以使用以下命令。

$ sudo systemctl enable vsftpd

测试FTP服务器

现在,您已经成功地搭建了自己的Linux FTP服务器。您可以使用任何FTP客户端来测试您的FTP服务器。例如,您可以使用FileZilla。

在FileZilla中,您需要输入FTP服务器地址、FTP用户名和密码,然后点击连接按钮。如果您成功地连接到FTP服务器,则表示您已成功搭建了自己的FTP服务器。

在本文中,我们向您展示了如何在Linux上轻松地建立自己的FTP服务器。我们提供了详细的安装指南和更佳实践,以确保您可以成功地搭建自己的FTP服务器。我们希望这篇文章可以帮助您建立自己的FTP服务器,并提供一个高效且可靠的文件传输平台。

相关问题拓展阅读:

怎么用linux搭建ftp服务器

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。并且是一个完全免费开放源码的ftp软件 方法/步骤 一、用在线安装 yum install vsftpd pam* db四*-y 使用命令将早和vsftp配置为系统服务 chkconfig –level 三5 vsftpd on 二、配置vsftpd服务的宿主 useradd vsftpdadmin -s /in/nologin -M 这个vsftpdadmin只是用来替换root的,并不需要登录 三、建立ftp虚拟宿主帐户 useradd vsftpuser -s /in/nologin -M 这ftpuser只个虚拟帐户的宿主,本身是不用登录的 四、配置vsftpd.conf 配置之前要先备份一下原来的 vi /etc/vsftpd/vsftpd.conf 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_user.db 吧、设置数据库文件访问权限 chmod 陆00 /etc/vsftpd/vconf/vir_user chmod 陆00 /etc/vsftpd/vconf/芦好vir_user.db 9、修改/etc/pam.d/vsftpd auth sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user account sufficient pam_userdb.so 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调用说明启动成功。 如有不清楚的可以再继续看看百度经验

求,在linux 中,搭建ftp服务器的方法, 谢谢,

我最近也在研究ubuntu 9.10 搭建vsftp和proftpd.

FTP不安全,万不得已情况下,才可使用。

vsftp安全性相对较好

可采用sftp代替FTP

Linux另外常用的FTP:

proftp

vsftp

pureftp

下面以VSFTP为例:

安装方式一:源码包安装

useradd -s /bin/false -d /var/ftp ftpvirtual

cd ……

make

make install

cp vsftpd.conf /etc

/usr/local/in/vsftpd & #启动

安装方式二:rpm安装,推荐

rpm -ivh vsftpd-2.0.1-5.i386.rpm

或者 yum install vsftpd

/etc/init.d/vsftpd start

两种方式安装完成后,配置方法都一样,下面开始讲配置。

首先讲主配置文件常见配置

vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO #禁止匿名登录

local_enable=NO #禁止本地用户登录

write_enable=YES #对本地用户的写权限

local_umask=022 #本地用户文件生成掩码

dirmessage_enable=YES #显示隐藏文件

xferlog_enable=YES #启用上传和下载日志

connect_from_port_20=YES #服务器将启用FTP数据耐好端口的连接请求

xferlog_std_format=YES #服务器将使用标准的ftpd xferlog日志格式

pam_service_name=vsftpd #设置PAM认证服务的配置文件名称

userlist_enable=YES #设置文件中指定的用户是否可以访问vsftpd服务则旅器

listen=YES #FTP服务器将处于独立启动模式

tcp_wrappers=YES #使用tcp_wrappers作为主机访问控制方式

chroot_local_user=YES #将FTP本地用户禁锢在宿主目录中

chroot_list_enable=YES #将用户禁锢在宿主目录中

listen_address=192.168.0.2 #侦听地址

pasv_enable=YES #是否允使用被动模式,默认是允许的。

pasv_min_port=10000 #指定使用被动模式时打开端口的最小值

pasv_max_port=10004 #指定使用被动模式时打开端口的更大昌盯铅值。

max_clients=100 #设置FTP服务器所允许的更大客户端连接数,值为0时表示不限制

max_per_ip=5 #同一IP地址允许的更大客户端连接数,值为0时表示不限制,即线程

local_max_rate=#设置本地用户的更大传输速率,单位为bytes/sec,值为0时表示不限制

anon_max_rate=#设置匿名用户的更大传输速率,单位为bytes/sec,值为0表示不限制

use_localtime=YES #在vsftp之中的时间默认值是显式GMT时间,因此我们会发现上面的时间与我们时寄存取的时间差八小时。改了这一项就好了。

listen_port=10021 改端口

one_process_model=NO yes可增加性能,增加负载,便降低安全,建议NO

nopriv_user=nobody 默认以nobody运行vsftp

对外服务,建议使用stand alone方式启动,性能好。

仅内部人员,建议用super daemon启动,修改如下:

listen=NO

……略

vsftp默认使用GMT时间,建议修改如下:

use_localtime=YES

/etc/vsftpd.ftpusers #保存不允许进行FTP登录的本地用户帐号,提高系统的安全性

/etc/vsftpd.user_list

#禁止vsftpd.user_list中的用户

userlist_enable=YES

userlist_deny=YES

#仅允许vsftpd.user_list中的用户

userlist_enable=YES

userlist_deny=NO

日志:

vsftpd_log_file=/var/log/vsftpd.log

下面开始讲vsftp四种“用户认证”的方式

一、匿名用户 ftp anonymous

/var/ftp 默认主目录

在/etc/vsftpd/vsftpd.conf中:

anonymous_enable=YES

anon_upload_enable=YES

anon_other_write_enable=YES #可删除

chmod -R 777 /var/ftp/pub/

修改/var/ftp/pub的SELinux权限

执行以下命令,修改/var/ftp/pub这目录的类型:

chcon -R -t ftpd_anon_rw_t /var/ftp/pub/

anon_root=/var/www/html/ftp #改匿名用户的宿主目录

二、本地用户

默认支持,使用各自的宿主目录。不安全

local_root=/opt #新增这一项,改成其他路径

三、虚拟用户 PAM文件方式 推荐

建立虚拟用户口令库文件

# cat logins.txt

mike

pwabcd

john

pw1234

生成vsftpd的认证文件

db_load -T -t hash -f logins /etc/vsftpd/vsftpd_login.db

chmod 600 /etc/vsftpd/vsftpd_login.db

新创建虚拟用户所需的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

新创建虚拟用户的系统用户所要访问的目录并设置相应权限

# useradd -s /bin/false -d /home/ftpsite ftpvirtual

# chmod 700 /home/ftpsite

#设置vsftpd.conf配置文件,支持虚拟用户

guest_enable=YES

guest_username=ftpvirtual

pam_service_name=vsftpd.vu

user_config_dir=/etc/vsftpd/vsftpd_user_conf #添加用户配置文件目录设置

/etc/vsftpd/vsftpd_user_conf/mike (同名),这里没有的设置默认按vsftpd.conf的设置执行

anon_world_readable_only=NO #可以浏览FTP目录和下载文件

anon_upload_enable=YES #用户可以上传文件,等同于 write_enable=yes 允许上传

anon_mkdir_write_enable=YES #具有建立和删除目录的权利

anon_other_write_enable=YES #具有文件改名和删除文件的权限

local_root=/data/userspace #设置虚拟用户登录后的主目录

anon_max_rate=#以Bytes/s为单位,这里限8Mbit,范围大概在80%到120%之间

四、虚拟用户 mysql认证方式 推荐

1. mysql安装见mysql笔记

2.1 openssl-0.9.8e 源程序预编译时在日志中可能出现md5.h “Present But Cannot Be Compiled的错误,卸载下面某些包可能解决问题。

cyrus-sals-sql cyrus-sasl-ntlm cyrus-sasl-gssapi cyrus-sasl-devel openldap-devel

然后移除系统可能自带的:

mv /usr/bin/openssl /usr/bin/openssl.OFF

mv /usr/include/openssl /usr/include/openssl.OFF

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/ssl/include/openssl /usr/include/openssl

配置库文件搜索路径

#echo “/usr/local/ssl/lib” >> /etc/ld.so.conf

#ldconfig -v

2.2 或者安装openssl-0.9.8e的rpm包

3. pam_mysql-0.7RC1.tar.gz

#./configure –with-mysql=/usr/local/mysql –with-openssl=/usr/local/ssl

如果mysql是rpm安装的,则不带–with-mysql参数,如果openssl是rpm安装的,参数为–with-openssl

make;make install

注意pam_mysql.so路径,可能在/usr/lib/security/pam_mysql.so或/lib/security/pam_mysql.so

vi /etc/pam.d/vsftp.mysql #新建,仅两行

auth required /lib/security/pam_mysql.so user=vsftpd passwd=host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2

account required /lib/security/pam_mysql.so user=vsftpd passwd=host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2

4.0 准备数据库、表和数据

mysql> create database vsftp;

mysql> grant select on vsftp.* to vsftpd@localhost identified by ‘123456’;

mysql> grant select on vsftp.* to identified by ‘123456’;

mysql> use vsftp;

mysql> create table users (

-> id int AUTO_INCREMENT NOT NULL,

-> name char(20) binary NOT NULL,

-> passwd char(48) binary NOT NULL,

-> primary key(id)

-> );

mysql> insert into users(name,passwd) values(‘hlc’,password(‘hlc’));

mysql> insert into users(name,passwd) values(‘holly’,password(‘holly’));

5.0 修改主配置文件

vi /etc/vsftpd/vsftpd.conf

guest_enable=YES

guest_username=vsftp

listen=YES

pam_service_name=vsftpd.mysql

以上完成了vsftp的配置,下面是补充:

dirmessage_enable=YES #设置欢迎语 在每个目录下建立.message,写入欢迎语即可。

db_load支持包(前面三个即可):

db4

db4-devel

db4-utils

db4-java

db4-tcl

Linux建议关闭selinux或征对FTP不做任何安全

setsebool -P -ftpd_disable_trans on

setsebool -P -allow_ftpd_full_access on

servie vsftpd restart

或者需要重启服务器

底下列出FTP访问中所出现数字代码的含意。

110 重新启动标记应答。

120 服务在多久时间内ready。

125 数据链路端口开启,准备传送。

150 文件状态正常,开启数据端口。

200 命令执行成功。

202 命令执行失败。

211 系统状态或是系统求助响应。

212 目录的状态。

213 文件的状态。

214 求助的讯息。

215 名称系统类型。

220 新的联机服务ready。

221 服务的控制端口关闭,可以注销。

225 数据链接开启,但无传输动作。

226 关闭数据端口,请求的文件操作成功。

227 进入passive mode。

230 用户登录。

250 请求的文件操作完成。

257 显示目前的路径名称。

331 用户名称正确,需要密码。

332 登入时需要帐户信息。

350 请求的操作需要进一部的命令。

421 无法提供服务,关闭控制连结。

425 无法开启数据链路。

426 关闭联机,终止传输。

450 请求的操作未执行。

451 命令终止:有本地的错误。

452 未执行命令:磁盘空间不足。

500 格式错误,无法识别命令。

501 参数语法错误。

502 命令执行失败。

503 命令顺序错误。

504 命令所接的参数不正确。

530 未登入。

532 储存文件需要账户登入。

550 未执行请求的操作。

551 请求的命令终止,类型未知。

552 请求的文件终止,储存位溢出。

553 未执行请求的的命令,名称不正确。

这宏毕是我自己蔽皮芹做的WORD文档握团,关于使用vsftp搭建ftp的

linux ftp服务器安装的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux ftp服务器安装,轻松建立自己的Linux FTP服务器:安装指南,怎么用linux搭建ftp服务器,求,在linux 中,搭建ftp服务器的方法, 谢谢,的信息别忘了在本站进行查找喔。


数据运维技术 » 轻松建立自己的Linux FTP服务器:安装指南 (linux ftp服务器安装)