21:传输控制使用,进行身份验证受权访问数据库
- 20:传输数据使用
主动模式:服务器端经过20号端口给客户端传输数据,POST指令表示主动链接,默认工做在主动模式vim
- 被动模式:服务器端开放指定范围的端口号等待客户端创建数据链接,pasv指令表示被动模式
文本 模式:文本模式不支持传输流媒体数据,支持文本文件centos
- 二进制模式:使用普遍支持传输文本文件流媒体数据
匿名:使用ftp用户或者anonymous帐户验证不须要密码安全
本地身份验证:须要使用帐户密码进行身份验证后访问数据服务器
- 虚拟帐户验证:将多个用户映射到一个系统帐户进行验证
[root@centos01 ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm <!--安装ftp服务器端--> [root@centos01 ~]# rpm -ivh /mnt/Packages/ftp-0.17-67.el7.x86_64.rpm <!--安装ftp客户端-->
[root@centos01 ~]# vim /etc/vsftpd/vusers.list <!--奇数行是用户名,偶数行是密码--> bob pwd@123 tom pwd@123 alice pwd@123
[root@centos01 ~]# db_load -T -t hash -f /etc/vsftpd/vusers.list /etc/vsftpd/vusers.db
[root@centos01 ~]# mkdir /benet [root@centos01 ~]# useradd -d /benet/ftproot -s /sbin/nologin virtual
[root@centos01 ~]# chmod 755 /benet/ftproot/
[root@centos01 ~]# vim /etc/pam.d/vsftpd.vu #%PAM-1.0 auth required pam_userdb.so db=/etc/vsftpd/vusers account required pam_userdb.so db=/etc/vsftpd/vusers
[root@centos01 ~]# mkdir /etc/vsftpd/vusers_dir
[root@centos01 ~]# vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO <!--是否容许匿名访问--> local_enable=YES <!--是否容许本地系统用户访问--> write_enable=YES <!--启用任何形式的写入权限(如上传、删除文件等)--> local_umask=022 <!--设置本地用户所上传文件的默认权限掩码值--> anon_umask=022 <!--设置匿名用户所上传文件的默认权限掩码值--> dirmessage_enable=YES<!--用户切换进入目录时显示.message文件(若是存在)的内容--> xferlog_enable=YES <!--启用xferlog日志,默认记录到/var/log/xferlog--> connect_from_port_20=YES <!--容许服务器主动模式(从20端口创建数据链接)--> xferlog_std_format=YES <!--启用标准的xferlog日志格式, 若禁用此项,将使用vsftp本身的日志格式--> listen=NO <!--是否以独立运行的方式监听服务--> listen_ipv6=YES chroot_local_user=YES<!--是否将FTP本地用户禁锢在宿主目录中--> allow_writeable_chroot=YES<!--容许被限制用户的主目录具备写权限--> guest_enable=YES guest_username=virtual <!--指定映射的系统用户名称--> user_config_dir=/etc/vsftpd/vusers_dir/ <!--位不一样的虚拟用户创建独立的配置文件--> pam_service_name=vsftpd.vu <!--指定新的PAM认证文件--> userlist_enable=YES <!--是否启用user_list用户列表文件--> tcp_wrappers=YES <!--是否启用TCP_Wrappers主机访问控制-->
[root@centos01 ~]# touch /etc/vsftpd/vusers_dir/bob [root@centos01 ~]# touch /etc/vsftpd/vusers_dir/tom [root@centos01 ~]# touch /etc/vsftpd/vusers_dir/alice
[root@centos01 ~]# vim /etc/vsftpd/vusers_dir/bob anon_upload_enable=YES <!--容许上传数据--> anon_mkdir_write_enable=YES <!--容许建立目录或文件--> anon_other_write_enable=YES <!--容许删除或覆盖文件目录-->
[root@centos01 ~]# vim /etc/vsftpd/vusers_dir/tom anon_upload_enable=YES <!--容许上传数据-->
[root@centos01 ~]# chown virtual:virtual /benet/ftproot/
[root@centos01 ~]# systemctl start vsftpd <!--启动服务--> [root@centos01 ~]# systemctl enable vsftpd <!--设置开机自动启动-->
listen=NO: 是否以独立运行的方式监听服务;app
listen_address=IP地址:设置监听f t p服务的ip地址,默认监听全部IP地址;tcp
listen_port=21:设置监听ftp服务的端口号;ide
write_enable=YES:开启写入权限;ui
download_enable=YES:容许下载权限;日志
dirmessage_enable=YES:用户切换进入目录时显示 “.message”文件(若是已存在)的内容;
xferlog_enable=YES:启用xferlog日志,默认记录到 /var/log/xferlog;
xferlog_std_format=YES:ftp日志格式;
connect_from_port_20=YES:数据链接端口号默认20;
pasv_enable=NO:禁止被动模式链接;默认容许被动模式链接;
pasv_max_port=21600:起始端口号;
pasv_min_port=21700:结束端口号;
pam_service_name=vsftpd:开启PAM验证;
userlist_enable=YES:容许user_list列表用户登陆ftp;
userlist_deny=YES:不容许user_list列表用户登陆ftp;
max_clients=0:限制多个客户端同时链接(0为无限制);
max_per_ip=0:容许相同IP地址访问ftp链接次数(0为无限制);
tcp_wrappers=YES:ftp的访问控制列表提高安全性使用
匿名配置项字段详解;anonymous_enable=YES:是否容许匿名访问;
anon_umask=022:设置匿名用户所上传文件的默认权限掩码值(反掩码);
anon_root=/var/ftp:设置匿名用户的FTP根目录;
anon_upload_enable=YES;是否容许匿名用户上传文件;
anon_mkdir_write_enable=YES:是否容许匿名用户由建立目录的写入权限;
- anon_other_write_enable=YES:是否容许匿名用户有其余写入权限,如对文件更名、覆盖及删除文件等;
local_enable=YES:是否容许本地用户访问;
local_umask=022:设置本地用户所上传文件的默认权限掩码值(反掩码);
local_root=/var/ftp:设置本地用户的FTP根目录(默认为用户的宿主目录);
chroot_local_user=YES:是否将FTP本地用户禁锢在宿主目录中;
allow_writeable_chroot=YES:容许被限制用户的主目录具备写权限;
- local_max_rate=0:限制本地用户的最大传输速率(0为无限制),单位为字节/秒(B/s);
guest_username=test:指定映射的系统用户名称;
guest_enable=YES:是否启用虚拟用户;
allow_writeable_chroot=容许被限制用户的主目录具备写权限(此项必须写入,不然可能会报错);
anon_world_readable_only=NO:容许用户下载目录内容;
anon_other_write_enable=YES:容许匿名用户有其余写入权限,如重命名、覆盖及删除文件等;
- user_config_dir=/etc/vsftpd/vusers_dir:指定虚拟用户独立的配置文件目录;
———————— 本文至此结束,感谢阅读 ————————