FTP使用两个端口

21 是建立连接

20 是传输数据

FTP模式,主动模式和被动模式

主动模式,也是默认的模式,建立连接后,FTP服务器会主动通过20端口向客户端发送数据。

vsftp_客户端

被动模式,中间有防火墙,FTP服务器会开启端口等待客户端来连接自己。

vsftp_blank_02

vsftp的三种用户模式

匿名用户 不需要输入密码

本地用户 以本地用户验证账号和密码

虚拟用户 只在FTP上专有的用户账号(增加安全性)

FTP配置文件

anonymous_enable=YES 允许匿名访问

local_enable=YES 允许本地用户访问

write_enable=YES 本地用户可上传,删除,重命名等

local_umask=022 本地用户上传文件的隐藏权限

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

#anon_mkdir_write_enable=YES 允许匿名用户新建或写入文件

在做实验过程中,客户端访问出错如没有权限创建文件或上传文件,检查一下防火墙及SElinux 关闭SELinux

#vi /etc/selinux/config

SELINUX=disabled 关闭SELinux 需重启

匿名用户上传下载

/var/ftp/ ftp匿名用户的家目录,权限755不能更改,切忌

#chown ftp pub 把pub文件的属主改为ftp程序用户

把配置文件下的两行注释去掉

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

anon_mkdir_write_enable=YES 允许匿名用户新建或写入文件

重启服务,使用客户端访问,

本地用户

客户端在使用本地用户登录的时候,如不做设置默认登录的是它的家目录。

关闭匿名用户访问

使用chroot锁定本地用户的家目录,

#vi /etc/vsftpd/vsftpd.conf 编辑配置文件

#useradd test1 新建用户test1

#usermod –s /sbin/nologin test1 为了安全,不让此用户登录到系统

local_root=/var/www/html 设定本地用户的家目录

chroot_local_user=YES 本地用户使用chroot

chroot_list_enable=YES 使用chroot列表

# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list chroot列表在/etc/vsvtpd/chroot_list 这个文件没有则新建

新建chroot列表后,把本地用户名输入到chroot_list文件中,可以不被chroot锁定在固定的目录里

虚拟用户

虚拟用户使用PAM认证方式,把账号和密码于/etc/passwd文件分开用哈希算法加密,防止别人暴力破解,或破解后使用chroot锁定家目录对系统不能照成危害

使用虚拟用户后不能使用本地用户需把配置文件中local_root=/var/www/html给注释掉不能同时使用。或者让两者不在同一配置文件下,才不会冲突

#vi /etc/vsftpd/virtualuser 创建虚拟用户文件

vip 账户名

123 密码

ftp 账号名

123 密码

# yum install db4* 安装db4软件包

#db_load –T –t hash –f virtualuser virutaluser.db 把虚拟用户文件创建数据库文件并-t是指定hash算法加密 -f 是文件

#chmod 600 virtualuser.db 为了安全更改600权限

#useradd –s /sbin/nologin vip 新建用户

#chmod 777 /home/vip 修改家目录的权限

#vim /etc/pam.d/vsftpd

把所有内容用#号全部注释掉,在添加两行

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/virtualuser(注意比如virtualuser.db文件,在这里不用加.db)

account required /lib/security/pam_userdb.so db=/etc/vsftpd/virtualuser

保存退出

#vi /etc/vsftpd/vsftpd.conf

guest_enable=YES 是否启用虚拟用户,如不启用按本地用户登录

quest_username=vip 所有其他虚拟用户都登录到vip用户的家目录里

pam_service_name=vsftpd 配置vsftpd使用的PAM模块为vsftpd

userlist_enable=YES

tcp_wrappers=YES

客户端

#wget ftp://172.16.1.4/pub/file 下载文件