实现不同虚拟用户具有不同家目录和权限

需求

  1. 用户peter的家目录为/var/ftp/vuserdir/peter,他只有下载权限,没有其他权限(创建目录、重命名、删除、上传等);
  2. 用户ken的家目录为/var/ftp/vuserdir/ken,他有所有权限。

配置

# 创建本地用户(用于映射虚拟用户)
useradd -d /var/ftp/vuserdir -s /sbin/nologin vuser

# 为虚拟用户peter和ken创建虚拟目录
mkdir -m 555 /var/ftp/vuserdir/peter
mkdir -m 755 /var/ftp/vuserdir/ken

# 改变属主和属组
chown -R vuser:vuser /var/ftp/vuserdir/

# 创建虚拟用户文件(/etc/vsftpd/vftpuser.txt),内容如下
peter
111
ken
222

# 生成虚拟用户数据库文件
db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
# 安全起见,修改权限
chmod 600 /etc/vsftpd/vftpuser.db

# 修改/etc/pam.d/vsftpd文件,注释原来的内容,添加以下内容
auth    required        /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required        /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser

# 用以下内容替换/etc/vsftpd/vsftpd.conf文件原来的内容
listen=YES
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/user_config
guest_enable=YES
guest_username=vuser
anonymous_enable=NO
local_enable=YES

# 创建虚拟用户配置文件目录
mkdir /etc/vsftpd/user_config

# 为虚拟用户peter创建个人配置文件(/etc/vsftpd/user_config/peter),内容如下
local_root=/var/ftp/vuserdir/peter

# 为虚拟用户ken创建个人配置文件(/etc/vsftpd/user_config/ken),内容如下:
local_root=/var/ftp/vuserdir/ken
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

# 重启vsftpd服务:
service vsftpd restart

你可能感兴趣的:(权限,目录,vsftpd,虚拟用户)