书接上回:
三、Vsftpd系统用户配置
1、存放私密文件在ftp服务端,并保证文件或目录专属于拥有者
linux系统中创建系统用户cm1,cm2,分别设密码:123456
useradd cm1
useradd cm2
passwd cm1
passwd cm2
2、修改vsftpd.conf 配置文件
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
3、重启vsftpd服务
4、通过windows资源客户端,使用cm1,cm2登录ftp,上传下载删除,cm1,cm2系统上传文件在 home 目录下,/home/cm1 、/home/cm2
四、Vsftpd 虚拟用户配置
vsftpd基于系统用户访问FTP服务器,系统用户越多越不利于管理,且不利于系统安全,为了更安全使用ftp,可以使用vsftp虚拟用户方式
Vsftp虚拟用户配置如下:
1、安装 vsftpd 虚拟用户需要用到的软件及认证模块
yum install pam* libdb-utils libdb * --skip -broken -y
2、创建虚拟用户临时文件 /etc/vsftpd/ftpusers.txt ,新建虚拟用户和密码:cm01、cm02 123456,123456
cd /etc/vsftpd
touch ftpusers.txt
格式为:
cm01
123456
cm02
123456
3、生成 vsftpd 虚拟用户数据库认证文件,设置权限700
db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db
chmod 700 /etc/vsftpd/vsftpd_login.db
4、配置 PAM 认证文件, /etc/pam.d/vsftpd 行首加入两行的代码:
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
5、vsftp虚拟用户需要映射一个系统用户,该系统用户不需要设置密码,也不需要登录,主要用于虚拟用户映射使用
useradd -s /sbin/nologin ftpuser
6、修改 vsftpd.conf 配置文件
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_form_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
userlist_enable=YES
tcp_wrappers=YES
#指定目录
chroot_local_user=YES chroot_list_enable=NO /添加后就只能访问自己的家目录 chroot_list_file=/etc/vsftpd/chroot_list
#加入
allow_writeable_chroot=YES
#虚拟用户配置
pam_service_name=vsftpd #虚拟用户开启pam认证
guest_enable=YES #启动虚拟用户
guest_username=ftpuser #映射虚拟用户至系统用户 ftpuser
user_config_dir=/etc/vsftpd/vsftpd_user_conf #设置虚拟用户配置文件所在目录
virtual_use_local_privs=YES #虚拟用户使用与本地用户相同的权限
7、所有虚拟用户共同使用 /home/ftpuser 主目录实现文件的上传于下载,可以在 /etc/vsftpd/vsftpd_user_conf 目录创建虚拟用户各自的配置文件,
创建虚拟用户配置文件主目录
mkdir -p /etc/vsftpd/vsftpd_user_conf
8、分别为虚拟用户cm01,cm02创建配置文件
vi /etv/vsftpd/vsftpd_user_conf/cm01
local_root=/home/ftpuser/cm01 #cm01虚拟用户配置文件路径
write_enable=YES #允许登录用户有写的 权限
anon_world_readable_only=YES #允许匿名用户下载,然后读取文件
anon_upload_enable=YES # 允许匿名用户上传文件的权限,只有在write_enable=YES时,该参数才能生效
anon_mkdir_write_enable=YES #允许匿名用户创建目录,只有write_enable=YES时,该参数才能生效
anon_other_write_enbale=YES #允许匿名用户权限,例如删除,重命名等
cm02配置文件同上
9、mkdir -p /home/ftpuser/{cm01,cm02} ;chown -R ftpuser:ftpuser /home/ftpuser
重启vsftp服务:systemctl restart vsftpd.service
Vsftp配置结束