笔记8

############安全上下文############
vim /etc/sysconfig/selinux          ##打开selinux服务

mkdir /westos
touch /westos/file1
vim /etc/vsftpd/vsftpd.conf             ##
修改匿名用户家目录为/westos
anon_root=/westos                          
systemctl restart vsftpd
ls -Zd /westos/
chcon -t public_content_t /westos/ -R
reboot                      ##如果重气后/westos里面的安全上下文会变为默认值

       
ls -Zd /westos/
semanage fcontext -l |grep westos       ##
筛选安全上下文列表 /westos 没有
semanage fcontext -l |grep /var/ftp     ##筛选ftp安全上下文列表
  eg:[root@localhost ~]# semanagefcontext -l |grep /var/ftp
/var/ftp(/.*)?                                     all files          system_u:object_r:public_content_t:s0
/var/ftp/bin(/.*)?                                 all files          system_u:object_r:bin_t:s0
/var/ftp/etc(/.*)?                                 all files          system_u:object_r:etc_t:s0
/var/ftp/lib(/.*)?                                 all files          system_u:object_r:lib_t:s0
/var/ftp/lib/ld[^/]*\.so(\.[^/]*)*                 regular file       system_u:object_r:ld_so_t:s0 
semanage fcontext -a -t public_content_t '/westos(/.*)?'  -a
添加 -t修改标签    ##要想永久修改安全上下文 需要修改安全上下文列表
[root@localhost ~]# semanage fcontext -a -t public_content_t '/westos(/.*)?'
[root@localhost ~]# ls -Zd /westos/
drwxr-xr-x. root root unconfined_u:object_r:public_content_t:s0 /westos/
ls -Zd /westos/
restorecon -RvvF /westos/   R-
第归 vv显示 F刷新           ##重新加载一下就可以修改目录和目录里面文件的安全上下文
[root@localhost ~]# restorecon -RvvF /westos/
restorecon reset /westos contextunconfined_u:object_r:public_content_t:s0->system_u:object_r:public_content_t:s0
restorecon reset /westos/file1 contextunconfined_u:object_r:public_content_t:s0->system_u:object_r:public_content_t:s0

如果安全上下文不匹配的时候lftp到/westos家目录下时看不到文件的
只有当安全上下文匹配的时候我们才能看到

#######
服务权限修改######           550:服务不允许  553:文件系统权限不允许 500:权限过大 530:权限过小
我们发现我们不能对文件进行写操作,所以我们要打开服务权限
getsebool -a | grep ftp         ##过滤ftp服务的权限
setsebool -P ftp_home_dir  on       ##打开服务权限(本地用户写功能)-P永久修改


###
对selinux的控制########
getenforce          ##查看selinux 的状态

setenforce 0|1          ##修改selinux 的状态    1:禁止 0:警告
 yum install setroubleshoot-server.x86_64   ##安装对/var/log/audit/audit.log日至的分析和提出建议的保存在/var/log/message 中的软件




######
文本处理工具#######

##diff####
echo yiyi >file         ##写入

echo yiyi >file1
diff file file1
echo bushe >>file1      ##
追加
diff file file1         ##查看两个文件的不同
diff -c file file1      ##查看两个文件周围的行 -c
diff -u file file1 >file.path   ##生成一个补丁

cat file.path
yum search patch
yum install patch.x86_64 -y ##
安装软件
patch file file.path        ##利用补丁给file打补丁
cat file
vimdiff file file1      ##
查看文件的不同


#####grep###
grep   
关键字符    文件|目录   参数    ##在文件或目录中查找含有关键字的行

grep    -i          ##
忽略大小写
    -n          ##显示关键字所在行
    -c          ##显示过滤结果的个数
    -v          ##反向过滤
    -r      目录    ##在目录中查找含有关键字的文件
    ^关键字         ##以关键字开头
    关键字$         ##以关键字结尾
grep root passwd |grep ^root -v |grep root$ -v      ##查找关键字在中间的
grep root passwd -v                 ##不显示root关键字的
grep root passwd -iv
grep root passwd
grep root passwd -in                    ##
忽略大小写显示所在行数
grep root passwd -c                 ##显示包含关键字的行数

###cut#####
cut -d 
分隔符              ##指定分隔符    tab时默认值
cut -f  数字                ##提取指定列
cut -c  1,4  |1-4          ##显示指定字符
ifconfig eth0 |grep inet|grep inet6 -v |cut -d " " -f 10   ##提取ip地址
cut -d : -f 1,7 passwd                      ##提取第1和第7列


