如何在Linux操作系统下搭建ipv6ftp服务器?

如何在Linux操作系统下搭建ipv6ftp服务器?,第1张

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

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

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

 它可运行在Linux、Solaris等系统中,支持很多其他的FTP 服务器不支持的特征:

 非常高的安全性需求

 带宽限制

 良好的可伸缩性

 创建虚拟用户的可能性

 分配虚拟IP地址的可能性

 一、vsftpd的启动

 #service vsftpd start

 如果允许用户匿名访问,需创建用户ftp和目录/var/ftp

 # mkdir /var/ftp

 # useradd –d /var/ftp ftp

二、vsftpd的配置

 Vsftpd的配置文件存放在/etc/vsftpd/vsftpdconf 我们可根据实际数要对如下信息进行配置:

 1 连接选项

 ☆监听地址和控制端口

 (1) listen_address=ip address

 定义主机在哪个IP 地址上监听FTP请求。即在哪个IP地址上提供FTP服务。

 (2) listen_port=port_value

 指定FTP服务器监听的端口号。默认值为21。

2 性能与负载控制

 ☆超时选项

 (1) idle_session_timeout=

 空闲用户会话的超时时间,若是超过这段时间没有数据的传送或是指令的输入,则会被迫断线。默认值是300s

 (2) accept_timeout=numerical value

 接受建立联机的超时设定。默认值为60s

 ☆负载选项

 (1) max_clients= numerical value

 定义FTP服务器最大的兵法连接数。当超过此连接数时,服务器拒绝客户端连接。默认值为0,表示不限最大连接数。

 (2) max_per_ip= numerical value

 定义每个IP地址最大的并发连接数目。超过这个数目将会拒绝连接。此选项的设置将会影响到网际快车、迅雷之类的多线程下载软件。默认值为0,表示不限制。

 (3) anon_max_rate=value

 设定匿名用户的最大数据传输速度,以B/s为单位。默认无。

 (4) local_max_rate=value

 设定用户的最大数据传输速度。以B/s为单位。默认无。此选项对所有的用户都生效。

 3 用户选项

 vsftpd的用户分为3类:匿名用户、本地用户(local user)及虚拟用户(guest)

 ☆ 匿名用户

 (1) anonymous_enable=YES|NO

 控制是否允许匿名用户登录

 (2) ftp_username=

 匿名用户使用的系统用户名。默认情况下,值为ftp

 (3) no_anon_password= YES|NO

 控制匿名用户登录时是否需要密码。

 (4) anon_root=

 设定匿名用户的根目录,即匿名用户登录后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/

 (5) anon_world_readable_only= YES|NO

 控制是否只允许匿名用户下载可阅读的文档。YES,只允许匿名用户下载可阅读的文件。NO,允许匿名用户浏览整个服务器的文件系统。

 (6) anon_upload_enable= YES|NO

 控制是否允许匿名用户上传文件。除了这个参数外,匿名用户要能上传文件,还需要两个条件,write_enable参数为YES;在文件系统上,FTP匿名用户对某个目录有写权限。

 (7) anon_mkdir_wirte_enable= YES|NO

 控制是否允许匿名用户创建新目录。在文件系统上,FTP匿名用户必须对新目录的上层目录拥有写权限。

 (8) anon_other_write_enbale= YES|NO

 控制匿名用户是否拥有除了上传和新建目录之外的`其他权限。如删除、更名等。

 (9) chown_uploads= YES|NO

 是否修改匿名用户所上传文件的所有权。YES,匿名用户上传得文件所有权改为另一个不同的用户所有,用户由chown_username参数指定。

 (10) chown_username=whoever

 指定拥有匿名用户上传文件所有权的用户。

 ☆本地用户

 (1) local_enable= YES|NO

 控制vsftpd所在的系统的用户是否可以登录vsftpd。

 (2) local_root=

 定义本地用户的根目录。当本地用户登录时,将被更换到此目录下。

 ☆虚拟用户

 (1) guest_enable= YES|NO

 启动此功能将所有匿名登入者都视为guest

 (2) guest_username=

 定义vsftpd的guest用户在系统中的用户名。

4 安全措施

 ☆用户登录控制

 (1) /etc/vsftpdftpusers

 Vsftpd禁止列在此文件中的用户登录FTP服务器。此机制是默认设置的。

 (2) userlist_enable= YES|NO

 此选项激活后,vsftpd将读取userlist_file参数所指定的文件中的用户列表。

 (3) userlist_file=/etc/vsftpduser_list

 指出userlist_enable选项生效后,被读取的包含用户列表的文件。默认值是/etc/vsftpduser_list

 (4) userlist_deny= YES|NO

 决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。userlist_enable选项启动后才能生效。默认值为YES,禁止文中的用户登录,同时不向这些用户发出输入口令的指令。NO,只允许在文中的用户登录FTP服务器。

 ☆目录访问控制

 (1) chroot_list_enable= YES|NO

 锁定某些用户在自己的目录中,而不可以转到系统的其他目录。

 (2) chroot_list_file=/etc/vsftpd/chroot_list

 指定被锁定在主目录的用户的列表文件。

 (3) chroot_local_users= YES|NO

 将本地用户锁定在主目中。

# 匿名用户配置  

anonymous_enable=YES         # 是否允许匿名ftp,如否则选择NO  

anon_upload_enable=YES       # 匿名用户是否能上传  

anon_mkdir_write_enable=YES  # 匿名用户是否能创建目录  

anon_other_write_enable=YES  # 修改文件名和删除文件

# 本地用户配置  

local_enable=YES # 是否允许本地用户登录  

local_umask=022  # umask 默认755  

write_enable=YES  

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

chroot_list_enable=YES # 是否将系统用户限止在自己的home目录下  

chroot_list_file=/etc/vsftpdchroot_list # 列出的是不chroot的用户的列表

chown_upload=YES  # 是否改变上传文件的属主  

chown_username=username # 如果是需要输入一个系统用户名

userlist_enable=YES  

userlist_deny=NO

deny_email_enable=YES # 是否允许禁止匿名用户使用某些邮件地址  

banned_email_file=/etc/vsftpdbanned_emails # 禁止邮件地址的文件路径

ftpd_banner=Welcome to chenlf FTP service # 定制欢迎信息  

dirmessage_enable=YES # 是否显示目录说明文件, 需要收工创建message文件  

message_file= # 设置访问一个目录时获得的目录信息文件的文件名,默认是message

xferlog_enable=YES # 是否记录ftp传输过程  

xferlog_file=/var/log/vsftpdlog # ftp传输日志的路径和名字  

xferlog_std_format=YES # 是否使用标准的ftp xferlog模式

ascii_upload_enable=YES   # 是否使用ascii码方式上传文件  

ascii_download_enable=YES # 是否使用ascii码方式下载文件

connect_from_port_20=YES # 是否确信端口传输来自20(ftp-data)

nopriv_user=ftpsecure # 运行vsftpd需要的非特权系统用户默认是nobody

async_abor_enable=YES # 是否允许运行特殊的ftp命令async ABOR

# FTP服务器的资源限制

idle_session_timeout=600 # 设置session超时时间  

data_connection_timeout=120 # 设置数据传输超时时间

max_clients=50 # 用户最大连接数 默认是0不限止  

max_per_ip=5   # 每个IP地址最大连接数

anon_max_rate=102400  # 匿名的下载速度 KB  

local_max_rate=102400 # 普通用户的下载速度 KB  

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。

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调用说明启动成功。

一、下载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!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何在Linux操作系统下搭建ipv6ftp服务器?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情