下面说说在linux下部署vsftp的过程吧,小小笔记。
一、安装
这里我说下最简单的rpm包安装,因为光盘中有,何必编译呢?
yum install db4* vsftpd -y
二、配置
1、新建系统用户
useradd vsftpd -s /sbin/nologin
限制vsftpd用户登录,此用户将最为vsftpd服务的宿主用户
useradd ftp -s /sbin/nologin
这里是Vsftpd虚拟宿主用户,默认情况下这个用户应该有。
当然这些用户你可以用另外的名字。
2、修改vsftpd的配置。
anonymous_enable=NO #设定不允许匿名访问
local_enable=YES #设定本地用户可以访问。如果设定为NO那么所有虚拟用户将无法访问。
write_enable=YES #设定可以进行写操作。
local_umask=022 #设定上传后文件的权限掩码。
anon_upload_enable=NO #禁止匿名用户上传。
anon_mkdir_write_enable=NO #禁止匿名用户建立目录。
dirmessage_enable=YES #设定开启目录标语功能。
xferlog_enable=YES #设定开启日志记录功能。
connect_from_port_20=NO #禁止端口20进行数据连接。这里用被动模式
chown_uploads=NO #设定禁止上传文件更改宿主。
xferlog_file=/var/log/vsftpd.log #设定Vsftpd的服务日志保存路径
xferlog_std_format=YES #设定日志使用标准的记录格式。
idle_session_timeout=600 #设定空闲连接超时时间
nopriv_user=vsftpd #设定支撑Vsftpd服务的宿主用户
async_abor_enable=YES #设定支持异步传输功能
ascii_upload_enable=YES
ascii_download_enable=YES #设定支持ASCII模式的上传和下载功能
ftpd_banner=vsftpd #设定Vsftpd的登陆标语
chroot_list_enable=NO #禁止用户登出自己的FTP主目录
ls_recurse_enable=NO #禁止用户登陆FTP后使用"ls -R"的命令,占用资源
listen=YES #设定该Vsftpd服务工作在StandAlone模式
#新增配置
pam_service_name=vsftpd #设定PAM服务下Vsftpd的验证配置文件名
userlist_enable=YES #设定userlist_file中的用户将不得使用FTP
tcp_wrappers=YES #设定支持TCP Wrappers
guest_enable=YES #设定启用虚拟用户功能
guest_username=ftp #指定虚拟用户的宿主用户
virtual_use_local_privs=YES #设定虚拟用户的权限符合他们的宿主用户
user_config_dir=/etc/vsftpd/vconf #设定虚拟用户个人Vsftp的配置文件存放路径
3、新建用户
touch /etc/vsftpd/user_list
#写入
testuser #用户名
123456 #密码
4、生成数据文件
db_load -T -t hash -f /etc/vsftpd/user_list /etc/vsftpd/user.db
5、修改pam。
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
必须把这两条插入#%PAM-1.0后面,其中sufficient表示充分条件,如果通过了,同类型的验证就不需要了。
6、配置虚拟用户。
按照上面的用户配置对应的文件,
touch /etc/vsftpd/vconf/testuser
新建虚拟用户的目录:
mkdir /opt/vsftp/virtuser && chown root.ftp /opt/vsftp/virtuser
用户登录后会限制在这个目录里面做读写操作。
配置如下内容:(不一定都需要)
local_root=/opt/vsftp/virtuser #指定虚拟用户的具体主路径。
idle_session_timeout=600 #设定空闲连接超时时间。
data_connection_timeout=120 #设定单次连续传输最大时间。
max_clients=10 #设定并发客户端访问个数。
max_per_ip=5 #设定单个客户端的最大线程数
local_max_rate=50000 #设定该用户的最大传输速率,单位b/s。
另外前面主配置文件的配置,在这里可以重新配置覆盖。
好了 启动vsftp 测试下吧