#####sort########
sort
参数  文件
                    ##第一列排序
    -n              ##纯数字排序
    -r              ##到序
    -k              ##指定列
    -t              ##指定分割符

######uniq#######
uniq 
参数
    -c              ##去除冗余并统计冗余次数
    -d              ##显示冗余行
    -u              ##显示唯一行
sort -n -t : -k 2 file | uniq -u
sort file -n -t : -k 2
sort -n file
sort -r file
sort -n file|uniq -d

#####tr#########

tr 'a-z' 'A-Z'  将文件中的小写转换成大写
tr 'A-Z' 'a-z'  将文件中的大写换成小写

##sed
替换#####

cat -b passwd > westos          ##将passwd中的内容加上行号放到westos中

sed -i  file                ##把替换后的内容放到指定文件
eg:
sed '1,5s/sbin/westos/g' westos -i 
sed '1,5s/sbin/westos/g' passwd     ##
替换第一行到第五行
sed '1,5s/sbin/westos/g' westos    
sed '/lp/,/halt/s/sbin/westos/g' westos ##
将字符/lp//halt/之间的字符全部转换
vim rule                ##编写策略
sed -f rule westos          ##按策略
sed -e 's/sbin/westos/g' -e 's/root/liunx/g' westos ##把两种策略连接在一起
sed -n 5p westos            ##只显示第五行
sed 5d westos               ##不显示第五行
sed 5p westos               ##复制第五行


######
系统修复######

###破坏掉引导程序
###
dd if=/dev/vda of=/mnt/mr1  bs=446 count=1      ##把446字节的启动程序截取的到文件中

hexdump -C /mnt/mr1                 ##查看截取的字节
dd if=/dev/zero of=/dev/vda     bs=446 count=1      ##破坏启动程序
然后如果没有reboot的话 grub2-install/dev/vda      ##可以直接修复
如果reboot 后
要添加一个光驱  然后添加系统
从光盘启动
开始修复  进去后
chroot /mnt/sysimage
然后
grub2-install /dev/vda
exit
exit
退出后从硬盘启动就好了

 
###
删除了grup。cfg#########
rm -f /boot/grup2/grup.cfg         
如果没有reboot的时候直接grub2-mkconfig> /boot/grub2/grub.cfg  ##重新恢复一下文件

如果重启的话 手动去敲
set -root ‘hd0,msdos1’               ##找到启动分区
linux16 /boot/vmlinuz-3.10.0-327.el7.x86_64 ro root=/dev/vda1   ##设定内核
initrd16 /boot/initramfs-3.10.0-327.el7.x86_64.img      ##设定初始化程序
然后boot启动就行
启动之后/boot/grub2下面还是没有grub.cfg文件的
我们还是需要grub2-mkconfig > /boot/grub2/grub.cfg  

添加一个开机的选项

menuentry 'windows'
{
  set root='hd0,modos1'
  chainloader +1
}

##########
调整引导选项顺序#####

grub2-setdefault 1      ##调整选项顺序



#######
删除了vmlinuxz16#############

设置为网络启动

进入急救系统
lftp 172.25.254.250
从镜像包中找到kernel-3.10.........
get下来

rpm2cpio kernel  | cpio -id     ##解压包
然后把解压得到的boot目录下面的vmlinuxz文件cp到/boot中
然后exit
exit
把网络引导改为硬盘引导就行阿
   

####删除了init#####

[root@localhost boot]# echo $(uname -r)
3.10.0-123.el7.x86_64
[root@localhost boot]# mkinitrd initramfs-$(uname -r) $(uname -r)   ###直接恢复就行



#######
把boot下面的东西全部删掉###########

重装
grub2           ###grub2-install > /boot/grub2/grub.cfg
恢复vmlinuxz        ##下载kernel   解压  复制到/boot下

恢复initr       ##mkin。。。。
最后装恢复grub.cfg  ##grub2-mkconfig >/boot/grub2/grub.cfg



#########破坏启动级别
#########

systemctl set-default poweroff.target       ##设定启动级别为poweroff会在启动后又关机一直重复

reboot                     
按e进入编辑
然后删除ro后面的东西 把ro改为rw 后面加rd.break
然后按ctrl+x继续

