ftp的配置.docx

上传人:b****1 文档编号:3024635 上传时间:2023-05-05 格式:DOCX 页数:28 大小:27.79KB
下载 相关 举报
ftp的配置.docx_第1页
第1页 / 共28页
ftp的配置.docx_第2页
第2页 / 共28页
ftp的配置.docx_第3页
第3页 / 共28页
ftp的配置.docx_第4页
第4页 / 共28页
ftp的配置.docx_第5页
第5页 / 共28页
ftp的配置.docx_第6页
第6页 / 共28页
ftp的配置.docx_第7页
第7页 / 共28页
ftp的配置.docx_第8页
第8页 / 共28页
ftp的配置.docx_第9页
第9页 / 共28页
ftp的配置.docx_第10页
第10页 / 共28页
ftp的配置.docx_第11页
第11页 / 共28页
ftp的配置.docx_第12页
第12页 / 共28页
ftp的配置.docx_第13页
第13页 / 共28页
ftp的配置.docx_第14页
第14页 / 共28页
ftp的配置.docx_第15页
第15页 / 共28页
ftp的配置.docx_第16页
第16页 / 共28页
ftp的配置.docx_第17页
第17页 / 共28页
ftp的配置.docx_第18页
第18页 / 共28页
ftp的配置.docx_第19页
第19页 / 共28页
ftp的配置.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

ftp的配置.docx

《ftp的配置.docx》由会员分享,可在线阅读,更多相关《ftp的配置.docx(28页珍藏版)》请在冰点文库上搜索。

ftp的配置.docx

ftp的配置

一、FTP工作原理

(1)FTP服务器运行FTPd守护进程,等待用户的FTP请求。

(2)用户运行FTP命令,请求FTP服务器为其服务。

例:

FTP 202.119.2.197

(3)FTPd守护进程收到用户的FTP请求后,派生出子进程FTP与用户进程FTP交互,建立文件传输控制连接,使用TCP 端口21。

(4)用户输入FTP子命令,服务器接收子命令,如果命令正确,双方各派生一个数据传输进程FTP-DATA,建立数据连接,使用TCP端口20,进行数据传输。

(5)本次子命令的数据传输完,拆除数据连接,结束FTP-DATA进程。

(6)用户继续输入FTP子命令,重复(4)、(5)的过程,直至用户输入quit命令,双方拆除控制连接,结束文件传输,结束FTP进程。

二、安装vsftp服务

(1)rpm -qa vsftpd                                              #查询是否已安装vsftpd服务,若没有安装。

执行

(2);

(2)rpm -ivhvsftpd-vsftpd-2.2.2-6.el6.i686          #安装vsftpd服务。

三、vsftpd服务的启动与关闭

(1)/etc/rc.d/iit.d/vsftpdstart                                #启动

(2)/etc/rc.d/iit.d/vsftpdstop                                #关闭

(3)/etc/rc.d/iit.d/vsftpdrestart                             #重启

四、vsftpd配置文件

(1)/etc/vsftpd/vsftpd.conf                    主配置文件

(2)/etc/pam.d/vsftpd

PAM认证文件(此文件中file=/etc/vsftpd/ftpusers字段,指明阻止访问的用户来自/etc/vsftpd/ftpusers文件中的用户)

(3)/etc/vsftpd/ftpusers

禁止使用vsftpd的用户列表文件。

记录不允许访问FTP服务器的用户名单,管理员可以把一些对系统安全有威胁的用户账号记录在此文件中,以免用户从FTP登录后获得大于上传下载操作的权利,而对系统造成损坏。

(注意:

linux-4中此文件在/etc/目录下)

(4)/etc/vsftpd/user_list

禁止或允许使用vsftpd的用户列表文件。

这个文件中指定的用户缺省情况(即在/etc/vsftpd/vsftpd.conf中设置userlist_deny=YES)下也不能访问FTP服务器,在设置了userlist_deny=NO时,仅允许user_list中指定的用户访问FTP服务器。

(注意:

linux-4中此文件在/etc/目录下)

(5)/var/ftp

vsftpd提供服务的文件散集地,它包括一个pub子目录,默认情况下,所有目录都是只读的。

五、vsftpd配置文件详解

(1)用户登录控制

anonymous_enable=YES,允许匿名用户登录。

no_anon_password=YES,匿名用户登录时不需要输入密码。

local_enable=YES,允许本地用户登录。

deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。

banned_email_file=/etc/vsftpd.banned_emails,当启用deny_email_enable功能时,所需的电子邮件黑名单保存路径(默认为/etc/vsftpd.banned_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/vsftpd.chroot_list,如果chroot_local_user=YES,则指定该列表(chroot_local_user)的保存路径(默认是/etc/vsftpd.chroot_list)。

nopriv_user=ftpsecure,指定一个安全用户账号,让FTP服务器用作完全隔离和没有特权的独立用户。

这是vsftpd系统推荐选项。

async_abor_enable=YES,强烈建议不要启用该选项,否则将可能导致出错!

ascii_upload_enable=YES;ascii_download_enable=YES,默认情况下服务器会假装接受ASCⅡ模式请求但实际上是忽略这样的请求,启用上述的两个选项可以让服务器真正实现ASCⅡ模式的传输。

(3)用户连接和超时选项

idle_session_timeout=600,可以设定默认的空闲超时时间,用户超过这段时间不动作将被服务器踢出。

data_connection_timeout=120,设定默认的数据连接超时时间。

(4)服务器日志和欢迎信息

dirmessage_enable=YES,允许为目录配置显示信息,显示每个目录下面的message_file文件的内容。

ftpd_banner=WelcometoblahFTPservice,可以自定义FTP用户登录到服务器所看到的欢迎信息。

xferlog_enable=YES,启用记录上传/下载活动日志功能。

xferlog_file=/var/log/vsftpd.log,可以自定义日志文件的保存路径和文件名,默认是/var/log/vsftpd.log.

六、创建虚拟用户

(1)安装必须的软件

rpm -ivh db4-4.7.25-16.el6.i686

rpm -ivh db4-utils-4.7.25-16.el6.i686

(2)创建用户数据库

1、创建一临时文件并编辑文件

touch  /etc/vsftpd/ftp_db_users

vim  /etc/vsftpd/ftp_db_users     (文件内容如下:

创建了两个帐号)

ftpuser1                  用户1

ftp                           用户1密码

ftpuser2                  用户2

ftp                           用户2密码

2、用db_load命令生成pam_userdb认证所需的帐号文件

db_load -T -t hash -f /etc/vsftpd/ftp_db.users /etc/vsftpd/vsftpd.login.db

3、配置PAM信息

在/etc/pam.d/目录下新建宇哥文件夹,名字为vsftpd.pam,文件内容如下:

auth       required      pam_userdb.so  db=/etc/vsftpd/vsftpd.login

account required      pam_userdb.so  db=/etc/vsftpd/vsftpd.login

4、配置vsftpd帐号

vsfptd服务永续在启动是指定配置文件,所以我们新建一个文件/etc/vsftpd/vsftpd.virtual.conf,内容如下:

listen=YES

listen_port=21

anonymous_enable=NO

local_enable=YES

chroot_local_user=YES

guest_enable=YES

guest_username=ftp

max_clients=10

max_per_ip=10

pam_service_name=vsftpd.pam

user_sub_token=$USER

local_root=/var/ftp/virtual/$USER    ;指定每个虚拟用户账号配置目录

local_root=/var/ftp

xferlog_enable=YES

xferlog_file=/var/log/vsftp.log

xferlog_std_format=YES

5、创建虚拟用户目录

根据前面提示我们知道,ftpuser1和ftpuser2的家目录分别为:

/var/ftp/virtual/ftpuser1和/var/ftp/virtual/ftpuser2     在启动服务之前,我们先创建这两个目录

mkdir /var/ftp//virtual/ftpuser1 -p

mkdir /var/ftp//virtual/ftpuser2 -p

chown  ftp.ftp /var/ftp/virtual/ftpuser1

chown  ftp.ftp /var/ftp/virtual/ftpuser2

6、按照配置文件启动服务

service vsftpd stop

/usr/sbin/vsftpd /etc/vsftpd/vsftpd.virtual.conf

7、用虚拟用户测试虚拟权限

ftp -u ftpuser1 192.168.1.114

七、FTP客户端配置及访问

(1)Windows环境下访问

C:

\>ftp192.168.1.114

连接到192.168.1.114。

220(vsFTPd2.2.2)

用户(192.168.1.114:

(none)):

ftpuser1

331Pleasespecifythepassword.

密码:

230Loginsuccessful.

ftp>

(2)Linux环境下访问

[root@localhost/]#ftp

ftp>open192.168.1.114

Connectedto192.168.1.114(192.168.1.114).

220(vsFTPd2.2.2)

Name(192.168.1.114:

sunmaosheng):

ftpuser2

331Pleasespecifythepassword.

Password:

230Loginsuccessful.

RemotesystemtypeisUNIX.

Usingbinarymodetotransferfiles.

ftp>

FTP服务器配置

VSFTP主配置文件路径:

/etc/vsftpd/vsftpd.conf,重要参数:

anonymous_enable=yes/no是否允许匿名用户访问

anon_upload_enable=yes/no是否允许匿名用户上传文件

anon_mkdir_write_enable=yes/no是否允许匿名用户创建目录

anon_other_write_enable=yes/no匿名用户和虚拟用户是否拥有删除权限

local_enable=yes/no是否允许本地用户登陆

write_enable=yes/no设置全局是否可写

anon_root=/var指定匿名用户目录

chroot_local_user=yes锁定所有用户到用户主目录

chroot_list_enable=yes/no锁定列表中的用户到主目录,需要配合下一参数使用

chroot_list_file=/etc/vsftpd/chroot_list指定存储被锁定用户的列表文件位置

chown_uploads=yes/no匿名用户上传所有者指定功能,需要与下一参数配合使用

chown_username=用户名指定匿名用户上传文件的所有者

max_clients=300最大客户端连接数为300

anon_max_rate=30000匿名用户和虚拟用户限速为30K/S

local_max_rate=30000本地用户限速为30K/S

max_per_ip=10每个IP最大连接数

listen_port=22更改监听端口

实现如下要求:

允许匿名用户登陆,匿名用户限速为60K/S,只允许下载。

监听端口为22,最大连接数为10。

新建用户ftp1,限速为200K/S,允许上传下载删除新建文件夹。

进入目录/etc/vsftpd,用vi编辑器打开vsftpd.conf主配置文件:

直接添加以下选项:

[root@LidadeFedoravsftpd]#servicevsftpdrestart

添加用户ftp1,设置登录脚本为/sbin/nologin:

vsftp默认目录为:

/var/ftp,为方便测试,在/var/ftp下新建一个文件"testLocal",在"/var/ftp/pub"新建一个文件"testAnon"。

由于使用root用户新建文件,文件的所有者为root,所以需要把文件的权限设置为644其他用户才能读取该文件

设置/var/ftp/pub权限为777,表示所有用户均有读写权限.

由于端口22被ssh服务器占用,所以需要关闭ssh服务并重启vsftp服务。

客户端用Flashfxp测试:

新建站点"VsftpTest",输入Vsftp服务器的IP地址,端口填22,用户名填ftp1,密码填你设置的密码,然后点击"连接"按钮:

由于没有使用选项:

local_root,登陆本地用户时自动跳转到该用户的主目录.没有使用chroot_local_user=yes,所以本地用户可以浏览整个文件系统中他有权限读取的文件和文件夹:

切换到目录"/var/ftp/pub",该目录的权限为777,上传一个10M以上的文件,测试ftp1的上传速度:

新建文件夹和删除权限测试省略。

下面测试匿名用户权限:

勾选"匿名"选项并连接:

匿名用户登陆成功:

进入pub目录,尝试删除testAnon文件失败,说明这里是配置文件中的anon_other_write_enable=no生效了。

最终权限等于配置文件中的权限和linux文件系统权限相或的结果。

比如vsftp配置文件中允许匿名用户下载,但光这样是不够的,还需要被下载的文件或文件夹的能够被其他用户读取。

尝试上传文件失败,符合匿名用户只允许下载的要求:

最后测试匿名用户的下载速度:

vsftp的配置参数总共也就10来行,但是想要使用好它,绝没有单单理解这10来行这么简单,需要对每一行所定义的参数都理解透彻才可以.

匿名用户的配置:

anonymous_enable=YES//允许匿名用户登录

anon_root=/var/ftp/anonymous//设定匿名用户登录后的根目录

anon_upload_enable=YES//允许匿名用户上传文件

只需要打开如上的参数即可,不用做其他的设置.本地用户登录配置

首先说一下概念,什么是本地用户,本地用户就是你系统/home目录下的用户,当然有的用户建立时候使用-m命令,使用户在/home下没有目录,但是这个词的意思就是系统里面有的用户.

local_enable=YES//允许本地用户登录

local_root=/home//限制本地用户登录后的根目录

eg:

[root@centosftp]#ftp192.168.0.125

Connectedto192.168.0.125.

220(vsFTPd2.0.5)

530PleaseloginwithUSERandPASS.

530PleaseloginwithUSERandPASS.

KERBEROS_V4rejectedasanauthenticationtype

Name(192.168.0.125:

root):

xu

331Pleasespecifythepassword.

Password:

230Loginsuccessful.

RemotesystemtypeisUNIX.

Usingbinarymodetotransferfiles.

ftp>ls

227EnteringPassiveMode(192,168,0,125,135,123)

150Herecomesthedirectorylisting.

drwx------25055034096Jun2609:

42chuan

drwx------25075074096Jun3022:

26ftp

drwx------25045024096Jun2609:

42joe

drwx------25065034096Jun2609:

43laomeng

drwx------25025044096Jun2609:

42master

drwx------25035024096Jun2609:

42mike

drwx------25005004096Jun2521:

34xiaochuan

drwxrwxrwx25085084096Jun3022:

39xu

drwx------25015014096Jun2520:

25xujunchuan

226DirectorysendOK.

ftp>pwd

257"/home"

限制用户目录部分

chroot_local_use=YES|NO//是否将本地用户锁定在家目录

chroot_list_enable=YES|NO//是否锁定使用者在家目录中

chroot_list_file=/etc/vsftpd/chroot_list//一般情况下都将这个文件写在/etc/vsftpd目录下,这个文件就是设置锁定用户的一个列表文件,其中一行就代表一个用户

设置欢迎信息

dirmessage_enable=YES

message_file=.message

[root@centosftp]#cd/home

[root@centoshome]#vi.message

welcomttoVSFTP.............

C:

\DocumentsandSettings\Administrator>ftp192.168.0.125

Connectedto192.168.0.125.

220(vsFTPd2.0.5)

User(192.168.0.125:

(none)):

xu

331Pleasespecifythepassword.

Password:

230-welcomttoVSFTP.............

230Loginsuccessful.

ftp>

虚拟账户配置

本地账户vuser,目录定在/var/ftp/vuser.虚拟账户may密码123;ccc密码123

随意哪个目录建立vuser.txt,按行将虚拟账户及其密码输入进去,我在/目录下设置的,格式如下:

may

123

ccc

123

[root@centos/]#db_load-T-thash-fvuser.txt/etc/vsftpd/vuser.db

[root@centos/]#cd/etc/vsftpd/

[root@centosvsftpd]#ls

ftpusersuser_listvsftpd.confvsftpd_conf_migrate.shvuser.db

[root@centosvsftpd]#vichroot_list

vuser

[root@centosvsftpd]#ls

chroot_listftpusersuser_listvsftpd.confvsftpd_conf_migrate.shvuser.db

[root@centosvsftpd]#vivsftpd.conf//进入配置文件,更改如下配置

anonymous_enable=NO

local_enable=YES//虚拟帐户对应的是系统本地用户,所以必须开启这一项

anon_upload_enable=YES//开启此项以后,使用虚拟账户后可以上传文件.

write_enable=YES//开启用户写权限.与上面那个参数需要同时开启,才可以上传文件

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES

guest_username=vuser

chroot_list_enable=YES//将虚拟用户锁定在其对应本地账户设置时的根目录下.

chroot_list_file=/etc/vsftpd/chroot_list

多虚拟账户对应不同目录的VSFTP

本地用户vuser,ftpvip.虚拟账户ftp1,ftp2密码均是123.ftp1对应vuser,ftp2对应ftpvip.

修改vuser.txt,添加新的虚拟账户.

[root@centosvsftpd]#vi/vuser.txt

may

123

ccc

123

ftp1

123

ftp2

123

[root@centosvsftpd]#useradd-d/var/ftp/vipftpvip

修改主conf参数,增加以下配置,填写"user_config_dir=/ftpconfig",这个就是定义不同账户对应不同目录的重要所在.

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES

user_config_dir=/ftpconfig

ftp1和ftp2用户的具体参数配置都需要/ftpconfig下的ftp1和ftp2文件来定义.我将已经写好的配置如下:

[root@centosvsftpd]#cat/ftpconfig/ftp1

local_root=/var/ftp/vuser

guest_username=vuser

anon_world_readable_only=no

[root@ce

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2