使用虚拟用户认证方式,创建用户virtftp,该用户的家目录为/data/ftp_data,shell为/sbin/nologin,并将虚拟用户映射至virtftp用户; 允许属主对/data/ftp_data有写权限; 关闭PASV模式的安全检查; 设置客户端最大连接数为100,每个IP允许3个连接数; ftpuser虚拟用户可以下载与上传文件; ftpadmin虚拟用户可以下载与上传文件以及删除重命名操作,上传文件的umask为022。
时间: 2024-02-23 22:58:44 浏览: 162
在CentOS系统下创建和配置虚拟用户的方法.docx
好的,根据你的要求,以下是对应的配置步骤:
1. 安装 vsftpd 软件包:
```shell
yum install -y vsftpd
```
2. 创建虚拟用户数据库:
```shell
touch /etc/vsftpd/virtual_users.txt
db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
```
3. 创建 PAM 文件:
```shell
nano /etc/pam.d/vsftpd.virtual
```
添加以下内容:
```shell
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/virtual_users
account required pam_userdb.so db=/etc/vsftpd/virtual_users
session required pam_loginuid.so
```
4. 修改 vsftpd 配置文件:
```shell
nano /etc/vsftpd/vsftpd.conf
```
添加以下内容:
```shell
# 启用虚拟用户
guest_enable=YES
# 允许虚拟用户登录
virtual_use_local_privs=YES
# 使用PAM认证
pam_service_name=vsftpd.virtual
# 虚拟用户数据库文件
userdb_file=/etc/vsftpd/virtual_users
# 虚拟用户数据库文件格式
userdb_format=db4
# 虚拟用户目录
local_root=/data/ftp_data/$USER
# 限制虚拟用户的shell为/sbin/nologin
guest_username=ftp
nopriv_user=ftp
# 允许属主对/data/ftp_data有写权限
write_enable=YES
# 关闭PASV模式的安全检查
pasv_promiscuous=YES
# 设置客户端最大连接数为100,每个IP允许3个连接数
max_clients=100
max_per_ip=3
# ftpuser虚拟用户可以下载与上传文件
anon_upload_enable=YES
anon_download_enable=YES
# ftpadmin虚拟用户可以下载与上传文件以及删除重命名操作,上传文件的umask为022
guest_enable=YES
guest_username=ftp
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/data/ftp_data/$USER
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
virtual_use_local_privs=YES
guest_enable=YES
guest_username=ftp
user_sub_token=$USER
local_root=/data/ftp_data/$USER
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_delete_enable=YES
anon_rename_enable=YES
anon_umask=022
```
5. 创建虚拟用户:
```shell
db4_passwd -c /etc/vsftpd/virtual_users.db -u ftpuser virtftp
db4_passwd -c /etc/vsftpd/virtual_users.db -u ftpadmin virtadmin
```
6. 设置虚拟用户的家目录:
```shell
mkdir /data/ftp_data/virtftp
mkdir /data/ftp_data/virtadmin
chown ftp:ftp /data/ftp_data/virtftp
chown ftp:ftp /data/ftp_data/virtadmin
```
完成上述步骤后,你应该已经成功创建了两个虚拟用户,ftpuser虚拟用户可以下载与上传文件,ftpadmin虚拟用户可以下载与上传文件以及删除重命名操作,上传文件的umask为022。同时,属主对/data/ftp_data有写权限,PASV模式的安全检查已关闭,客户端最大连接数为100,每个IP允许3个连接数。
阅读全文