一
在线安装
vsftpd
需要的组件
yum -y install vsftpd*
yum -y install pam*
yum -y install db4
二
建立虚拟用户
[root@localhost ~]#vi /etc/vsftpd/vftpuser.txt
添加虚拟用户名和密码
奇数行为用户名
反之为密码
qiu
123
cancan
123456
三
生成虚拟用户口令认证文件
把刚添加的
vftpuser.txt
虚拟用户口令转换成系统的口令认证文件
root@localhost ~]#db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vu_list.db
四
编辑
vsftpd
的
PAM
认证
[root@localhost ~]#vi /etc/pam.d/vsftpd.vu
录入下文
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vu_list
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vu_list
五
建立本地映射用户并设置宿主权限
[root@localhost ~]#mkdir /opt/tonecan
(在
/opt
建立一个
tonecan
)
[root@localhost ~]#useradd -d /opt/tonecan -s /sbin/nologin vftpuser
[root@localhost ~]#chmod 777 /opt/tonecan
并且设置权限为
777.
六
配置
vsftpd.conf
(设置虚拟用户配置项)
[root@localhost ~]#vi /etc/vsftpd/vsftpd.conf
guest_enable=YES #
开启虚拟用户
user_config_dir=/etc/vsftpd/vsftpd_user_conf
虚拟用户配置文件存放位置
guest_username=vftpuser
(
FTP
虚拟用户对用的系统用户
useradd -d /opt/tonecan -s /sbin/nologin vftpuser)
pam_service_name=vsftpd#PAM
认证文件
七
测试登录
root@localhost ~]#service vsftpd restart
重启
vsftpd
服务
然后测试登录。
八
建立各个虚拟用户自身的配置文件
root@localhost ~]#vi /etc/vsftpd/vsftpd.conf
[root@localhost ~]#mkdir /etc/vsftpd/vsftpd_user_conf
[root@localhost ~]#touch ftp1
[root@localhost ~]#touch ftp2
编辑
qiu
文件
[root@localhost ~]#vi /etc/vsftpd/vsftpd_user_conf/qiu
添加
anon_world_readable_only=NO #
开放
ftp1
的下载权限(只能下载)。
编辑
cancan
文件
[root@localhost ~]#vi /etc/vsftpd/vsftpd_user_conf/cancan
添加
write_enable=YES #
开放
ftp2
的写权限
anon_world_readable_only=NO #
开放
ftp2
的下载权限
anon_upload_enable=YES #
开放
ftp2
的上传权限
anon_mkdir_write_enable=YES #
开放
ftp2
创建目录的权限
anon_other_write_enable=YES #
开放
ftp2
删除和重命名的权限
local_root=/var/vsftpd/
指定
FTP
的家目录
九
各虚拟用户使用自身配置
root@localhost ~]#vi /etc/vsftpd/vsftpd.conf
write_enable=YES
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=vftpuser
virtual_use_local_privs=NO
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf #
设定用户配置文件存放目录
ftpd_banner=Welcome to yoozhu FTP server
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
tcp_wrappers=NO
setproctitle_enable=YES
listen_port=21
connect_from_port_20=YES
idle_session_timeout=600
data_connection_timeout=120
max_clients=0
max_per_ip=3
local_max_rate=512000
十
虚拟用户高级设置
1
、
virtual_use_local_privs
参数
当
virtual_use_local_privs=YES
时,虚拟用户和本地用户有相同的权限
当
virtual_use_local_privs=NO
时,虚拟用户和匿名用户有相同的权限,默认是
NO
。
当
virtual_use_local_privs=YES
,
write_enable=YES
时,虚拟用户具有写权限(上传
下载
删除
重命名)
当
virtual_use_local_privs=NO
,
write_enable=YES
,
anon_world_readable_only=YES
anon_upload_enable=YES
时,虚拟用户不能浏览目录,只能上传文件,无其他权限。
当
virtual_use_local_privs=NO
,
write_enable=YES
,
anon_world_readable_only=NO
anon_upload_enable=NO
时,虚拟用户只能下载文件,无其他权限
当
virtual_use_local_privs=NO
,
write_enable=YES
,
anon_world_readable_only=NO
anon_upload_enable=YES
时,虚拟用户只能上传和下载文件,无其他权限
当
virtual_use_local_privs=NO
,
write_enable=YES
,
anon_world_readable_only=NO
anon_mkdir_write_enable=YES
时,虚拟用户只能下载文件和创建文件夹,无其他权限
当
virtual_use_local_privs=NO
,
write_enable=YES
,
anon_world_readable_only=NO
anon_other_write_enable=YES
时,虚拟用户只能下载、删除和重命名文件,无其他权限