vsftpd虚拟用户

蒜香大龙虾 2024-08-08 01:20:12
Categories: Tags:

vsftpd虚拟用户

修改配置文件

配置/etc/vsftpd/vsftpd.conf

1
2
3
4
5
anonymous_enable=NO        #禁用匿名用户
local_umask=002 #本地用户创建的权限
guest_enable=YES #启用虚拟用户
guest_username=vftp #虚拟用户对应的系统真实用户
user_config_dir=/etc/vsftpd/vuser_conf #虚拟用户的配置文件目录

创建虚拟用户

创建真实用户和数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
mkdir -p /data/ftp
useradd vftp -d /data/ftp -s /sbin/nologin
cat > /etc/vsftpd/userlist << EOF
user1
Pass-1234
user2
Pass-1234
user3
Pass-1234
EOF
yum install libdb-utils -y
db_load -T -t hash -f /etc/vsftpd/userlist /etc/vsftpd/vuser.db
chmod 600 /etc/vsftpd/vuser.db

编辑/etc/pam.d/vsftpd

1
2
3
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
...

创建虚拟用户配置

新建/etc/vsftpd/vuser_conf/user1

1
2
3
local_root=/data/ftp/user1
virtual_use_local_privs=YES
write_enable=YES

一些权限设置

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
#不同搭配表达的权限
#虚拟用户具有写权限(上传、下载、删除、重命名)
virtual_use_local_privs=YES
write_enable=YES
#虚拟用户不能浏览目录,只能 上传文件,无 其他权限
virtual_use_local_privs=NO
write_enable=YES
anon_upload_enable=YES
anon_world_readable_only=YES
#虚拟用户只能下载文件,无其他权限
virtual_use_local_privs=NO
write_enable=YES
anon_upload_enable=NO
anon_world_readable_only=NO
#虚拟用户只能上传和下载文件,无其他权限
virtual_use_local_privs=NO
write_enable=YES
anon_upload_enable=YES
anon_world_readable_only=NO
#虚拟用户只能下载文件和创建文件夹,无其他权限
virtual_use_local_privs=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_world_readable_only=NO
#虚拟用户只能下载、删除和重命名文件,无其他权限
virtual_use_local_privs=NO
write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO

重启服务

测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@linux2 ~]# ftp 172.20.20.11
Connected to 172.20.20.11 (172.20.20.11).
220 (vsFTPd 3.0.5)
Name (172.20.20.11:root): user1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (172,20,20,11,160,50).
150 Here comes the directory listing.
226 Directory send OK.
ftp>
221 Goodbye.