需要配置新的虚拟机(编辑etc/sysconfig/selinux里 把enable改为disable)
虚拟ip 172.25.254.104
ftp
dnf install lftp vsftpd -y
systemctl enable --now vsftpd
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
配置完成
登陆查看
lftp 172.25.254.104 -u westos(用户名称)
==============================================
vsftpd基本信息
配置目录
/etc/vsftpd
主配置文件:
/etc/vsftpd/vsftpd.conf
默认发布目录:
/var/ftp
报错信息:
550 ---程序本身拒绝
553 ---文件系统权限限制
500 ---权限过大
530 ---认证失败
=============================================
用户访问控制
编辑
vim /etc/vsftpd/vsftpd.conf
每次修改完都要
systemctl restart vsftpd
登陆控制
anonymous_enable=YES
家目录控制,可以把ftp更改为别的目录下
anon_root=/任意目录
上传控制
anon_upload_enable=YES
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub
登陆
lftp 172.25.254.104
cd pub
put /etc/passwd
目录建立控制
anon_mkdir_write_enable=YES
在pub下
mkdir westos
下载控制
anon_world_readable_only=NO
在pub下
get passwd
匿名用户上传文件的权限设定
anon_umask=xxx(权限值)
匿名用户上传文件的用户身份设定
chown_upload=YES
chown_username=用户名
chown_upload_mode=0755
登陆数量控制
max_client=2
上传速率控制
anon_max_rate=102400
=====================================
本地用户的访问
登陆控制
useradd zhl
echo zhl | passwd --stdin westos
echo zhl | passwd --stdin zhl
vim /etc/vsftpd/vsftpd.conf
loacl_enable=NO|YES
家目录控制
local_root=/目的目录
写权限控制
write_enable=NO|YES
上传文件控制权限
local_umask=权限值
用户登陆控制
/etc/vsftpd/ftpusers -----永久黑名单
/etc/vsftpd/user_list -----暂时黑名单
用户登陆白名单
userlist_deny=NO --------设定/etc/vsftpd/user_list白名单,不在名单的用户不能登陆ftp
锁定用户到自己家目录中
chmod u-w /home/*
chroot_local_user=YES
锁定用户到自己家目录中的白名单|黑名单
chroot_local_user=YES|NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
虚拟用户访问
cd /etc/vsftpd/
vim authlist
{
user1
123
user2
123
user3
123
}
db_load -T -t hash -f authlist authlist.db -----加密
cat authlist.db ------查看加密
cd /etc/pam.d/
ls
vim authpam
{
account required pam_userdb.so db=/etc/vsftpd/authlist
auth required pam_userdb.so db=/etc/vsftpd/authlist
}
vim /etc/vsftpd/vsftpd.conf
{
pam_service_name=authpam
guest_enable=YES
guest_username=ftp
userlist_enable=YES
}
systemctl restart vsftpd
lftp 172.25.254.104 -u user1
lftp 172.25.254.104 -u user2
lftp 172.25.254.104 -u user3
=============================================================
虚拟用户家目录独立设定
mkdir -p /ftphone/user{1..3}/pub ---建立3个用户
touch /ftphone/user1/user1file -
touch /ftphone/user2/user2file
touch /ftphone/user3/user3file
vim /etc/vsftpd/vsftpd.conf
{
pam_service_name=authpam
guest_enable=YES
guest_username=ftp
userlist_enable=YES
local_root=/ftphone/$USER
user_sub_token=$USER
}
systemctl restart vsftpd
lftp 172.25.254.104 -u user1
lftp 172.25.254.104 -u user2
lftp 172.25.254.104 -u user3
==============================================================
用户配置独立
ll /ftphone/user*/pub -d
chgrp ftp /ftphone/user*/pub -------更改组为ftp
ll /ftphone/user*/pub -d
chmod 775 /ftphone/user*/pub -------给pub权限775
ll /ftphone/user*/pub -d
vim /etc/vsftpd/vsftpd.conf
{
#anon_upload_enable=YES
user_config_dir=/etc/vsftpd/user_config
}
mkdir /etc/vsftpd/user_config
vim /etc/vsftpd/user_config/user2 -----给user2有下载的权限
{
anon_upload_enable=YES
}
systemctl restart vsftpd
lftp 172.25.254.104 -u user2
cd pub
put /etc/passwd
显示下载成功
lftp 172.25.254.104 -u user1
cd pub
put /etc/passwd
显示没有权限