第十一章:《FTP文件传输服务》 1.FTP连接及传输模式: 1)主动模式:服务器主动发起数据连接。 2)被动模式:服务器被动等待被客户端连接。

2.传输模式: 1)文本模式,也叫ASCII模式,只用于纯文本传输。 2)二进制模式,也叫Binary模式,二进制模式效率更高,一般系统会自行匹配,无须手动干预。

3.FTP用户类型: 1)匿名用户;(常用,无须密码可登陆) 2)本地用户;(不常用,一般属于系统用户,不安全) 3)虚拟用户;(常用,关联到本地用户的一个虚拟用户)

在linux中一般用vsftp这个软件。 ftpusers文件:类似黑名单,在此文件中的用户将无法登陆FTP服务器。 user_list文件:在此文件中的用户,是否可以登录FTP服务器看vsftp.conf中具体的配置,默认启用了用户无法登陆。

匿名用户的配置文件: [root@www ~]# egrep -v "^$|^#" /etc/vsftpd/vsftpd.conf anonymous_enable=YES(启用匿名用户) write_enable=YES(支持任何方式的写入) anon_umask=022(匿名用户上传数据的权限掩码) dirmessage_enable=YES xferlog_enable=YES(启用xferlog日志,默认在/var/log/xferlog) connect_from_port_20=YES(允许服务器主动模式) xferlog_std_format=YES(启用标准的xferlog日志格式) listen=YES(是否以独立运行的方式监听服务) pam_service_name=vsftpd(用户认证,匿名用户无需设置) tcp_wrappers=YES anon_upload_enable=YES(允许匿名用户上传文件) anon_mkdir_write_enable=YES(允许匿名用户创建目录) anon_other_write_enable=YES(允许匿名用户有其他的写入权限;如:删除、覆盖、改名。)

本地用户的配置文件 [root@www ~]# egrep -v "^$|^#" /etc/vsftpd/vsftpd.conf local_enable=YES(启用本地用户) write_enable=YES local_umask=022(本地用户上传数据的权限掩码) dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_local_user=YES(将本地用户锁定在其家目录中,一般为了安全,都会锁定) listen=YES pam_service_name=vsftpd userlist_enable=NO tcp_wrappers=YES

配置虚拟用户: 1.建立虚拟用户和数据库 vim vuser.list db_load -T -t hash -f vuser.list vuser.db chmod 600 vuser.* 2.创建虚拟用户映射的系统用户 useradd -d /var/market/ -s /sbin/nologin hongwu chmod 755 /var/market/ 3.设置虚拟用户的认证 vim /etc/pam.d/vsftpd .vu 4.配置FTP的配置文件(如*配置) vim vsftpd.conf 5.创建虚拟用户的配置目录 mkdir vusers_dir 6.编辑在虚拟用户的配置目录对应的虚拟用户,为其添加对应的权限 vim devadm 7.重新加载服务 /etc/init.d/vsftpd reload

*虚拟用户的配置文件: [root@www ~]# egrep -v "^$|^#" /etc/vsftpd/vsftpd.conf local_enable=YES write_enable=YES anon_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_local_user=YES listen=YES user_config_dir=/etc/vsftpd/vuser_conf(虚拟用户的具体权限的配置路径) guest_enable=YES(启用虚拟用户) guest_username=hongwu(虚拟用户映射的系统用户名) pam_service_name=vsftpd.vu(虚拟用户认证的文件) userlist_enable=NO(是否启用userlist文件) tcp_wrappers=YES