FTP服务
1、 FTP服务的端口号
21端口:传输FTP的控制命令
20端口:传输文件数据
2、 FTP的数据传输模式
主动模式
FTP客户端向服务器的FTP控制端口(21端口)发出连接请求,服务器接受连接,建立一条命令链路;当需要传输数据时,客户端在命令链路上用PORT命令告诉服务器,自己打开了某个端口,服务器从20端口向客户端的指定端口发出连接请求,建立一条数据链路来传送数据。(ftp>sendport)
被动模式
FTP客户端向服务器的FTP控制端口(21端口)发出连接请求,服务器接受连接,建立一条命令链路;当需要传输数据时,服务器在命令链路上用PASV命令告诉客户端,自己打开了某个端口,客户端向服务器的指定端口发出连接请求,建立一条数据链路来传送数据。(ftp>passive)
3、 FTP服务器软件
Wu-ftpd ——
Proftpd ——
vsftpd ——
4、 transformerfactory防xml注入FTP客户端软件
ftp命令
gftp ——
Filezilla —— filezilla.sourceforge(windows下的开放源代码的FTP客户端)
5、 服务器和客户端之间的防火墙设置策略
对于工作在主动模式下的服务器:
允许FTP客户端从大于1024的端口连接FTP服务器的21端口
redis存储并设置过期时间允许FTP服务器从21端口回应FTP客户端大于1024端口的网络连接
允许FTP服务器从20端口主动连接FTP客户端中大于1024的端口
允许FTP客户端从大于1024的端口回应来自FTP服务器的20端口的网络连接
对于工作在被动模式下的服务器:
允许FTP客户端从大于1024的端口连接FTP服务器的21端口
允许FTP服务器从21端口回应FTP客户端大于1024端口的网络连接
允许FTP客户端从大于1024的端口主动连接FTP服务器中大于1024的端口
允许FTP服务器从大于1024的端口回应来自FTP客户机大于1024端口的网络连接
6、 FTP服务器配置——vsftpd服务器
1)安装vsftpd(第一张安装光盘中)
  2)vsftpd服务器的配置文件
主配置文件——/etc/f
    f文件中常用的配置:
anonymous_enable :设置为YES时,FTP服务器允许匿名登录。
local_enable :设置为YES时,FTP服务器允许本地用户登录。
write_enable :设置为YES时,FTP服务器开放对本地用户的写权限。
local_umask :设置本地用户的文件生成掩码,配置文件中设置为022。
dirmessage_enable :设置为YES时,将显示目录下的“.message”隐含文件内容。
xferlog_enable :设置为YES时,FTP服务器将启用上传和下载日志。
xferlog_std_format :设置为YES时,FTP服务器将使用标准的ftpd xferlog日志格式。
connect_from_port_20 :设置为YES时,FTP服务器将启用数据端口(20)的连接请求。
pam_service_name :设置PAM认证服务的配置文件名称,该文件保存在“/etc/pam.d”
目录下。
userlist_enable :设置为YES时,FTP服务器将检查userlist_file设置文件中指定的用
户是否可以访问vsftpd服务器;userlist_file配置项的默认值是“/etc/vsftpd.user_list”文件。
userlist_deny :设置为YES时,vsftpd.user_list文件用于设置禁止登录的用户账号;
                  设置为NO时,vsftpd.user_list文件用于设置允许登录的用户账号。
