《2022年centos.配置FTP服 .pdf》由会员分享,可在线阅读,更多相关《2022年centos.配置FTP服 .pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Centos 6.5 安装配置 FTP服务器1、检查是否已经安装vsftp rpm-qa|grep vsftpd 出现vsftpd-.-*说明已经安装安装 vsftpd 通过 yum 安装:yum-y install vsftpd 通过 rpm 安装:rpm-ivh vsftpd-.-*.rpm 测试是否安装成功:service vsftpd start 设置开机启动:chkconfig vsftpd on 关闭 selinux 修改配置文件:vim/etc/selinux/config 将 SELINUX=enforcing改为 SELINUX=disabled.修改 vsftpd 配置文件
2、vim/etc/vsftpd/vsftpd.conf 找到并修改如下内容:anonymous_enable=NO(是否允许匿名)将底下三行#chroot_list_enable=YES#(default follows)#chroot_list_file=/etc/vsftpd.chroot_list 改为chroot_list_enable=YES#(default follows)chroot_list_file=/etc/vsftpd/chroot_list 保存退出添加 FTP用户新增 FTP用户”ftpuser”:useradd-d/home/ftp-s/sbin/nologin f
3、tpuser-s:禁止登录SSH权限设置用户”ftpuser”的密码:passwd ftpuser(根据提示输入密码)编辑文件chroot_list:vi/etc/vsftpd/chroot_list 内容为 ftp 用户名,每个用户占一行,如:peter john 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 13 页 -添加防火墙规则vi/etc/sysconfig/iptables 1、开放 21、20 端口#iptables-A INPUT-p tcp-dport 20-j ACCEPT#iptables-A INPUT-p tcp-dport 21-j ACCEPT
4、如果 OUTPUT默认也是DROP,那么还需要添加一下规则。#iptables-A OUTPUT-p tcp-sport 20-j ACCEPT 2、接受所有状态为ESTABLISHED、RELATED 的连接#iptables-A INPUT-m state-state ESTABLISHED,RELATED-j ACCEPT 有关 related 状态的说明:RELATED状态在有双通道的服务中会出现的。比如ftp 服务的控制通道和数据通道。client发送 syn 请求到 server 的 21 端口,中间的 linux 系统变为NEW状态。server 回复 syn+ack应答包给 c
5、lient,中间的linux 变为 ESTABLISHED 状态。当ftp 的控制通道建立完后,会建立数据通道,而数据通道的第一个包就是RELATED 状态,以后的包又变成ESTABLISHED 状态。3、配置 iptables#vi/etc/sysconfig/iptables-config 找到IPTABLES_MODULES,取消注释,添加ip_conntrack_ftp模块,保存。ip_conntrack_ftp模块可以让iptables 支持被动模式的ftp 连接。IPTABLES_MODULES=ip_conntrack_ftp 4、保存 iptables 规则、重启。servic
6、e iptables restart 重启 vsftpd service vsftpd restart 访问 FTP 使用本地PC访问:ftp:/服务器 ip 也可以通过FileZilla 等工具访问名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 13 页 -安装完成+vsftpd 文件布局/etc/vsftpd/vsftpd.conf 主配置文件/usr/sbin/vsftpd 主程序/etc/rc.d/init.d/vsftpd 启动脚本/etc/pam.d/vsftpd PAM 认证文件/etc/vsftpd.ftpusers 禁止使用 vsftpd 的用户列表文件/etc
7、/vsftpd.user_list 禁止或允许使用vsftpd 用户列表文件/var/ftp 匿名用户主目录/var/ftp/pub 匿名用户下载目录/etc/logrotate.d/vsftpd.log 日志文件+二.系统帐户1.建立 Vsftpd 服务的宿主用户:rootlocalhost#adduser-d/data guest-s/sbin/nologin 默认的 Vsftpd 的服务宿主用户是root,但是这不符合安全性的需要。 这里建立名字为vsftpd 的用户,用他来作为支持Vsftpd 的建立 Vsftpd 虚拟宿主用户: nowhere#useradd virtusers-s
8、/sbin/nologin+三、vsftpd 的配置#anonymous_enable=YES anonymous_enable=NO 设定不允许匿名访问local_enable=YES 设定本地用户可以访问。注意:如果该项目设定为NO 那么所有虚拟用户将无法访问。write_enable=YES 设定可以进行写操作。local_umask=022 设定上传后文件的权限掩码。anon_upload_enable=NO 禁止匿名用户上传。anon_mkdir_write_enable=NO 禁止匿名用户建立目录。dirmessage_enable=YES 设定开启目录标语功能。xferlog_e
9、nable=YES 设定开启日志记录功能。connect_from_port_20=YES 设定端口20 进行数据连接。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 13 页 -chown_uploads=NO 设定禁止上传文件更改宿主。chroot_local_user=YES 设定登陆后.只可以访问自己的属主目录.不可访问上一层目录文件xferlog_file=/var/log/vsftpd.log 设定 Vsftpd 的服务日志保存路径。注意,该文件默认不存在。必须要手动touch 出来,并且由于这里更改了Vsftpd 的服务宿主用户为手动建立的Vsftpd。必须注意给与
10、该用户对日志的写入权限,否则服务将启动失败。xferlog_std_format=YES 设定日志使用标准的记录格式idle_session_timeout=600 设定空闲连接超时时间,这里使用默认。data_connection_timeout=120 设定单次最大连续传输时间,这里使用默认nopriv_user=vsftpd 设定支撑Vsftpd 服务的宿主用户为手动建立的Vsftpd 用户。注意,一旦做出更改宿主用户后,必须注意一起与该服务相关的读写文件的读写赋权问题比如日志文件就必须给与该用户写入权限等。async_abor_enable=YES 设定支持异步传输功能。ascii_u
11、pload_enable=YES ascii_download_enable=YES 设定支持ASCII模式的上传和下载功能。ftpd_banner=Welcome to blah FTP service _ 设定 Vsftpd 的登陆标语。chroot_list_enable=NO 禁止用户登出自己的FTP主目录。ls_recurse_enable=NO 禁止用户登陆FTP后使用 ls-R的命令。该命令会对服务器性能造成巨大开销。如果该项被允许,那么挡多用户同时使用该命令时将会对该服务器造成威胁。listen=YES 设定该 Vsftpd 服务工作在StandAlone 模式下。pam_se
12、rvice_name=vsftpd 设定 PAM 服务下 Vsftpd 的验证配置文件名。userlist_enable=YES 设定 userlist_file 中的用户将不得使用FTP。tcp_wrappers=YES 服务器使用tcp_wrappers 作为主机的访问控制方式。以下这些是关于Vsftpd 虚拟用户支持的重要配置项目。默认Vsftpd.conf 中不包含这些设定项目,需要自己手动添加配置。guest_enable=YES 设定启用虚拟用户功能。guest_username=virtusers 指定虚拟用户的宿主用户。virtual_use_local_privs=YES 设
13、定虚拟用户的权限符合他们的宿主用户。user_config_dir=/etc/vsftpd/vconf 设定虚拟用户个人Vsftp 的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个Vsftp 虚拟用户个性的配置文件,一个需要注意的地方就是这些配置文件名必须和虚拟用户名相同。保存退出。max_clients=99 服务器的最大并发数max_per_ip=5 用户最大线程数anon_max_rate=1000000 设置本底账号最大传输率为1Mbps 禁止某些IP段得主机匿名访问服务器tcp_wrappers=YES 编辑/etc/hosts.allow 增加名师资料总结-精品资料欢迎
14、下载-名师精心整理-第 4 页,共 13 页 -vsftpd:192.168.110.11:DENY 查看 ftp 日志xferlog_enable=YES 上传和下载日志文件记录/var/log/vsftpd.log xferlog_std_format=YES 传输日志文件将以标准xferlog 的格式书写/var/log/xferlog xferlog_file=/var/log/xferlog dual_log_enable=YES vsftpd_log_file=/var/log/vsftpd.log 通过本底数据文件实现虚拟用户访问安装 db4-utils yum install
15、db4-utils 创建本地映射用户,修改本底映射用户目录权限useradd-d/data/ftp/temp-s/sbin/nologin game chmod o=rwx/data/ftp/temp 修改/etc/vsftpd/vsftpd.conf guest_enable=YES guest_username=zqgamexw 生成虚拟用户文件/etc/vsftpd/vsftpuser.txt test001 虚拟 user 123456 虚拟 passwd 生成虚拟用户数据文件db_load-T-t hash-f/etc/vsftpd/vsftpuser.txt/etc/vsftpd/
16、vsftpuser.db 修改生成的用户数据文件权限chmod 600/etc/vsftpd/vsftpuser.db 修改 PAM 认证文件/etc/pam.d/vsftpd 注销原有内容后添加auth required/lib/security/pam_userdb.so db=/etc/vsftpd/vsftpuser account required/lib/security/pam_userdb.so db=/etc/vsftpd/vsftpuse 建立 Vsftpd 的日志文件,并更该属主为Vsftpd 的服务宿主用户:rootlocalhost#touch/var/log/vsf
17、tpd.log rootlocalhost#chown vsftpd.vsftpd/var/log/vsftpd.log 建立虚拟用户配置文件存放路径:rootlocalhost#mkdir/etc/vsftpd/vconf/制作虚拟用户数据库文件名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 13 页 -先建立虚拟用户名单文件:rootlocalhost#touch/etc/vsftpd/virtusers 建立了一个虚拟用户名单文件,这个文件就是来记录vsftpd 虚拟用户的用户名和口令的数据文件,这里给它命名为virtusers。为了避免文件的混乱,我把这个名单文件就放置在
18、/etc/vsftpd/下。编辑虚拟用户名单文件:rootlocalhost#vi/etc/vsftpd/virtusers-ftp001 123456 ftp002 123456 ftp003 123456-编辑这个虚拟用户名单文件,在其中加入用户的用户名和口令信息。格式很简单:“一行用户名,一行口令”。3.生成虚拟用户数据文件:rootlocalhost#db_load-T-t hash-f/etc/vsftpd/virtusers/etc/vsftpd/virtusers.db 4.察看生成的虚拟用户数据文件rootlocalhost#ll/etc/vsftpd/virtusers.db
19、-rw-r-r-1 root root 12288 Sep 16 03:51/etc/vsftpd/virtusers.db 需要特别注意的是,以后再要添加虚拟用户的时候,只需要按照“一行用户名,一行口令”的格式将新用户名和口令添加进虚拟用户名单文件。但是光这样做还不够,不会生效的哦!还要再执行一遍“db_load-T-t hash-f 虚拟用户名单文件虚拟用户数据库文件.db”的命令使其生效才可以!设定 PAM验证文件,并指定虚拟用户数据库文件进行读取1.察看原来的Vsftp 的 PAM 验证配置文件:rootlocalhost#cat/etc/pam.d/vsftpd-#%PAM-1.0
20、session optional pam_keyinit.so force revoke auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers nerr=succeed auth required pam_shells.so 名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 13 页 -auth include system-auth account include system-auth session include system-auth session required pa
21、m_loginuid.so-2.在编辑前做好备份:rootlocalhost#cp/etc/pam.d/vsftpd/etc/pam.d/vsftpd.backup 3.编辑 Vsftpd 的 PAM 验证配置文件rootlocalhost#vi/etc/pam.d/vsftpd-#%PAM-1.0 auth required/lib/security/pam_userdb.so db=/etc/vsftpd/virtusers account required/lib/security/pam_userdb.so db=/etc/vsftpd/virtusers 以上两条是手动添加的,上面的
22、全部加#注释了.内容是对虚拟用户的安全和帐户权限进行验证。!这里有个要注意说明的:如果系统是64 位系统在这里的所有lib 后面要加入64!如下这样才可以:#%PAM-1.0 auth required/lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers account required/lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers 五.虚拟用户的配置1.规划好虚拟用户的主路径:rootlocalhost#mkdir/opt/vsftp/2.建立测试用户的FTP用户目录:roo
23、tlocalhost#mkdir/opt/vsftp/ftp001/opt/vsftp/ftp002/opt/vsftp/ftp003 3.建立虚拟用户配置文件模版:rootlocalhost#cp/etc/vsftpd/vsftpd.conf.backup/etc/vsftpd/vconf/vconf.tMP4.定制虚拟用户模版配置文件:rootlocalhost#vi/etc/vsftpd/vconf/vconf.tmp-local_root=/opt/vsftp/virtuser virtuser 这个就是以后要指定虚拟的具体主路径。anonymous_enable=NO 设定不允许匿名
24、用户访问。write_enable=YES 设定允许写操作。local_umask=022 名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 13 页 -设定上传文件权限掩码。anon_upload_enable=NO 设定不允许匿名用户上传。anon_mkdir_write_enable=NO 设定不允许匿名用户建立目录。idle_session_timeout=600(根据用户要求.可选)设定空闲连接超时时间。data_connection_timeout=120 设定单次连续传输最大时间。max_clients=10(根据用户要求.可选)设定并发客户端访问个数。max_per
25、_ip=5(根据用户要求.可选)设定单个客户端的最大线程数,这个配置主要来照顾Flashget、迅雷等多线程下载软件。local_max_rate=50000(根据用户要求.可选)设定该用户的最大传输速率,单位b/s。pam_service_name=vsftpd chroot_local_user=YES-这里将原 vsftpd.conf 配置文件经过简化后保存作为虚拟用户配置文件的模版。这里将并不需要指定太多的配置内容,主要的框架和限制交由Vsftpd 的主配置文件vsftpd.conf 来定义,即虚拟用户配置文件当中没有提到的配置项目将参考主配置文件中的设定。而在这里作为虚拟用户的配置文
26、件模版只需要留一些和用户流量控制,访问方式控制的配置项目就可以了。这里的关键项是 local_root 这个配置,用来指定这个虚拟用户的FTP主路径。5.更改虚拟用户的主目录的属主为虚拟宿主用户:rootlocalhost#chown-R virtusers.virtusers/opt/vsftp/6.检查权限:rootlocalhost#ll/opt/vsftp/total 24 drwxr-xr-x 2 overlord overlord 4096 Sep 16 05:14 ftp001 drwxr-xr-x 2 overlord overlord 4096 Sep 16 05:00 ft
27、p002 drwxr-xr-x 2 overlord overlord 4096 Sep 16 05:00 ftp003.给测试用户定制:1.从虚拟用户模版配置文件复制:rootlocalhost#cp/etc/vsftpd/vconf/vconf.tmp/etc/vsftpd/vconf/ftp001 2.针对具体用户进行定制:rootlocalhost#vi/etc/vsftpd/vconf/ftp001 名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 13 页 -local_root=/opt/vsftp/ftp001(FTP用户 ftp001 的登陆目录文件)anonym
28、ous_enable=NO write_enable=YES local_umask=022 anon_upload_enable=NO anon_mkdir_write_enable=NO idle_session_timeout=300 data_connection_timeout=90 max_clients=1 max_per_ip=1 local_max_rate=25000 pam_service_name=vsftpd chroot_local_user=YES-七.启动服务:rootlocalhost#service vsftpd start Starting vsftpd
29、for vsftpd:OK 八.测试:1.在虚拟用户目录中预先放入文件:rootlocalhost#touch/opt/vsftp/ftp001/test.txt 2.从其他机器作为客户端登陆FTP:可以 IE或 FTP客户端软直接访问ie 里输入ftp:/127.0.0.1(服务器 IP)弹出对话框后.输入 FTP用户名和密码-注意:在/etc/vsftpd/vsftpd.conf中,local_enable 的选项必须打开为Yes,使得虚拟用户的访问成为可能,否则会出现以下现象:-rootlocalhost#ftp ftp open 192.168.1.22 Connected to 19
30、2.168.1.22.500 OOPS:vsftpd:both local and anonymous access disabled!-原因:虚拟用户再丰富,其实也是基于它们的宿主用户virtusers 的,如果 virtusers 这个虚拟用户的宿主被限制住了,那么虚拟用户也将受到限制。名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 13 页 -补充:1.要查看服务器自带的防火墙有无挡住FTP 21端口导致不能访问2.查看SELinux 禁用没有.要禁用3.500 OOPS:错误有可能是你的vsftpd.con 配置文件中有不能被实别的命令,还有一种可能是命令的 YES 或
31、NO 后面有空格。4.要仔细查看各个用到的文件夹权限,及用户属主权限等1 如何新加FTP用户打开密码文件里加入(一行是用户.一是密码.依次类推)#vi/etc/vsftpd/virtusers 加入用户后保存退出#db_load-T-t hash-f/etc/vsftpd/virtusers/etc/vsftpd/virtusers.db(然后生成新的虚拟用数据文件)#cp/etc/vsftpd/vconf/vconf.tmp d(新建 d 用户,用虚拟用户模板vconf.tmp 文件生成 d 虚拟用户文件)#vi/etc/vsftpd/vconf/d(打开 D 虚拟用户文件.在第一行最后加入
32、该用户对应的FTP目录)#mkdir/opt/vsftp/WWW(新建 WWW 目录为 d FTP用户登陆目录)#service vsftpd restart-2 如何修改FTP 用户登陆密码打开密码文件里加入(第一行是用户.第二是密码.依次类推,只要改对应用户下面的密码即可)#vi/etc/vsftpd/virtusers#db_load-T-t hash-f/etc/vsftpd/virtusers/etc/vsftpd/virtusers.db(然后生成新的虚拟用数据文件)#service vsftpd restart 1 安装并启动服务rootedwin.org#rpm qa|grep
33、 vsftpd;查看是否安装vsftpd 服务rootedwin.org#yum install vsftpd;安装 vsftpd 服务名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 13 页 -rootedwin.org/etc/init.d/vsftpd start;启动服务rootedwin.org#chkconfig vsftpd on;让系统服务随着系统启动而启动配置相关文档:#vi/etc/vsftpd/vsftpd.conf 复制代码禁止匿名用户访问:anonymous_enable=YES,将 YES改为 NO 在文件末尾加如下的设置:pasv_enable=Y
34、ES;允许被动模式pasv_min_port=10000;被动模式使用端口范围pasv_max_port=10010 local_max_rate=200000;用户宽带限制chroot_local_user=YES;禁用户离开主目录注意:设置pasv 端口后,需要修改防火墙,如在centOs 里,修改如下:iptables-A RH-Firewall-1-INPUT-p tcp-dport 10000:10010-j ACCEPT 2添加虚拟主机用户添加用户 edwin,用户目录指定为/var/www/ftp/edwin,且此用户不能登陆系统.#mkdir/var/www/ftp/edwin
35、#useradd s/sbin/nologin-g ftp d/var/www/ftp/edwin edwin 注-s/sbin/nologin是让其不能登陆系统,-d 是指定用户目录为/var/#passwd edwin 这是我设置的密码#chown R edwin:ftp/var/www/ftp/edwin 四,VsFTPd相关的配置详解1.匿名用户相关设置anonymous_enable=YES,将 YES改为 NO,禁止匿名用户登陆#non_mkdir_write_enable=YES,将#注释去掉,允许匿名用户创建目录#non_upload_enalbe=YES,将#去掉,允许匿名用
36、户上传anon_world_readable_only=YES,允许匿名用户下载,默认是禁止的,这个可以自行添加。Anon_other_write_enable=YES,将其设为YES的话,就除了上传和创建目录外,还可以重命名,删除文件,默认是NO no_anon_password=NO,将其设为YES,匿名用户不会查询用户密码直接登陆。ftp_username=ftp,匿名用户登陆系统的账号默认为ftp,此项最好不要改,否则设置不当会给系统的安全带来威胁。2.FTP服务端口的指定listen_port=8021,指定命令通道为8021,默认为 21 listen_data_port=8020
37、,指定数据通道为8020,默认为 20 名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 13 页 -3.上传模式的设置pasv_enable=YES,是否允使用被动模式,默认是允许的。pasv_min_port=10000,指定使用被动模式时打开端口的最小值pasv_max_port=10004,指定使用被动模式时打开端口的最大值。4.Vsftp 服务器指定IP地址listen_address=192.168.0.21,指定 FTP,IP地址注:只有当vsftp 运行于独立模式时才允许使用指定IP,如果在/etc/xinetd.d目录下已经建立了 vsfpd 文件,就要将该文件
38、中的disable 设置为 yes,方可。5.锁定用户,禁止用户离开用户主目录chroot_local_user=YES,将其设为YES,就锁定在用户主目录,设为NO,可以切换将指定用户设置为锁定用户主目录:#chroot_list_enable=YES#chroot_list_file=/etc/vsftpd.chroot_list 将其改为如下:chroot_list_enable=NO chroot_list_file=/etc/vsftpd/vsftpd.chroot_list 将上面保存,再做如下操作:#touch/etc/vsftpd/vsftpd.chroot_list#vi/e
39、tc/vsftpd/vsftpd.chroot_list,在该文件中加入用户名单,如:netseek_com 6.FTP服务器的流量控制max_clients=100;允许的最大连接数,定义为100,默认为0,表没有限制max_per_ip=5;每个 IP允许的连接数,0 表没有限制,需要运行于独立模式方可anon_max_rate=50000;匿名用户最大带宽,单位为bps local_max_rate=200000;系统用户最大带宽如何对指定用户进行流量限制呢?#vi/etc/vsftpd/vsftpd.conf,添加一行:user_config_dir=/etc/vsftpd/userc
40、onf#touch/etc/vsftpd/userconf/netseek_com 为 netseek_com 这个用户建立一个netseek_com 文件#vi/etc/vsftpd/userconf/netseek_com 添加以下内容local_max_rate=100000 保存重启服务即可.7.定制欢迎信息名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 13 页 -目录说明设置#vi/etc/vsftpd/vsftpd.conf#dirmessage_enable=YES,前的#去掉。然后我们定制一个.message,写上你想写的东西,然后把这个文件复制到各个用户的家目录中,就 OK。系统欢迎消息设置ftpd_banner=Welcome to ,Yeah!系统欢迎消息文件设置banner_file=/etc/vsftpd/welcome 与 ftpd_banner 相类似,不同之处在于,banner_file 指定欢迎文件.名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 13 页 -