selinux是可以保护你系统安全性的额外机制
在某种程度上,它可以被看作是与标准权限系统并行的权限系统。在常规模式中,以用户身份运行进程,并且系统上的文件和其它资源都设置了权限(控制哪些用户对哪些文件具有哪些访问权,若要访问文件,你必须具有普通访问权限和selinux访问权限。因此,即使以超级用户root运行进程,根据进程以及文件或资源的selinux安全性上下文可能拒绝访问文件或资源)
systemctl stop firewalld
systemctl start vsftpd
ls -Z
?表示没有加载。当seliux处于disable下时创建文件,文件安全上下文会出现?的状况
ps -aZ | grep vsftpd ##查看vsftpd进程的上下文信息
ls -Zd westos ##查看文件夹的selinux属性
chcon -t public_content_t /westos/ -R
semanage fcontext -a -t public_content_t '/westos(/.*)?' ##添加安全上下文信息
getsebool -a | grep ftp
setsebool -P ftp_home_dir on
getsebool -a | grep ftp
chron -t是一个临时命令,当seliux重启时,会按照安全上下文列表中的默认更改文件的安全上下文
vv显示目录本身及其下所有内容
setenforce 0|1 更改selinux状态,但只能更改为enforcing和parmissice,如果要改为disable需要进入/etc/sysconfig/selinux更改
getenforce ##查看selinux的状态
Enforcing ##强制
Parmissice ##警告
var/log/messages
里面显示的信息时系统进行分析过后并给你解决方式的信息
/var/log/audit/audit.log ##selinux的目录
setroubleshoot-server ##对报错进行分析的软件
##diff命令##
diff命令用于比较两个文件的内容,以了解其区别。它还可以创建补丁文件。补丁文件用于在企业环境多台计算机之间相似文件进行更改
-c 显示上下文周围的行
-u ##使用统一输出格式(对于生成补丁文件很有用)
-r ##从指定的目录开始文件执行递归式比较不同
touch file{1..2}
echo holle world >file
echo holle world >file1
echo 123 >> file1
diff file file1
diff -c file file1
diff -u file file1
diff -u file file1 > file.path
yum install patch -y
patch file file.path
vimdiff file file1
patch -b ##备份原文件
##grep命令##
cp /etc/passwd /mnt/passwd
cd /mnt
grep root passwd ##显示passwd文件中的root
grep root passwd -v ##忽略passwd文件中的root
grep -i root passwd -v ##不区分大小写忽略文件中的root
grep -in root passwd ##不区分大小写显示文件中的root并显示行号
grep -ic root passwd ##不区分大小写
grep student -r /etc/
grep student -nr /etc/
grep 关键字符 文件|目录 在文件或目录中查找含有关键字的行
-i 不区分大小写
-n 查看关键字所在行的行号
-c 查看
-v 反向过滤
-E “关键字1|关键字2” 过滤多个关键字
-r 在目录中查找,含有关键字的文件
注意:^关键字 以关键字开头
关键字$ 以关键字结尾
##cut命令##
cut -d分隔符 指定分隔符
cut -f 1,7 显示指定的列
cut -c 1-4 显示指定的字符
##sort命令##
sort 参数
-n 纯数字排序
-u 去重复
|uniq -c 去除冗余并统计冗余次数
|uniq -d 显示冗余行
|uniq -u 显示唯一行
-t 指定分隔符
-k 指定列
sort file 按首字母排序
sort -n file 按数值而非字符排序
sort -rn file
sort -run file
sort -rn file |uniq -c
sort -rn file |uniq -d
sort -rn file |uniq -u
##sed命令##
tr 'a-z' 'A-Z' < passwd
sed 's/sbin/westos/g' passwd ##将全文的sbin换为westos,只改变显示,不改变文件本身内容sed 's/sbin/westos/g' -i passwd ##将全文的sbin换为westos并存入文件中
sed '1,5s/sbin/westos/g' passwd ##将第一至五行的sbin换为westos
sed '/lp/,/halt/s/sbin/westos/g' passwd #将lp至halt之间的sbin换为westos
vim rule
s/sbin/westos/g
s/nologin/linux/g
sed -f rule westos
sed -e 's/sbin/westos/g' -e 's/nologin/linux/g' passwd ##将全文的sbin换为westos,将全文的nologin换为linux
sed -n 5p westos ##只显示第五行
sed 5d westos ##删除第五行
sed 5p westos ##复制第五行
#######系统恢复技术######
####1.mbr446字节丢失####
mbr (主引导记录)主引导记录在硬盘上的0磁道,446个字节
dd if=/dev/zero of=/dev/vda bs=446 count=1
dd if=/dev/vda of=/mnt/mbr1 bs=446 count=1
reboot
选择光驱启动,执行救援模式
cd /mnt/sysimage
ls
chroot /mnt/sysimage/ ##切换到真实环境
grub2-install /dev/vda
rm -fr /boot/grub2/*
grub2-mkconfig > /boot/grub2/grub.cfg
重启后进入grub手动引导
set root='hd0,msdos1' ###boot分区所在位置
linux16 /boot/vmlinuz-3.10.0-123.e17.x86_64 root=/dev/vda1 ###初始化内核
initrd16 /boot/initramfs-3.10.0-123.e17.x86_64.img ###初始化程序
boot
如果同时安装了linux及windows,安装完linux后,会将grub.cfg重写,导致开机没有windows启动选项
vim /boot/grub2/grub.cfg
##############################
menuentry 'windows'{
set root='hd0,msdos1'
chainloader +1
}
#############################
grub2-set-default 1 ###设置默认开机启动的系统
####2.删除/boot/分区下内核文件(vmlinuz-3.10.0-123.el7.x86_64 )####
改为网卡或光盘启动
重启虚拟机
选择救援模式
chroot /mnt/sysimage
cd /boot/
grub2-install /dev/vda
lftp 172.25.254.250
cd /pub/rhel7.0/Packages/
get kernel-3.10.0-123.el7.x86_64.rpm
exit
rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id ##解压安装包
cd boot/
cp vmliuxz-3.10.0-123.el7.x86_64 /boot/
exit两次退出
####3.initrdj镜像被删除(initramfs-3.10.0-123.el7.x86_64)####
改为网卡或光盘启动
重启虚拟机
选择救援模式
chroot /mnt/sysimage
cd /boot/
mkinitrd initramfs$(uname -r).img $(uname -r)
exit两次退出
####4.开机启动链接因为某些问题导致错误####
默认情况下
/etc/systemd/system/default.target链接/usr/lib/systemd/system/graphical.target(图形),当它被链接到reboot,系统就处于一直自启状态
开机时,按e编辑
linux16 rw rd.break
ctrl+x继续
chroot /sysroot/
cd /etc/systemd/system
ls -l default.target
rm -fr default.target
ln -s /usr/lib/systemd/system/grapgical.target /etc/systemd/system/default.target
exit两次退出
####5.忘记root密码####
开机时,按e编辑
linux16 rw rd.break
ctrl+x继续
chroot /sysroot/
passwd
touch /.autorlabel ##重新建立认证识别,更新新的密码
exit两次退出
####挂载网络文件系统####
网络文件系统是由网络附加存储服务器通过网络向多个主机提供的一种文件系统,而不是由块设备提供的。客户端通过特殊的文件系统协议和格式访问远程存储。
linux中两种主要协议可用访问网络文件系统:NFS和CIFS。
访问网络共享的三个基本步骤
1.识别要访问的远程共享
2.确定挂载点,并创建挂载点的空目录
3.通过相应的名利或配置更改挂载网络文件系统
###cifs文件系统访问###
yum install samba-client -y ##安装网络共享客户端
smbclient -L //172.25.254.250 ##识别共享服务器目录
smbclient //172.25.254.250/westos1 ##访问共享
!ls ##执行本地环境的ls
mount //172.25.254.250/westos1 /mnt -o username=guest
cd /mnt/
touch file
vim /etc/fstab
//172.25.254.250/westos3 /mnt cifs default,username=guest 0 0
mount -a
开机自动挂载cifs
vim /etc/fstab
##########################################################
172.23.254.250/westos3 /mnt cifs defaults,username=guest 0 0
##########################################################
vim /etc/rc.d/rc.local
######################################################
mount //172.25.254.250/westos1 /mnt -o username=guest
######################################################
chmod 755 /etc/rc.d/rc.local ##添加执行权限
###nfs网络文件系统的访问###
yum install nfs-utils -y ##安装软件
showmount -e 172.25.254.250 ##识别共享
mount 172.25.254.250:/nfsshare/nfs1 ##使用共享
开机自动挂载nfs
vim /etc/fstab
#####################################################
172.23.254.250:/nfsshare/nfs1 /mnt nfs defaults 0 0
####################################################
vim /etc/rc.d/rc.local
#########################################
mount 172.25.254.250:/nfsshare/nfs1 /mnt
#########################################
chmod 755 /etc/rc.d/rc.local
###默认自动挂载服务###
默认使用monut挂载共享时当不使用共享时,也会处于挂载状态,
浪费共享服务器资源
autofs可以实现当使用时自动挂载,当闲置时自动卸载
yum install autofs -y
systemctl start autofs
vim /etc/autofs.conf
15 timeout =3 ##离开3秒后自动卸载
vim /etc/auto.master
/mnt /etc/auto.mnt
挂载点的上层目录 挂载规则的配置文件
vim /etc/auto.mnt ##实现自定义共享挂载点
* 172.25.254.250:nfsshare/&
####ldap网络帐号####
1.ldap目录服务认证,和windows活动目录类似,就是记录数据的一种方式
2.ladp客户端所须软件
yumkrd5-workstation sssd -y
3.如何开启ldap用户认证
authconfig-tui
因为tls的证书缺失,需要到服务端下载所需的证书到/etc/openlap/cacerts
wget http://172.25.254.254/pub/example-ca.crt
测试:getent passwd ldapuser1
如果用户信息可以正常显示,证明客户端认证成功
列出所有用户
vim /etc/sssd/sssd.conf
enumerate = True(一定要写到[domain/default]中,不能写到别的地方