安装vsftpd服务程序
yum install vsftpd -y
Vsftpd的程序与配置文件:
主程序 | /usr/sbin/vsftpd |
用户禁止登陆列表 | /etc/vsftpd/ftpusers /etc/vsftpd/user_list |
主配置文件 | /etc/vsftpd/vsftpd.conf |
vsftpd程序配置文件参数的作用:
参数 | 作用 |
listen=[YES|NO] | 是否以独立运行的方式监听服务。 |
listen_address=IP地址 | 设置要监听的IP地址。 |
listen_port=21 | 设置FTP服务的监听端口。 |
download_enable=[YES|NO] | 是否允许下载文件。 |
userlist_enable=[YES|NO] userlist_deny=[YES|NO] | 是否启用“禁止登陆用户名单”。 |
max_clients=0 | 最大客户端连接数,0为不限制。 |
max_per_ip=0 | 同一IP地址最大连接数,0位不限制。 |
anonymous_enable=[YES|NO] | 是否允许匿名用户访问。 |
anon_upload_enable=[YES|NO] | 是否允许匿名用户上传文件。 |
anon_umask=022 | 匿名用户上传文件的umask值。 |
anon_root=/var/ftp | 匿名用户的FTP根目录。 |
anon_mkdir_write_enable=[YES|NO] | 是否允许匿名用户创建目录。 |
anon_other_write_enable=[YES|NO] | 是否开放匿名用户其他写入权限。 |
anon_max_rate=0 | 匿名用户最大传输速率(字节),0为不限制。 |
local_enable=[YES|NO] | 是否允许本地用户登陆FTP。 |
local_umask=022 | 本地用户上传文件的umask值。 |
local_root=/var/ftp | 本地用户的FTP根目录。 |
chroot_local_user=[YES|NO] | 是否将用户权限禁锢在FTP目录,更加的安全。 |
local_max_rate=0 | 本地用户最大传输速率(字节),0为不限制。 |
Vsftpd的验证方式
1 匿名访问模式
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YESlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=YESpam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YESanon_umask=022anon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES
更改FTP根目录/var/ftp所属主为ftp
chown ftp /var/ftp/pub
在客户端安装ftp
yum install ftp -y
连接服务端,进行访问
[root@oracledb ~]# ftp 192.168.0.80Connected to 192.168.0.80 (192.168.0.80).220 (vsFTPd 2.2.2)Name (192.168.0.80:root): anonymous331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> cd pub250 Directory successfully changed.ftp> mkdir dir1257 "/pub/dir1" createdftp> rename dir1 database350 Ready for RNTO.250 Rename successful.ftp> exit221 Goodbye.
2.本地用户模式
vsftpd服务程序默认已经允许本地用户模式,我们要做的是添加设置本地用户模式权限的参数:
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=YESpam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YESanon_umask=022
vsftpd服务为了让FTP服务更加的安全,默认禁止以root身份登入,那么创建个普通用户吧:
[root@wls12c vsftpd]# useradd ftpadmin[root@wls12c vsftpd]# passwd ftpadmin更改用户 ftpadmin 的密码 。新的 密码:无效的密码: 它基于字典单词重新输入新的 密码:passwd: 所有的身份验证令牌已经成功更新。
在客户端登录访问:
[root@oracledb ~]# ftp 192.168.0.80Connected to 192.168.0.80 (192.168.0.80).220 (vsFTPd 2.2.2)Name (192.168.0.80:root): ftpadmin331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> mkdir files257 "/home/ftpadmin/files" createdftp> exit221 Goodbye.
3 虚拟用户模式
因为虚拟用户模式的帐号口令都不是真实系统中存在的,所以只要配置妥当虚拟用户模式会比本地用户模式更加安全,但是Vsftpd服务配置虚拟用户模式的操作步骤相对复杂一些。
附:
自动化的脚本:
上传文件到/home/ftpadmin目录下:
!/bin/bashftp -niv <<-EOFopen 192.168.0.80user ftpadmin ftpadminbinput test.txtclosebyeEOF