Loading

Vsftpd服务的搭建

安装服务端程序

yum install vsftpd -y

Vsftpd的程序与配置文件位置

  • 主程序 /usr/sbin/vsftpd
  • 用户配置文件 /etc/vsftpd/ftpusers /etc/vsftpd/user_list
  • 主配置文件 /etc/vsftpd/vsftpd.conf

配置文件参数

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为不限制。

三种验证方式

1. 匿名访问模式

/etc/vsftpd/vsftpd.conf

anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

FTP默认的根目录为/var/ftp,安全起见更改所属主为ftp
chown ftp /var/ftp/pub

2.本地用户模式

vsftpd服务程序默认已经允许本地用户模式,我们要做的是添加设置本地用户模式权限的参数:
/etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
anon_umask=022

vsftpd服务为了让FTP服务更加的安全,默认禁止以root身份登入,那么创建个普通用户吧:

# useradd ftpadmin
# passwd ftpadmin
更改用户 ftpadmin 的密码 。
新的 密码:
无效的密码: 它基于字典单词
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。

3. 虚拟用户模式

因为虚拟用户模式的帐号口令都不是真实系统中存在的,所以只要配置妥当虚拟用户模式会比本地用户模式更加安全,但是Vsftpd服务配置虚拟用户模式的操作步骤相对复杂一些。

客户端访问

在客户端登录访问:
[root@oracledb ~]# ftp 192.168.0.80
Connected to 192.168.0.80 (192.168.0.80).
220 (vsFTPd 2.2.2)
Name (192.168.0.80:root): ftpadmin
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir files
257 "/home/ftpadmin/files" created
ftp> exit
221 Goodbye.

自动上传文件脚本

上传文件到/home/ftpadmin目录下:

!/bin/bash
ftp -niv <<-EOF
open 192.168.0.80
user ftpadmin ftpadmin
bin
put test.txt
close
bye
EOF
posted @ 2016-10-11 16:23  头痛不头痛  阅读(300)  评论(0编辑  收藏  举报