#实验环境
1)搭建好本地软件仓库
2)配置好网络
3)关闭selinux
vim /etc/sysconfig/selinux
disabled
4)安装vsftpd
dnf install vsftpd
vim /etc/vsftpd/vsftpd.conf ##修改权限使匿名用户可以访问和上传文件
匿名用户可以访问
匿名用户可以上传
systemctl restart vsftpd
chgrp ftp /var/ftp/pub/ ##修改/var/ftp/pub/目录属于ftp
chmod 775 /var/ftp/pub/ ##赋予/var/ftp/pub/目录读可执行权限
systemctl enable vsftpd ##开启vsftpd服务
systemctl disable --now firewalld ##关闭火墙
getenforce ##查看selinux服务
disabled ##为关闭状态
reboot ##重启系统
1.selinux的功能
1)对于文件的影响: 当selinux开启时,内核会对每个文件及每个开启的程序进行标签加载
标签内记录程序和文件的安全上下文(context)
2)对于程序功能的影响: 当selinux开启会对程序的功能加载开关,并设定此开关的状态为关闭
当需要此功能时需要手动开启功能开关
此开关叫做sebool
3)selinux服务开启时,默认端口是固定的,修改端口后服务不能启动
2.selinux的状态
vim /etc/selinux/config
SELINUX=disabled #selinux关闭
SELINUX=enforcing #selinux开机设定为强制状态此状态为selinux开启
SELINUX=permissive #selinux开机设定为警告状态此状态为selinux开启
“selinux开启或关闭需要重启系统”
enforcing:
不符合条件一定不能被允许,并会收到警告信息
permissive:
不符合条件被允许,并会收到警告信息
#selinux状态的查看:
getenforce
#selinux开启后强制和警告级别的转换: (不需要重启)
setenforce 0 ##切换到警告状态(enforcing)
setenforce 1 ##切换到强制状态(permissve)
touch /.autorelabel
##系统重启时selinux会初始化标签开关文件
selinux日志位置: /var/log/audit/audit.log
3.selinux的安全上下文
1)查看
ls -Z ##查看文件的安全上下文
ls -Zd ##查看目录的安全上下文
ps axZ ##查看进程的安全上下文
2)修改安全上下文
##临时修改
#此方式更改的安全上下文在selinux重启后会还原
标签 文件|目录
chcon -t public_content_t /mnt/westosfile1 ##修改文件安全上下文
chcon -Rt public_content_t /mnt/westos ##修改目录及目录中的所有子文件的安全上下文
##永久修改
semanage f context -l ##查看内核安全上下文列表
semanage fcontext -a -t public_content_t ‘/westos(/.*)?’
##永久修改文件或目录的安全上下文
restorecon -RvvF /westos/ ##刷新同步安全上下文
cd /mnt
ls
touch westosfile1
ls -Z westosfile1
chcon -t public_content_t /mnt/westosfile1
ls -Z westosfile1
mkdir westos
chcon -Zd westos
ls -Zd /mnt/westos
chcon -Rt public_content_t /mnt/wesots
chcon -Rt public_content_t /mnt/westos
ls -Zd /mnt/westos
semanage f context -l
semanage fcontext -a -t public_content_t '/westos(/.*)?'
restorecon -RvvF /westos/
4.SEBOOL
lftp 192.168.155.55
chon -t public_content_rw_t /var/ftp/pub/ ##
ls -Zd /var/ftp/pub/
lftp 192.168.155.55
getsebool -a | grep ftp ##
setbool -p ftpdd_anon_write on ##
getsebool -a | grep ftp
lftp 192.168.155.55
5.SEPORT
selinux服务开启时,修改服务端口
vim /etc/ssh/sshd_config
systemctl restart sshd
semanage port
semamage
semamage port -a -t ssh_port_t -p tcp 2222 ##修改sshd服务端口为2222
semanage port -d -t ssh_port_t -p tcp 2222 ##删除添加的sshd服务端口2222