listen :设置为YES时,FTP服务器处于独立启动模式(相对于受xinetd管理的启动模
式)。
tcp_wrappers :设置为YES时,FTP服务器将使用tcp_wrappers作为主机访问控制方
式。tcp_wrappers可以实现Linux系统中网络服务的基于主机地址的访问控制,在“/etc”目录中的hosts.allow(允许访问记录)和hosts.deny(拒绝访问记录)两个文件用于设置tcp_wrappers的访问控制。
chroot_local_user :设置为YES时,vsftpd服务器将会把本地用户禁锢在用户宿主目录
中。
max_clients :用于设置FTP服务器所允许的最大客户端连接数,0表示无限制。
max_per_ip :用于设置对于同一IP地址允许的最大客户端连接数,0表示无限制。
local_max_rate :设置本地用户的最大传输速率,单位为B/s,0表示不限制。sci录用后多久可以检索
anon_max_rate :设置匿名用户的最大传输速率,单位为B/s,0表示不限制。
/etc/vsftpd.ftpusers文件
保存不允许进行FTP登录的本地用户帐号,通常是在系统中具有较高权限的帐户。
/etc/vsftpd.user_list文件
需要与f文件中的配置结合来实现对/etc/vsftpd.user_list文件中指定的用户帐号的访问控制。
userlist_enable=YES    //  FTP服务器将检查userlist_file设置文件中指定的用
户是否可以访问vsftpd服务器。
userlist_deny=YES      //  vsftpd.user_list文件用于设置禁止登录的用户账号;
          userlist_deny= NO      //  vsftpd.user_list文件用于设置允许登录的用户账号。
  3)vsftpd服务的启动和关闭
      启动:service  vsftpd  start
      关闭:service  vsftpd  stop三个表率心得体会
linux修改口令的命令
7、 测试FTP服务的用户登录
1) 匿名用户登录
匿名登录帐户和密码
帐户:ftp                    密码:ftp或空
帐户:anonymous              密码:任意E-mail地址或空
登录后的根目录——/var/ftp
测试命令
netstat –n          // 测试服务器21端口与客户机建立的链路
2) 本地用户登录
本地用户登录后,在用户的宿主目录中,并且可以转换到系统的根目录。
为了解决本地用户登录后造成的不安全现象,可以将本地用户禁锢在其宿主目录中,具体设置:
在vsftpd服务器的配置文件f中添加配置项:“chroot_local_user=YES”。
3) 虚拟用户登录
vsftp服务器中使用虚拟帐户需要以下几个步骤:
建立虚拟用户帐号的口令库文件
口令库文件的名称可以任意,但要和后面的引用对应。
口令库文件中,奇数行设置虚拟用户的用户名,偶数行设置用户口令。
使用db_load命令由生成口令认证文件/etc/vsftpd/vstpd_login.db
口令认证文件“vstpd_login.db”可任意命名,但应以后缀名“.db”结尾。应更改认证文件的权限,使得只有管理员可以查看修改。
在“/etc/pam.d/”目录下建立vsftpd服务器中虚拟用户认证的PAM文件vsftpd
vsftpd文件中添加以下记录:
auth  required  /lib/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login
account  required  /lib/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login
vsftpd_login”文件为上一步中生成的口令认证文件,后缀名“.db”应省略。vsftpd文件中的原有记录可以删除或在其前面加“#”将其改为注释。
建立vsftp虚拟用户所需的系统用户“virtual”,指定其宿主目录是“/home/ftpsite”,并设置该目录的权限为700(只读)
f配置文件中进行虚拟用户的相关设置,包括如下内容:
guset_enable=YES
guest_username=virtual
pam_service_name=vsftpd
重新启动vsftpd服务
使用FTP命令连接FTP服务器,并使用已设置的虚拟用户登录
附录:
1、 如何对不同的虚拟用户设置不同的权限:
1) 设置主配置文件
f文件中添加以下配置项:
user_config_dir=/etc/vsftpd_user_conf  // 设置在“/etc/vsftpd_user_conf 目录中保存虚拟用户的配置文件。
2) 建立虚拟用户配置文件目录
nginx长连接负载均衡mkdir  /etc/vsftpd_user_conf
3) 为虚拟用户建立单独得配置文件
cat  /etc/vsftpd_user_conf/mike          // 为用户mike建立配置文件mike
anon_world_readable_only=NO      // 表示用户可以浏览FTP目录和下载文件。
anon_upload_enable=YES            // 表示用户可以上传文件。
anon_mkdir_write_enable=YES      // 表示用户具有建立和删除目录的权利。
anon_other_write_enable=YES      // 表示用户具有文件改名和删除文件的权利。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。