一、逻辑卷 格式化 挂载
fdisk -l 看到sda的分区 sda1 sda2
挂载和卸载
1、将光驱从挂载目录中卸载掉
umount /dev/sr0 卸载光驱
2、挂载光驱
mount /dev/sr0 /media
挂载:将块设备 与 一个目录进行连接, 进入该目录相当于进入该设备
实验:
1、为虚拟机单独添加3快磁盘 sdb sdc sdd
设置——选择硬盘——添加——出现弹框:
硬件类型:硬盘,下一步——》选择磁盘类型(SCSI)下一步——》最大磁盘大小20G——》将虚拟磁盘存储为单个文件(重复三遍)
三块添加完之后,开机。
开启后先确定三块磁盘是否存在:
cd /dev
ls后看到(sdb、sdc、sdd)
2、将三块磁盘转换为物理卷pv 每个20G
pvcreat /dev/sd[bcd](这里的中括号是正则表达式,表示中括号里面的每一个字符会被单独调用)
所以这条命令分别是对dev下的sdb、sdc、sdd进行物理卷的建立
用pvscan扫一下看有没有:
3、将三块磁盘合并成60G的卷组
vg是卷组的意思(volume group)
vgcreate 起的名字
vgcreate vg_1901 /dev/sdb /dev/sdc /dev/sdd 建立一个名为vg_1901的卷组 里面磁盘/dev/sdb /dev/sdc /dev/sdd
如果手滑少敲了一个/dev/sdd可以用:
vgextend vg_1901 /dev/sdd补进去 # 添加物理卷进入卷组(卷组扩容)
vgdispaly vg_1901 查看一下这个卷组多大 vgdisplay查看卷组详细信息
用命令字history可以查看以前的操作
4、从60G卷组中拿出30G建立逻辑卷 格式化挂载
lvcreate -L 30G -n lv_1901 vg1901 建立一个名为lv_1901的逻辑卷大小30G
我是谁、我叫什么名字、我的妈妈是谁
cd /dev/mapper (mapper是映射)
dir /mnt/1901lvm
5、格式化逻辑卷
mkfs.ext4 /dev/mapper/vg_1901-lv_1901 (格式化)
6、挂载使用
mkdir /mnt/1901lvm
mount /dev/mapper/vg_1901-lv_1901 /mnt/1901lvm 挂载
7、验证
df -Th 是否挂载成功
8、将刚刚建立出的30G逻辑卷扩容到50G
lvextend -L +20G /dev/mapper/vg_1901-lv_1901 逻辑卷扩容(要写文件路径)
resize2fs /dev/mapper/vg_1901-lv_1901 文件系统扩容(重新定义文件系统大小)
df -Th看到的是文件系统挂载信息
9、验证df -Th
练习:
1、添加一个新磁盘sde,将其建立为物理卷
2、扩容到系统中根‘’分区卷组中
3、为根分区逻辑卷多扩容出10G空间
练习
1、当前目录权限如下rwxrwxrwx,将权限修改为只有所属者可以进入并添加文件,属组用户可以进入浏览,其他用户无法进入。通过命令修改权限 rwxr-x---
chmod g-w,o=--- 目录
chmod 750 目录2、如何为系统中的find命令设定suid权限,设定后如何通过命令找出系统中哪些命令具有suid权限
which find
chmod u+s /bin/find
find / -perm +4000
3、系统中有三块硬盘sdb sdc sdd 如何将其组合并建立一个大小为10G的逻辑卷,格式化并挂载到/mnt/lvm使用
pvcreate /dev/sd[bcd]
vgcreate vg_lsc /dev/sdb /dev/sdc /dev/sdd
lvcreate -L 10G -n lv_lsc vg_lsc
mkfs.ext4 /dev/mapper/vg_lsc-lv_lsc
mount /dev/mapper/vg_lsc-lv_lsc /mnt/lvm
4、根据3题设定逻辑卷将其进行扩容到20G
lvextend -L +10G /dev/mapper/vg_lsc-lv_lsc
resize2fs /dev/mapper/vg_lsc-lv_lsc
df -Th
二、三个特殊权限
1、t 粘滞位 只对目录有效
特点:在目录中建立的文件只有文件的所属者可以删除。
把tmp目录删了后千万不要把终端关闭了,如果关闭了就再也打不开了(因为我们的图形化界面也要占用临时文件存放目录,你在图形化界面触发的任何操作,比如打开终端,实际上都要到临时文件)
所以tmp不能随便删除
解决方法:重启或者登出
赋权:chmod o+t /tmp
或者chmod 1777 /tmp(第一位是特殊权限为,写1表示粘滞位,这个位置还可以写0/1/2/4,每一位都有不同的作用)
2、sgid(用的不多)
sgid (只对目录有效)
特点:在目录中建立的文件或者目录属组会继承父目录的数组
配置方法:
chmod 777 /tmp/test
chmod g+s /tmp/test
方法2:chmod 2777 /tmp/test
3、suid(非常重要)
suid(只对可执行文件有效),谁运行谁就是这个文件的所属者
作用:当一个可执行文件,具有suid权限,无论谁运行该文件,谁就具有该文件所属者的权限。
用which vim可以查看外部命令vim的位置
赋权方法:chmod u+s 文件路径
应用1:vim
此时此刻切换成普通用户,这时候普通用户就是以root的身份运行vim
此时此刻如果登录了我的普通用户,开始使用vim,你就具有root的一切编辑能力,所有文件你都可以看所有文件都可以改!
这个还不是最狠的,因为像这种权限很容易被管理员排查出来,狠的是有的人渗透到你机体中,为了给它自己留后门,他通常情况下不会对这种非常敏感的命令设置suid,会设置一些普通的命令,比如find
应用2:find
现在所有运行find命令的用户都是会被当作root用户
怎么用?
现在切换普通用户:
find /opt -name rh -exec "whoami" \; 希望输出
利用这个功能我知道了,凡是我利用find命令来触发另外一些命令的时候,它会认为是root用户在触发
现在想办法让他运行点别的东西,运行命令解释器是最有用的!只要去运行命令解释器,这个用户就有root的权限
查看当前的命令解释器:which bash 在/bin/bash
现在执行:find /opt -name rh -exec "/bin/bash" \;
前面的标号是$不是#
在这个操作系统能使用的命令解释器不止是bash,查看:cat /etc/shells
刚才试的bash不行,现在试一下其他的命令解释器,比如dash
现在执行:find /opt -name rh -exec "/bin/dash" \;
我们可以尝试用这个权限做一些其他操作:
这个就是一些常用的提权手段
很多人都喜欢:
一旦他渗透到这台主机里面,他会希望自己能够长期去潜入,问题就是一旦有人发现知道root用户不安全了,就想办法给自己留个后门
怎么留呢?它会建立一个不起眼的普通用户,建立这个普通用户也不会分配很厉害的权限,只会给当前本机里面的一些不太重要,或者不太显眼的一些命令赋suid
用这些用户一旦调用这个命令的时候它就可以想办法把它提权为root
针对这个问题怎么解决?
find / -perm 4755 (prem是权限的意思) 4755是suid赋权的权限
suid是以后进行筛选的时候服务器有没有被潜入的非常重要的筛选点,找出来就可以通过它切换成root,找不出来系统就很安全。
应用3:man
不起眼的命令处理find之外,man也可能
现在切换成普通用户
随便man个东西:man ls,回车
不行的话,就说明系统修复了
这个man的命令,sudo和不sudo有截然不同的区别:
用man ls进入,输入!whoami,显示的是Jerry
用sudo man ls,输入!whoami,显示的是root
现在就可以用passwd root给root用户改密码
总结:uid设定的方法
1、查找which(找外部命令)
用以下两个命令都可以提权
which vim
chmod u+s /usr/bin/vim
或者chmod 4755 /usr/bin/vim
无论谁用vim就有root的权限,这个很容易被发现,很明显
which find
chmod u+s /bin/find
普通用户 find /opt -name rh -exec "/bin/dash" \;(注意这个的作用就是要一条输出,因为你查的文件多,后面-exec就给你输出多条,没意义,我们要求就要一条输出)
find /opt -name rh这条命令执行完只有一次输出,-exec后面的命令就执行一次
#获得root权限
排查: find / -perm 4755针对权限进行查询系统中所有具有suid权限的命令
find / -perm +4000 忽视后面权限只要带suid的都查
find的用法:
find /boot -size +4M -exec cp '{}' /tmp \;(exec属于find的选项)
find /boot -size +4M -exec “whoami” \;(如果前面那个命令找出三个文件出来,-exec执行后面的命令,会出现3个root)
find查找出来的内容交给后面命令处理的时候,首先whoami只能自己处理自己(前面的命令是什么无所谓,只要让他有一次输出就行)
-exec相当于前面这个命令找出来的结果的输出,利用这个输出把它转化成后面那条命令的运行,它输出几回我就运行几回
visudo命令
这个man的命令,sudo和不sudo有截然不同的区别:
用man ls进入,输入!whoami,显示的是Jerry
用sudo man ls,输入!whoami,显示的是root
现在就可以用passwd root给root用户改密码
我们平时用visudo给权限的时候,确认一下这个命令是不是能出现像man一样的交互界面
只要这个命令能出现man这种交互界面,它就可以被提权,因为只要进入交互界面在最后输入!就是当前用户输入的命令