vsftpd 虚拟用户搭建

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
第一种方案,只能实现简单的上传和下载,权限无法控制
1.yum
2. cat  /etc/vsftpd/vsftpd .conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
 
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file= /etc/vsftpd/chroot_list
 
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
 
 
#guest_enable=YES
#guest_username=ftp
#user_config_dir=/etc/vsftpd/vuser_conf
3. cat  /etc/vsftpd/chroot_list
xx
4. useradd  xx -d  /opt/ftp  -s  /sbin/nologin
   echo  "密码" | passwd  --stdin xx
5. chown  -R xx.xx  /opt/ftp
6.关闭selinux
 
第二种方案 可以控制权限
http: //www .cnblogs.com /whoamme/p/3494128 .html
yum -y  install  pam vsftpd db4 db4-utils
useradd  -d  /opt/ftp  -s  /sbin/nologin  vuser_ftp
vi  /etc/vsftpd/login .txt
ftpuser3 
test1passwd
db_load -T -t  hash  -f  /etc/vsftpd/login .txt  /etc/vsftpd/vsftpd_login .db
vi  /etc/vsftpd/vsftpd .conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file= /var/log/vsftpd .log
xferlog_std_format=YES
listen=YES
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=vuser_ftp
pam_service_name= ftp .vu
user_config_dir= /etc/vsftpd/vsftpd_user_conf
cat  /etc/pam .d /ftp .vu
auth required  /lib64/security/pam_userdb .so db= /etc/vsftpd/vsftpd_login  
account required  /lib64/security/pam_userdb .so db= /etc/vsftpd/vsftpd_login
 
cat  ftpuser3 
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
download_enable=YES  #这个参数要注意,为NO,无法下载
local_root= /opt/ftp/xx
cmds_allowed=FEAT,REST,ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,RNFR,RNTO,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,RETR
#无del权限
 
注意
1. /etc/vsftpd/vsftpd_user_conf  不能有空格
2. chmod  600 vsftpd_login.db
3. chmod  -R 777 vsftpd_user_conf
4.db= /etc/vsftpd/login  修改成db= /etc/vsftpd/vsftpd_login
把db= 定义的是验证数据文件存放的位置,这个文件是以.db结尾的。但是在 /etc/pam .d /ftp .vu 
中配置的时候不要加上.db 
5,配置文件中间的  /lib/security/pam_userdb .so 如果你的系统是64位的,那么相应的路径
应是 /lib64/security/pam .userdb.so 不然会出错
 
virtual_use_local_privs参数
当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;
当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。
当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,
anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。

还有可能遇到的问题

假如服务器上开了ftp,用iptables控制下

IPTABLES -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

IPTABLES -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

IPTABLES -A OUTPUT -p tcp -m tcp --dport 21 -j ACCEPT

IPTABLES -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 

然后再去vi /etc/sysconfig/iptables-config,增加

 

IPTABLES_MODULES="ip_conntrack_ftp"

IPTABLES_MODULES="ip_nat_ftp"

这样就可以了.

用的时候碰到点问题,就是用ftp软件上传后,想再下载下来,报错

说不能打开这个文件,后来发现上传后的文件的权限只有600,不允许别人读


http://7591167.blog.51cto.com/

因为你vsftpd虚拟用户对应的实体用户A,与你的下载用户B,不是同一个用户。
权限600是A的。A权限6,可读可写不能运行。其它用户都0,就是不可读写运行。
所以B不能读访问A的这个文件。



本文转自 liqius 51CTO博客,原文链接:http://blog.51cto.com/szgb17/1774613,如需转载请自行联系原作者

相关文章
|
安全 Linux 数据安全/隐私保护
谁再说不会搭建vsftpd,就把这个脚本给他扔过去!——CentOS7下一键脚本搭建虚拟用户模式的vsftpd服务器
谁再说不会搭建vsftpd,就把这个脚本给他扔过去!——CentOS7下一键脚本搭建虚拟用户模式的vsftpd服务器
355 0
谁再说不会搭建vsftpd,就把这个脚本给他扔过去!——CentOS7下一键脚本搭建虚拟用户模式的vsftpd服务器
|
安全 Linux 网络安全
CentOS7下搭建vsftpd服务器(本地用户模式)
CentOS7下搭建vsftpd服务器(本地用户模式)
432 0
CentOS7下搭建vsftpd服务器(本地用户模式)
|
监控 网络协议 安全
vsftpd搭建FTP服务详细步骤
本文主要描述vsftpd FTP的详细过程
625 0
vsftpd搭建FTP服务详细步骤
|
域名解析 网络协议 Linux
Centos 7 使用 vsftpd 搭建 FTP 服务器
本文主要为大家介绍 Centos 7 环境下使用 vsftpd 搭建 FTP 服务器的过程。
1022 0
Centos 7 使用 vsftpd 搭建 FTP 服务器
|
Linux 网络安全 开发工具
|
安全 开发工具 数据安全/隐私保护
|
Linux 开发工具 数据安全/隐私保护