您的位置:首页 > 运维架构 > Linux

linux vsftpd 创建虚拟用户

2016-07-28 11:10 302 查看
之前用系统账户作为ftp的登录账户,比较不安全,改用虚拟账户。步骤如下:

1.安装vsftpd、db_load,省略
2.在一个目录创建一个用户名密码文件,比如
[plain] view plain copy
vi login.txt #输入用户名密码奇数行是用户名、偶数行是密码

test1

testpwd

test2

testpwd

3.生成db文件
[plain] view plain copy
db_load –T –t hash –f login.txt /etc/vsftpd/vsftpd_login.db

4.修改权限
[plain] view plain copy
chmod 600 /etc/vsftpd/vsftpd_login.db

5.配置pam文件
[plain] view plain copy
vi /etc/pam.d/vsftpd.v #输入以下配置

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

#后来登录ftp出现530错误,需要把上面两行改为:可能是跟64位系统有关

auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required pam_userdb.so db=/etc/vsftpd/vsftpd_login

6.创建虚拟用户
[plain] view plain copy
useradd vsftpd -d /usr/local/vsftpd -s /sbin/nologin

-d 指定home目录,-s设置成不可登录系统的用户
修改目录权限chown -R vsftpd /usr/local/vsftpd
7.修改vsftpd配置文件
[plain] view plain copy
vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

dirmessage_enable=YES

chroot_local_user=YES

guest_enable=YES

guest_username=vsftpd

pam_service_name=vsftpd.v

user_config_dir=/etc/vsftpd/v_user_conf

local_root=/usr/local/vsftpd

8.创建用户配置文件
[plain] view plain copy
cd /etc/vsftpd

mkdir v_user_conf

vi v_user_conf/test1 #给全部权限,限定根目录

local_root=/usr/local/vsftpd/test1

anon_world_readable_only=NO

write_enable=YES

anon_mkdir_write_enable=YES

anon_upload_enable=YES

anon_other_write_enable=YES

vi v_user_conf/test2 #给全部权限,限定根目录

local_root=/usr/local/vsftpd/test2

anon_world_readable_only=NO

write_enable=YES

anon_mkdir_write_enable=YES

anon_upload_enable=YES

anon_other_write_enable=YES

9.重启vsftpd
[plain] view plain copy
service vsftpd restart

用设置的test1、test2登录可以了。

vsftpd配置文件详解:http://zlyang.blog.51cto.com/1196234/1831080
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 用户名 security