然后进入后chroot /sysroot           ##得到一个shell
然后把/etc/systemcd/systemc下面的default,target删掉
  
然后ln -s /usr/lib/systemd/system/graphical.target /etc/systemcd/system   ##再链接一份




####
忘记root密码的时候######
按e进入编辑 然后删除ro后面的东西  把ro改为rw 后面加rd.break
然后
chroot /sysroot
然后passwd              ##修改root密码

输入密码
touch /.autorelabel         ##在根目录下面建立一个文件让selinux读取 如果不建立 可能会导致改的密码无效
然后exit   

###无法启动的时候手动启动
######

set root=’hd0,msdos1‘         ##查找启动分区

linux16 /boot/vm.............   roroot=/dev/vda1   ##内核
ini  16 /boot/ini................       ##初始化程序


###
把/mnt/sysimage/bin/下面的bash删掉了把/bin/bash复制到前面的文件下面########

cp /bin/bash  /mnt/sysimage/bin/bash   



###########CIFS共享
#########
windouw和里linux间  linux之间共享


yum install samba-client -y             ##
安装共享软件
smbclient -L //172.25.254.250               ##查看共性列表
Enter roots password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

    Sharename       Type     Comment
    ---------       ----     -------
    westos1         Disk      test share
    westos2         Disk      test share
    westos3         Disk      test share
    westos4         Disk      test share
    westos5         Disk      test share
    westos6         Disk      test share
    westos7         Disk      test share
    westos8         Disk      test share
    westos9         Disk      test share
    westos10        Disk      test share
    IPC$            IPC       IPC Service (Samba Server Version4.1.1)
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
    Server               Comment
    ---------            -------
    Workgroup            Master
    ---------            -------
smbclient //172.25.254.250/westos1          ##
访问共享文件
mount //172.25.254.250/westos1 /mnt -o username=guest   ##挂载CIFS共享
自动挂载的时候打开/etc/fstab
然后在里面添加

//172.25.254.250/westos1  /mnt  cifs   defaults,username=guest 0 0 ##挂载
然后mount -a


##########nfs#########
 linux之间共享


yum install nfs-utils   -y          ##
安装客户端
showmount -e 172.25.254.250         ##查看共享列表
mount 172.25.254.250:/nfsshare/nfs1 /mnt    ##挂载
自动挂载
vim /etc/fstab
172.25.254.250:/nfsshare/nfs1   /mnt nfsdefaults 0 0
wq

####autofs
服务自动挂载服务########

yum install autofs -y               ##安装自动挂载服务

systemctl start autofs              ##打开服务
cd /net/172.25.254.250/nfsshare/nfs1        ##切换到共享目录的时候会自动挂载
然后等到退出目录的时候默认300秒后会自动卸载

如果要修改卸载时间
编辑/etc/autofs.conf配置文件
 15 timeout = 5                 ##修改卸载时间为5秒

自定义挂载点

vim /etc/auto.master       
 14 /mnt    /etc/auto.mnt           ##
挂载点的上层目录和子挂载策略
vim /etc/auto.mnt               ##创建策略文件
westos  172.25.254.250:/nfsshare/nfs1       ##挂载点  服务器共享文件
这个时候切换到/mnt/westos 下面的时候就可以直接把172.25.254.250:/nfsshare/nfs1挂载到/mnt/westos下面   这个时候不能在/mnt下面建立东西   等到退出路径的时候等到自动卸载时间到的时候会自动卸载

任意挂载点 
vim /etc/auto.mnt
*   172.25.254.250:/nfsshare/&      ##任意挂载点





#######

yum install sssd krb5-workstation -y        ##
安装软件
然后anthconfig-tui
进行一些设定

你第一次设定后会发现少一个证书
我们需要去下载这个证书到/etc/openldap/cacerts到
wget http://172.25.14.254/pub/example-ca.crt    ##下载证书
getent passwd ldapuser1             ##查看用户ldapuser1
showmount -e 172.25.254.254         ##查看共享列表

yum install autofs -y               ##安装自动挂载服务
vim /etc/autofs.master              ##挂载点的上层目录和挂载策略
/home/guests    /etc/auto.ldap
vim /etc/auto.ldap              ##策略文件
*       172.25.254.254:/home/guests/&   ##挂载所有用户到挂载点上
systemctl restart autofs                       ##重启服务
systemctl enable autofs
   


   

 

你可能感兴趣的:(笔记8)