vsftp 虚拟用户配置

之前一直在用系统用户做为vsftp的登陆账户,第一不安全,第二用着也很不方便,今天整理了点资料把现有的vsftp服务器都改为了虚拟用户验证,配置比较简单,我把配置文档共享给各位吧,但愿能帮助大家,有不到位的地方请帮忙指正,先谢谢各位了.
vsftp的安装能够看个人前一篇博文url: http://gsliuyang.blog.51cto.com/286500/124693
咱们创建一个目录名为ftpdata
并建立一个名叫ftp的系统用户,他的家目录能够随便设置,我将他创建在ftpdata目录下,这个用户是虚拟用户登陆后映射使用的。
useradd -d /ftpdata -s /sbin/nolog ftp
而后cd进入ftpdata并建立一个文本文件ftplog.txt
cd /ftpdata
vi ftplog.txt
ftplog.txt文件主要是记录vsftp的虚拟帐户列表,在后面要建立的数据文件中使用它
其格式为
username
password
多个用户依次循环就能够了
个人ftplog.txt内容以下
user1
user1password
user2
user2password
看清楚了吧,这是两个虚拟用户user1和user2,user1password和user2password是他们的密码
接下来咱们用系统工具db_load来生成db文件,db_load通常系统都自带,若是没有就到网上下载rpm包安装就能够了,安装挺简单的没有什么要求
db_load -T -t hash -f ftplog.txt /etc/vsftp_login.db
将ftplog.txt使用hash加密后生成到/etc/vsftp_login.db这个文件
给这个文件600的权限,为了安全期间这么设置的不是必须的
chmod 600 /etc/vsftp_login.db
若是虚拟用户有更新的话,先修改ftplog.txt文件,接着执行db_load就能够了,别忘了。
接着配置PAM的验证文件
新建文件vsftp.vu
vi /etc/pam.d/vsftp.vu
写入如下内容
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
这里写成vsftp_login就行了,不要加db
ok到这里用户的验证文件都作好了,那么咱们来启用vsftp的虚拟用户支持。
vi /etc/vsftp.conf
将以前的pam_server_name=ftp修改为vsftp.vu若是没有就添加灵活点
guest_enable=YES
guest_config_dir=/etc/vsftp_user_conf这个目录之后就能够记录虚拟用的配置文件了。
好了下面来建立用户的配置文件,能够为每一个用户建立不一样的配置文件控制其权限
vi /etc/vsftpd_user_conf/user1
local_root=/ftpdata/user1       user1这个用户登录上来的家目录是/ftpdata/user1
anon_upload_enable=YES          容许上传
anon_mkdir_write_enable=YES     容许建立目录
anon_other_write_enable=YES     容许删除文件和目录
默认权限是能够下载的,设置的时候注意大小写
vi /etc/vsftpd_user_conf/user2
local_root=/ftpdata/user2
anon_upload_enable=YES         
anon_mkdir_write_enable=YES   
anon_other_write_enable=YES   
建立user1和user2的家目录
mkdir /ftpdata/user1
mkdir /ftpdata/user2
修改目录权限
chown -R ftp.ftp /ftpdata
chmod -R 700 /ftpdata
若是你启用了userlist_enable=YES用户访问控制列表,那就别忘了在你指定的文件中添加用户哦,个人文件是/etc/vsftpd.user_list
vi /etc/vsftpd.user_list
user1
user2
vsftpd.conf文件的参数你们可使用man vsftpd.conf来获取更多的帮助。
重启vsftpd服务测试一下吧
相关文章
相关标签/搜索