复制是一个新建的过程
移动重命名的过程
#####FTP文件传输协议,同HTTP共享文件####
先配置好环境,用yum找到装上vsftpd
/var/ftp 默认共享目录(匿名用户只能在这个目录内活动)
在desktop内lftp 172.25.254.114
回车ls
出现文件说明成功
拿真机测试: lftp 172.25.254.114
发现登不上,在服务器desktop中关闭火墙或者设定
firewalld -cmd --permanent --add-service=ftp
firewall-cmd --reload 刷新火墙
desktop在/var/ftp/建立三个文件
此时再去真机中lftp 172.25.254.114
ls 有文件成功
desktop中切换用户为student 建立student的家目录/home/student/studentfile
在真机中lftp 172.25.254.114 -u student
ls 发现进的是student的家目录 而不是ftp默认的共享文件夹
(匿名用户都是在ftp中的默认共享目录中进行操作,/var/ftp中,指定用户都是在home中的特定家目录
)
500:系统认为服务本身所访问的发布目录权限过大
530:认证失败
550:服务本身未开启
553:文件系统权力过小,登陆服务器
##黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
重启服务
在chroot_list中写个用户id student
这时用户进入黑名单
##白名单建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
重启服务
在chroot_list中写个用户id student
这时用户进入白名单
##限制本地用户登录
vim /etc/vsftpd/ftpusers ##永久黑名单
vim /etc/vsftpd/user_list ##暂时黑名单
用户白名单设定
vim /etc/vsftpd/vsftpd.conf
userlist_deny=NO
重启服务
/etc/vsftpd/user_list(此时暂时黑名单变为白名单)
###ftp虚拟用户身份设定(真实用户的权力太多,虚拟用户相当于匿名用户)
vim /etc/vsftpd/westosfile ##文件名称任意
user1 ##用户1
123 密码
user2
123
user3
vim /etc/pam.d/westosr:mnt_
account required pam_userdb.so db=/etc/vsftpd/westosfile
用户名 对比程序 在westosfile中对比
auth required pam_userdb.so db=/etc/vsftpd/westosfile
密码
db_load -T -t hash -f /etc/vsftpd/westosfile
/etc/vsftpd/westosfile.db
hash加密westosfile文件
vim /etc/vsftp/vsftpd.conf进入配置文件
pam_service_name=westos 指定读取对比文件夹下的westos
guest_enable=YES 虚拟用户身份设定开启
建立第归目录 mkdir -p /var/ftpdir/user1/user1pub
mkdir -p /var/ftpdir/user2/user2pub
配置文件中vim /etc/vsftp/vsftpd.conf
local_root=/var/ftpdir/$USER(用shell中的用户匹配对应的文件夹)
user_sub_token=$USER(告诉配置文件shell中的用户是谁)
重启服务
内核插件,内核型加强级火墙
vim /etc/sysconfig/selinux
SELINUX=enforcing ##selinux开启,级别为强制
SELINUX=permissive ##selinux开启,级别为警告
SELINUX=disabled ##selinux关闭,
setenforce 0|1 ##更改selinux当前的级别0警告1标示强制
getenforce ##查看selinux的状态
注意:当selinux从关到开,或者从开到关,需要重启系统
vsftpd 里面设置selinux为enforce
reboot
安全上下文:对于文件:每一个文件上夹一个标签,只有匹配的标签才可以读
文件的安全上下文匹配才能看到家目录中的东西,在主机lftp中ls才能看到家目录中的东西,lftp默认的安全上下文(public_content_t)
#临时更改适用于更改文件
chcon -t 安全上下文 文件
chcon -t public_content_t /var/ftp/file
#永久更改文件安全上下文
semanage fcontext -l
semanage fcontext -a -t public_content_t ‘/westos(/.*)?’
restorecon -RvvF /westos/
##sebool
火墙自带解决方案
在mnt中创建一个文件,移动到/var/ftp/此时在真机中lftp是看不到的,因为
标签不匹配,所以不能个看见
查看日志发现有一个解决方案,restorecon -v’$FIX’
在虚拟机中清空日志,卸载掉remov settroubleshoot
再连接lftp,还是看不见
这时虚拟机中的/var/log/messages/没有解决方案
再装上settroubleshoot
再连接lftp,会有解决方案