FTP:file tansfer proto
互联网中最老牌的文件传输协议
yum install vsftpd -y
关闭selinux
关闭firewalld
systemctl start vsftpd
systemctl enable vsftpd
测试安装发布:
firefox ftp://ip
lftp ip #此访问方式必须能列出资源才算访问成功
服务名称:vsftpd.service
配置目录:/etc/vsftd
主配置文件:/etc/vsftpd/vsftpd.conf
默认发布目录:/var/ftp
报错信息:
550 #程序本身拒绝
553 #文件系统权限限制
500 #权限过大
530 #认证失败
man 5 vsftpd.conf
lftp 192.168.1.10 #当访问ftp服务时没有加入用户认证为匿名访问
lftp 192.168.1.10 -u westos #本地用户访问
anonymous_enable=YES/NO
anon_root=/software
anon_upload_enable=YES/NO
chmod 777 /var/ftp/pub
lftp 192.168.1.10
cd pub
put /etc/passwd
anon_world_readable_only=NO #匿名用户可以下载不能读的文件
anon_mkdir_write_enable=YES/NO
匿名用户删除和重命名控制
anon_other_write_enable=YES/NO
anon_max_rate=102400
登录控制
useradd westos
echo westos | passwd --stdin westos
useradd haha
echo westos | passwd --stdin haha
lftp 192.168.1.10 -u westos
local_enable=YES/NO
local_root=/software
write_enable=YES/NO
本地用户上传文件权限控制
local_umask=077
用户登录控制
/etc/vsftpd/ftpusers #永久黑
/etc/vsftpd/user_list #默认黑
userlist_deny=NO #设定/etc/vsftpd/user_list为白名单
#不在名单中的用户不能登录fyp
锁定用户到自己家目录中
chmod u-w /home/*
chroot_local_user=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
vim /etc/vsftpd/chroot_list
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
vim /etc/vsftpd/chroot_list
reboot
1)vim /etc/vdftpd/ftp_auth_file
建立认证文件模板
westos1
westos
westos2
westos
westos3
westos
2)db_load -T -t hash -f ftp_auth_file ftp_auth_file.db
加密认证文件
3)vim /etc/pam.d/westos
account required pam_userdb.so db=/etc/vsftpd/ftp_auth_file
auth required pam_userdb.so db=/etc/vsftpd/ftp_auth_file
pam_service_name=westos #指定认证策略文件
guest_enable=YES #指定虚拟用户功能开启
guest_username=ftp #指定虚拟用户在ftp服务器上的用户身份
mkdir -p /ftpuserdir/westos{
1..3}
touch /ftpuserdir/westos1/westos1file
touch /ftpuserdir/westos2/westos2file
touch /ftpuserdir/westos3/westos3file
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserdir/$USER
user_sub_token=$USER
systemctl restart vsftpd
user_config_dir=/etc/vsftpd/user_config
在此目录中与用户名称相同的文件为用户配置文件
mkdir /etc/vsftpd/user_config
vim /etc/vsftpd/user_config/westos2
anon_upload_enable=YES
设定完成后westos2用户可以上传文件
westos1和westos3不行