一、linux的selinux服务
内核级加强型防火墙
1.针对文件会对系统中每个文件添加安全上下文
2.针对进程,会对系统中的每个进程添加安全上下文
3.在系统服务上设定sebool开关
4.当进程安全上下文和文件的安全上下文不匹配时,进程无法访问此文件
5.sebool会限制服务的不安全功能,必须调整sebool值
selinux的状态
enforcing | 强制状态 |
---|---|
permissive | 警告状态 |
disable | 关闭状态 |
管理selinux配置文件
vim /etc/sysconfig/selinuxsetenforce 0|1
更改selinux当前级别为0(警告) 1 表示(强制)
当selinux从关到开,或者从开到关需要重启系统
步骤:
1.保证重置server新环境
2.配置网络:
vim /etc/sysconfig/network-scripts
IPADDR NETMASK BOOTPROTO=none DEVICE ONBOOT
2.给server 配置本地yum源:
mkdir /westos
mount /dev/cdrom /westos
(新方法将镜像塞入光驱,将光驱挂载)
进入 /westos/
查看是否有Packages
进入/etc/yum.repos.d/
查看并编辑为.repo的文件
yum clean all
yum repolist
检测
3.3.下载ftp: yum install vsftpd lftp
开启服务: systemctl start vsftpd
开机自启: systemctl enable vsftpd
加入防火墙:
firewalld-cmd --permanent --add-service=ftp
加载:firewall-cmd --reload
查看:firewalld-cmd --list-all
4.查看selinux状态:getenforce
二、selinux的状态为enfocing时的影响
1.对新建文档的影响
lftp 172.25.254.xxx
建立文件: touch /mnt/haha
移动到ftp下: mv /mnt/haha /var/ftp/pub
进入到/var/ftp/pub
查看(看不见)
修改状态为disable
建立文件移动之后进入查看发现存在
2.对功能的影响
1.修改ftp 配置文件为匿名可以上传:anon_upload_enable=YES
重启服务修改组别:chgrp ftp /var/ftp/pub
给权限: chmod 775 /var/ftp/pub
2.开启lftp 172.25.254.xxx
进入pub
上传 put /etc/passwd
三、解决安全上下文不一致的问题1
1.查看上下文:ls -Zd /var/ftp
ls -Zd /mnt/
方法一:临时更改
1.进入/var/ftp/pub 建立新文件:
touch /mnt/linux
移动:mv /mnt/linux /var/ftp/publftp
lftp lftp 172.25.254.xxx
进入到pub ls
查看发现不存在
查看 ls -Z /mnt/linux
ls -Z /var/ftp/pub
临时更改安全上下文
chcon -t public_content_t /mnt/linux
移动 mv /mnt/linux /var/ftp/pub
ls
进入到pub
查看发现存在
建立目录mkdir /ftpdir
查看 ls -Zd /ftpdir/
进入目录建立文件:touch /ftpdir/file{1..2}
方法二:永久更改:
semanage fcontext -l | grep /var/ftp
semanage fcontext -l | grep /ftpdir
贴标签:
semanage fcontext -a -t public_context_t ‘ftpdir(/.*)?'
查看semanage fcontext -l | grep /ftpdir
查看
ls -Zd /ftpdir/
刷新 restorecon -Rvvf /ftpdir/
四、设置状态为enfocing时仍然可以上传文件
测试:lftp 进入到pub 查看上传put /etc/passwd失败
更改 chcon -t public_content_rw_t /var/ftp/pub
查看bool值: getsebool -a | grep ftp
永久设定
让匿名用户有读写权限:
chcon -t public_content _rw_t /var/ftp/pub
查看ftp匿名用户所有能干的事情的状态:
setsebool -P ftpd_anon_write on(1)
进入配置文件vim /etc/vsftpd/vsftpd.conf
设置匿名用户可以上传
重启服务
修改组别:chgrp ftp /var/ftp/pub
给权限:chmod 775 /var/ftp/publftp
进入pub 试着上传
put /etc/passwd