Linux运维入坑之路--应用管理--vsftpd
软件介绍
vsftpd是Linux系统中一个比较常用的软件,用来搭建ftp文件共享服务器。
软件安装
vsftpd可以直接通过yum安装
yum install vsftpd
vsftpd配置
vsftpd的主配置文件为/etc/vsftpd.conf
,配置选项如下:
# The configurations of vsftpd
# 是否允许匿名用户访问.
anonymous_enable=YES
# 是否允许匿名用户上传文件.
anon_upload_enable=YES
# 匿名用户上传文件的umask.
anon_umask=022
# 是否允许匿名用户创建文件夹.
anon_mkdir_write_enable=YES
# 是否允许匿名用户删除或者重命名文件和文件夹.
#anon_other_write_enable=YES
# 是否允许写入.
write_enable=YES
# 更改匿名用户ftp数据目录.
anon_root=/data/voice
# 更改vsftpd主用户,默认为ftp.
ftp_username=vsuser
# 允许本地用户访问,使用前禁用匿名用户访问.
local_enable=YES
# 本地用户umask.
local_umask=022
# 启用虚拟用户.
guest_enable=YES
# 将虚拟用户映射到本地用户vsuser.
guest_username=vsuser
# 虚拟用户使用本地用户的权限.
virtual_use_local_privs=YES
# 本地用户ftp数据目录.
local_root=/data/voice
# 禁止用户跳出ftp主数据目录.
chroot_local_user=YES
chroot_list_enable=NO
# 允许用户在系统中对ftp目录有写的权限.
allow_writeable_chroot=YES
# 虚拟用户配置文件目录,配置文件名需要和用户名保持一致.
user_config_dir=/etc/vsftpd/conf.d
# 允许在主数据目录写入.
allow_writeable_chroot=YES
# 虚拟用户pam权限配置.
pam_service_name=vsftpd
# 禁止本地其他用户登陆ftp,用户列表为deny_list.
userlist_deny=YES
userlist_file=/etc/vsftpd/deny_list
# 启用SSL连接.
ssl_enable=YES
allow_anon_ssl=NO
force_local_logins_ssl=YES
force_local_data_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/vsftpd/vsftpd.pem
ssl_ciphers=HIGH
配置虚拟用户登陆验证数据库文件,先创建用户密码文档,再通过db_load生成数据库文件,db_load工具需要安装,yum install db4*
cat /etc/vsftpd/vsusers.txt
tom # 用户名
tom123 # 密码
lisa # 用户名
lisa123 # 密码
生成数据库文件
db_load -T -t hash -f vsusers.txt vspasswd.db
pam配置文件,cat /etc/pam.d/vsftpd
#%PAM-1.0
#session optional pam_keyinit.so force revoke
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include password-auth
#account include password-auth
#session required pam_loginuid.so
#session include password-auth
#
auth required pam_userdb.so db=/etc/vsftpd/vspasswd
account required pam_userdb.so db=/etc/vsftpd/vspasswd
session required pam_loginuid.so
虚拟用户配置文件,cat /etc/vsftpd/conf.d/tom
local_root=/data/voice/tom
write_enable=YES