vsftpd 配置

STEP.1 安装

yum install vsftpd //安装
chkconfig vsftpd on //加入开机启动
service vsftpd start //启动服务,相关stop,restart

STEP.2 配置

vi /etc/vsftpd/vsftpd.conf
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list

改为

chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

STEP.3 添加用户

增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限
useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
passwd ftpuser //创建密码
vi /etc/vsftpd/chroot_list//添加不锁定目录的用户添加,每个用户占一行

STEP.4 重启服务

service vsftpd restart

附:vsftpd.conf配置
anonymous_enable = NO 是否允许匿名登录
local_enable = YES 是否允许本地用户登录
write_enable = YES 允许写入
local_umask = 022 默认文件权限
anon_upload_enable=YES        是否允许匿名上传  
anon_mkdir_write_enable=YES   是否允许匿名创建文件夹
dirmessage_enable=yes 切换目录时,显示目录下.message的内容
connect_form_port_20=yes 启用FTP数据端口的数据连接
xferlog_enable=yes 激活上传和下传的日志
xferlog_std_format=yes 使用标准的日志格式
ftpd_banner=XXXXX 欢迎信息
pam_service_name=vsftpd 验证方式
listen=yes 独立的VSFTPD服务器
anon_other_write_enable=yes 匿名帐号可以有删除的权限
anon_world_readable_only=no 放开匿名用户浏览权限
ascii_upload_enable=yes 启用上传的ASCII传输方式
ascii_download_enable=yes 启用下载的ASCII传输方式
idle_session_timeout=600(秒) 用户会话空闲后10分钟
data_connection_timeout=120(秒) 将数据连接空闲2分钟断
accept_timeout=60(秒) 将客户端空闲1分钟后断
connect_timeout=60(秒) 中断1分钟后又重新连接
local_max_rate=50000(bite) 本地用户传输率50K
anon_max_rate=30000(bite) 匿名用户传输率30K
max_clients=200 FTP的最大连接数
max_per_ip=4 每IP的最大连接数
listen_port=5555 从5555端口进行数据连接
 
chroot_local_user=yes 本地所有帐户都只能在自家目录
chroot_list_enable=yes 文件中的名单可以调用
chroot_list_file=/etc/vsftpd/chroot_list
 
userlist_enable=yes 在指定的文件中的用户不可以访问
userlist_deny=yes
userlist_file=/etc/vsftpd/user_list
 
chown_uploads=yes 改变上传文件的所有者为root
chown_username=root
 
pasv_enable=yes 服务器端用被动模式
user_config_dir=/任意指定的路径//任意文件目录 (指定虚拟用户存放配置文件的路径)

PS:如果觉得以后管理ftp用户名嫌麻烦,可以使用centos官方发布的脚本管理。地址如下:
http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users