搭建FTP服务器,供虚拟用户使用,实现不同用户具有不同家目录和权限。
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