文件服务器怎么创建不同用户,vsftpd 创建不同权限的用户

vsftpd 创建不同权限的用户

vsftpd 是一款运行于 Linux 环境的 ftp 服务器。本文将介绍配置其具备不同权限用户(管理员、只可上传、只可下载)的方法。

admin:可以上传、下载、重命名、删除

uploader:只可以上传

downloader:只可以下载

下文以 Ubuntu 18.04 为例。

Step 1. 安装所需的包

通过 apt 指令安装 vsftpd 和 db-util

apt install vsftpd

apt install db-util

Step 2. 建立 vsftpd 宿主用户及文件夹

建立用户文件夹:

mkdir /home/vsftpuser

在用户文件夹下,建立 777 权限文件夹用于数据传输:

cd /home/vsftpuser

mkdir data

chmod 777 /home/vsftpuser/data

新建不可以登录的用户 vsftpuser:

useradd -s /sbin/nologin -d /home/vsftpuser -M vsftpuser

修改用户密码:

passwd vsftpuser

Step 3. 建立 vsftpd 虚拟用户列表

建立文件 vim /home/vsftpd/u_list.txt(奇数行用户名,偶数行密码):

admin

adminpassword

uploader

uploaderpassword

downloader

downloaderpassword

使用 db-utils 加密用户列表文件并修改权限:

db_load -T -t hash -f /home/vsftpd/u_list.txt /home/vsftpd/u_list.db

chmod 600 /home/vsftpd/u_list.db

Step 4. 修改 pam.d/vsftpd

修改文件 vim /etc/pam.d/vsftpd:

# Standard behaviour for ftpd(8).

# auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

# Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.

# Standard pam includes

# @include common-account

# @include common-session

# @include common-auth

# auth required pam_shells.so

auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/home/vsftpd/u_list

account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/home/vsftpd/u_list

Step 5. 建立不同用户的权限配置文件

vim /home/vsftpd/conf/admin:

anon_world_readable_only=NO

write_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

anon_upload_enable=YES

local_root=/home/vsftpuser

vim /home/vsftpd/conf/downloader:

anon_world_readable_only=NO

local_root=/home/vsftpuser

vim /home/vsftpd/conf/uploader:

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_world_readable_only=NO

download_enable=NO

local_root=/home/vsftpuser

Step 6. 修改 vsftpd 配置文件

vim /etc/vsftpd.conf:

listen=YES

listen_ipv6=NO

anonymous_enable=NO

local_enable=YES

write_enable=YES

anon_upload_enable=NO

anon_mkdir_write_enable=NO

connect_from_port_20=YES

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

chroot_local_user=YES

pam_service_name=vsftpd

# 虚拟用户配置

guest_enable=YES

guest_username=vsftpuser

user_config_dir=/home/vsftpd/conf

ascii_upload_enable=YES

ascii_download_enable=YES

utf8_filesystem=YES

# 启用下面六行可以让 vsftpd 工作在被动模式

# 如需要让 ftp 工作在主动模式需要注释下面六行

listen_port=21

pasv_enable=YES

pasv_min_port=8700

pasv_max_port=8900

pasv_address=101.101.101.101

pasv_addr_resolve=YES

如果使用云服务器,则需要配置开启 20/21 端口

Step 7. 重启服务以使用 vsftpd

/etc/init.d/vsftpd restart

参考链接

vsftpd添加用户并分配不同权限

FTP服务器搭建和配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值