作者:George
归档:学习笔记
2018/1/8
本章正题:sudo、磁盘结构、echo,awk,python计算、RAID0和1的区别
1.1 普通用户临时拥有root用户的权限
方法: 1. 给文件加s权限
2. 更改文件所有者
3. sudo
1.1.1 sudo临时让用户拥有root权限
1. su george 环境变量没有切换过去
2. su - george 环境变量也会切换过去
注:env |grep root查看
1.1.2 普通用户查看自己有什么权限
[[email protected] ~]$ sudo -l
最后一行:
User george may run the following commands on this host:
(ALL) /bin/ls, (ALL) /bin/touch, (ALL) /usr/bin/vim
1.1.3 授予普通用户ls、touch、vim权限
注:给vim权限要慎用,vim可以更改root密码,或编辑/etc/sudoers给自己ALL权限
1. vim /etc/sudoers
92gg 切换到92行
或者:建议使用visudo,相当于vi/etc/sudoers
2. oldboy ALL=(ALL) /bin/ls, /bin/touch, /usr/bin/vim
注:逗号+空格,来分割多个命令
注:给用户组授权,用户组名称前面加%,如%qihang
3. 使用命令前加sudo
1.1.4 授权普通用户/bin下面所有命令,并排除某个危险命令
1. 授权/bin下所有命令:/bin/*
2. 授权/bin下所有命令并排除某个:!/bin/vi, !/bin/su
如:[[email protected] ~]$ sudo su - root
Sorry, user george is not allowed to execute '/bin/su - root' as root on georgekai.
注:一般使用哪个命令,授权哪个,不然排除不过来
1.1.5 去除使用sudo时输入的密码
visudo /etc/sudoers
92gg 切换到92行
george ALL=(ALL) NOPASSWD: ALL
清除足迹:history xshell停止日志记录 清空日志
1.2 记录用户操作行为,日志审计的方法
1.2.1 齐治的堡垒机
1.2.2 gateone web跳板机(可以像放电源一样回放敲过什么命令)
1.2.3 python 开发的开源跳板机产品(Jumpserver)
注:1.命令记录显示在哪个用户在什么时间敲了什命令
2.可以是实现sudo的功能,一般用他来代替sudo使用
1.2.4 shell脚本写的跳板机(最简单的跳板机)
1.3 磁盘管理
1.3.1 磁盘结构(科普一下)
u 磁盘外部结构的组成:
1.磁盘主轴转速:个人:5400 rpm 7200 rpm
服务器:10k rpm 15k rpm
2.磁盘 盘片
3.磁头
4.磁盘接口 SATA SAS(电源线和数据线中间是凸起的) PCI-E(固态硬盘)
1. 磁盘接口
SATA:一般个人使用 转速:10rpm 容量:目前最大12t
SAS :服务器标配,线上/生产环境使用 转速:15k rpm 容量:300G 600G
注:SAS的由来:SATA SCSI 的结合(相当于驴和马的杂交)
PCI-E:大量的读写,要求高性能,数据量小
m .2/nvme/pei-e:一般用于笔记本的固态硬盘
2. 机械和固态硬盘的区别
注:1. 查看磁盘读写iotop或iostat
2. iotop -o 只查看正在读写的进程
最初始的硬盘:像井盖,扫地机器人
u 磁盘的内部结构组成:
磁盘(Disk)
磁头(head):作用:用来读写数据
注:一个盘面一个磁头,一个盘=2个盘面
不抗摔,因为磁头和盘面的间距比头发直径还小很多
磁道(track):作用:用来存放数据
注:从外面到里面,最外面是0磁道
扇区(Sector):磁盘上最小的单位,默认一个扇区512字节
柱面(Cylinder):不同盘面上的相同磁道(如0磁道)组成了柱面
注:磁盘默认是按照柱面进行读写的:1) 磁头之间的切换接近光速 2)径向运动=寻到
单元块(Units):表示一个柱面的大小
计算磁盘大小:柱面大小*柱面的数量 如:echo 38*822528/1024^3 | bc (^3:表示3次方)
注:厂家按1000计算的,所以大小21.5G。实际容量按1024计算。
1.3.2 echo awk python计算
1. echo
例1:echo 38*32432434 | bc
例2:echo "obase=16;$abc"|bc
2. awk计算硬盘实际容量
例1:[[email protected] ~]# awk 'BEGIN{print 38*8225280/1024^3}'
0.291095
3. python计算硬盘实际容量(需要小数,后面加 . 0)
例1:[[email protected] ~]# python
>>> 38*8225280/1024^3
305232
>>> 23+2
25
>>> 23*2
46
>>> 23/2
11
>>> 23.0/2
11.5
1.3.3 RAID
磁盘阵列的好处:获得更大的容量
获得更高的性能
获得更好的安全性
raid常用级别:raid 0 、raid 1 、raid 5 、raid 10
1. Raid 0 :1)具有最高的存储性能(磁盘容量不浪费,读写很快),容量是磁盘的总和
2)制作至少需要1快物理硬盘,不做raid不能安装系统
3)安全性低:任何一块硬盘损坏,所有数据无法使用
2. Raid 1 : 1)镜像:损失50%的数据容量
2)至少需要2块大小一样的硬盘
3)安全性最高
4)读取速度要比写的速度快
原文地址:http://blog.51cto.com/13055758/2058663