linux vsftpd 创建虚拟用户 过程记录
2014-01-26 15:51
447 查看
之前用系统账户作为ftp的登录账户,比较不安全,改用虚拟账户。步骤如下:
1.安装vsftpd、db_load,省略
2.在一个目录创建一个用户名密码文件,比如
[plain] view
plaincopy
vi login.txt #输入用户名密码奇数行是用户名、偶数行是密码
test1
testpwd
test2
testpwd
3.生成db文件
[plain] view
plaincopy
db_load –T –t hash –f login.txt /etc/vsftpd/vsftpd_login.db
4.修改权限
[plain] view
plaincopy
chmod 600 /etc/vsftpd/vsftpd_login.db
5.配置pam文件
[plain] view
plaincopy
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
plaincopy
useradd vsftpd -d /usr/local/vsftpd -s /sbin/nologin
-d 指定home目录,-s设置成不可登录系统的用户
修改目录权限chown -R vsftpd /usr/local/vsftpd
7.修改vsftpd配置文件
[plain] view
plaincopy
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
plaincopy
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
plaincopy
service vsftpd restart
用设置的test1、test2登录可以了。
由于编码的问题,如果将以上代码直接copy到linux中,会有问题。所以,最好自己敲代码。
以上为转载。以下自己写的:
修改虚拟用户密码:
1.编辑login.txt
2.执行:db_load -T -t hash -f login.txt /etc/vsftpd/vsftpd_login.db
3.重启vsftp:service vsftpd restart
遇到问题:
1.-bash: db_load: command not found。
解决方法:参考http://blog.chinaunix.net/uid-25324849-id-223412.html 安装相应的rpm即可。
2. 553 Could not create file
a.先确保你的SELinux关闭了,命令如下:
sestatus
返回“SELinux status: disabled”,可以进行下一步。否则看这篇文章:http://heipark.iteye.com/blog/1671578
b.确保你的上传目录权限为777
新增虚拟用户,以新增testHello为例
1.编辑login.txt。新增用户名testHello,密码testHelloPasswd
testHello
testHelloPasswd
2.执行:db_load
-T -t hash -f login.txt /etc/vsftpd/vsftpd_login.db
3.赋予权限
cd /etc/vsftpd
vi v_user_conf/testHello
local_root=/usr/local/vsftpd/testHello #指定根目录
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
4.把指定的根目录testHello赋予真实linux用户vsftpd(这个用户在前面已建过)
chown -R vsftpd /usr/local/vsftpd/testHello/
5.在/etc/vsftpd/user_list文件中新增用户testHello
6..重启vsftp:service vsftpd restart
1.安装vsftpd、db_load,省略
2.在一个目录创建一个用户名密码文件,比如
[plain] view
plaincopy
vi login.txt #输入用户名密码奇数行是用户名、偶数行是密码
test1
testpwd
test2
testpwd
3.生成db文件
[plain] view
plaincopy
db_load –T –t hash –f login.txt /etc/vsftpd/vsftpd_login.db
4.修改权限
[plain] view
plaincopy
chmod 600 /etc/vsftpd/vsftpd_login.db
5.配置pam文件
[plain] view
plaincopy
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
plaincopy
useradd vsftpd -d /usr/local/vsftpd -s /sbin/nologin
-d 指定home目录,-s设置成不可登录系统的用户
修改目录权限chown -R vsftpd /usr/local/vsftpd
7.修改vsftpd配置文件
[plain] view
plaincopy
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
plaincopy
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
plaincopy
service vsftpd restart
用设置的test1、test2登录可以了。
由于编码的问题,如果将以上代码直接copy到linux中,会有问题。所以,最好自己敲代码。
以上为转载。以下自己写的:
修改虚拟用户密码:
1.编辑login.txt
2.执行:db_load -T -t hash -f login.txt /etc/vsftpd/vsftpd_login.db
3.重启vsftp:service vsftpd restart
遇到问题:
1.-bash: db_load: command not found。
解决方法:参考http://blog.chinaunix.net/uid-25324849-id-223412.html 安装相应的rpm即可。
2. 553 Could not create file
a.先确保你的SELinux关闭了,命令如下:
sestatus
返回“SELinux status: disabled”,可以进行下一步。否则看这篇文章:http://heipark.iteye.com/blog/1671578
b.确保你的上传目录权限为777
新增虚拟用户,以新增testHello为例
1.编辑login.txt。新增用户名testHello,密码testHelloPasswd
testHello
testHelloPasswd
2.执行:db_load
-T -t hash -f login.txt /etc/vsftpd/vsftpd_login.db
3.赋予权限
cd /etc/vsftpd
vi v_user_conf/testHello
local_root=/usr/local/vsftpd/testHello #指定根目录
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
4.把指定的根目录testHello赋予真实linux用户vsftpd(这个用户在前面已建过)
chown -R vsftpd /usr/local/vsftpd/testHello/
5.在/etc/vsftpd/user_list文件中新增用户testHello
6..重启vsftp:service vsftpd restart
相关文章推荐
- linux vsftpd 创建虚拟用户 过程记录
- Vsftpd 虚拟用户的详细创建过程
- 深入浅出 Linux Vsftpd 创建多虚拟用户教程
- 深入浅出 Linux Vsftpd创建多虚拟用户教程
- linux vsftpd 创建虚拟用户 过程记录
- linux下创建FTP虚拟用户的配置过程--非系统账户登陆FTP
- Linux vsftpd配置及用户创建
- linux vsftpd建立虚拟用户的方法
- Linux下vsftpd安装以及配置FTP虚拟用户实践
- linux搭建vsftpd虚拟用户访问
- linux vsftp创建虚拟用户
- linux之vsftpd虚拟用户搭建
- linux下虚拟用户创建FTP服务器
- linux下部署vsftpd虚拟用户登录
- linux ftp创建虚拟用户及更改权限
- CentOS vsftpd虚拟用户创建步骤
- linux(centOS)安装vsftpd创建ftp用户
- linux里, 创建用户的过程直接写在脚本里,自动创建
- vsftpd + Berkeley DB 创建基于虚拟用户的FTP
- Linux下vsftpd虚拟用户