LINUX从零开始——ENGINEER(云计算应用管理)——Day2 [磁盘空间管理、交换空间、VDO]

1.基本权限的分类?归属关系分为 那几种?
r 读取权限、w 写入权限、x 执行权限
u 所有者、g 所属组、o 其他人
2.Linux中如何查看一个文件或目录的权限?
ls -ld 文件或目录

3.修改权限的命令是什么?修改归属关系的命令是什么?
chmod chown

4.一位用户能否切换到一个目录里面,只和什么权限有关?
x 执行权限

5.一位用户对目录具备w权限,该用户对目录进行哪些操作?
可以进行新建、删除、重命名等修改目录内容的操作

6.Linux中SGID权限用什么符号表示?出现的位置?有什么作用?
s、所属组的执行权限位、可以让该目录下,新增的数据自动设置与父目录相同的所属组身份

7.Linux中粘滞位权限用什么符号表示?出现的位置?有什么作用?
t、其他人执行权限位、适用于开放w权限的目录,禁止操作别人的数据

8.查看/boot文件夹的全部内容,以长格式显示、带易读单位,请写出该命令
ls -Alh /boot

9.为lisi设置权限,可以读取/etc/shadow文件内容,你有几种办法,请写出
1)利用其他人
chmod o+r /etc/shadow
2)利用所属组
chown :lisi /etc/shadow
chmod g+r /etc/shadow
3)利用所有者
chown lisi /etc/shadow
chmod u+r /etc/shadow
4)利用ACL策略
setfacl -m u:lisi:r /etc/shadow

昨日习题:案例1:计划任务
-指定一个计划任务,以root身份,每2分钟记录当前的系统时间,写入到/opt/two.txt
[root@A ~]# crontab -e
*/2 * * * * date >> /opt/two.txt
[root@A ~]# crontab -l
[root@A ~]# cat /opt/two.txt

案例2:chmod权限设置
1)以root用户新建/nsddir/目录,在该目录下新建文件readme.txt
2)使用户zhangsan能够在/nsddir/目录下创建/删除子目录
3)使用户zhangsan能够修改/nsddir/readme.txt文件的容
[root@A ~]# mdkir /nsddir
[root@A ~]# echo haha >> /nsddir/readme.txt
[root@A ~]# chmod o+w /nsddir
[root@A ~]# su - zhangsan
[zhangsan@A ~]$ mkdir /nsddir/zhangsan
[zhangsan@A ~]$ ls /nsddir
[zhangsan@A ~]$ exit
[root@A ~]# chmod o+w /nsddir/readme.txt
[root@A ~]# su - zhangsan
[zhangsan@A ~]$ echo xixi >> /nsddir/readme.txt
[zhangsan@A ~]$ cat /nsddir/readme.txt
[zhangsan@A ~]$ exit

案例3:chown归属设置
1)新建/tarena1目录
a)将属主设为gelin01,属组设为tarena组
b)使用户gelin01对此目录具有rwx权限,其他人对此目录无任何权限
[root@A ~]# mkdir /tarena1
[root@A ~]# useradd gelin01
[root@A ~]# groupadd tarena
[root@A ~]# chown gelin01:tarena /tarena1
[root@A ~]# ls -ld /tarena1
[root@A ~]# chmod o=— /tarena1
[root@A ~]# ls -ld /tarena1

2)使用户gelin02能进入、查看/tarena1文件夹(提示:将gelin02加入所属组)

[root@A ~]# useradd gelin02
[root@A ~]# gpasswd -a gelin02 tarena
[root@A ~]# id gelin02
[root@A ~]# su - gelin02
[gelin02@A ~]$ cd /tarena1
[gelin02@A tarena1]$ cd /tarena1
[gelin02@A tarena1]$ ls
[gelin02@A tarena1]$ exit

3)新建/tarena2目录
a)将属组设为tarena
b)使tarena组的任何用户都能在此目录下创建、删除文件

[root@A ~]# mkdir /tarena2
[root@A ~]# chown :tarena /tarena2
[root@A ~]# chmod g+w /tarena2
[root@A ~]# ls -ld /tarena2
[root@A ~]# useradd ceshi
[root@A ~]# gpasswd -a ceshi tarena
[root@A ~]# id ceshi
[root@A ~]# su - ceshi
[ceshi@A ~]$ mkdir /tarena2/ceshi
[ceshi@A ~]$ ls /tarena2
[ceshi@A ~]$ exit

4)新建/tarena/public目录
a)使任何用户对此目录都有rwx权限
b)拒绝zhangsan进入此目录,对此目录无任何权限

[root@A ~]# mkdir /tarena/public
[root@A ~]# chmod 777 /tarena/public
[root@A ~]# ls -ld /tarena/public
[root@A ~]# setfacl -m u:zhangsan:— /tarena/public
[root@A ~]# su - zhangsan
[zhangsan@A ~]$ ls /tarena/public
[zhangsan@A ~]$ cd /tarena/public

[zhangsan@A ~]$ exit

案例4:权限设置
1、创建文件夹/data/test,设置目录的访问权限,使所有者和所属组具备读写执行的权限;其他人无任何权限。
2、递归修改文件夹/data/test的归属使所有者为zhangsan,所属组为tarena。
3、请实现在test目录下,新建的所有子文件或目录的所属组都会是tarena。
4、为lisi创建ACL访问权限,使得lisi可以查看/etc/shadow文件
[root@A ~]# mkdir /data/test
[root@A ~]# chmod u=rwx,g=rwx,o=— /data/test 或者 chmod 770 /data/test
[root@A ~]# ls -ld /data/test

[root@A ~]# chown -R zhangsan:tarena /data/test
[root@A ~]# ls -ld /data/test

[root@A ~]# chmod g+s /data/test
[root@A ~]# mkdir /data/test/abc
[root@A ~]# ls -ld /data/test/abc

[root@A ~]# setfacl -m u:lisi:r /etc/shadow
[root@A ~]# getfacl /etc/shadow
[root@A ~]# su - lisi
[lisi@A ~]$ cat /etc/shadow
[lisi@A ~]$ exit

案例5:虚拟机 server0上操作
将文件 /etc/fstab 拷贝为 /var/tmp/fstab,并调整文件 /var/tmp/fstab权限
满足以下要求:
– 此文件的拥有者是 root
– 此文件对任何人都不可执行
– 用户 natasha 能够对此文件执行读和写操作
– 用户 harry 对此文件既不能读,也不能写
[root@A ~]# cp /etc/fstab /var/tmp/fstab
[root@A ~]# ls -l /var/tmp/fstab

[root@A ~]# setfacl -m u:natasha:rw /var/tmp/fstab
[root@A ~]# getfacl /var/tmp/fstab
[root@A ~]# su - natasha
[natasha@A ~]$ cat /var/tmp/fstab
[natasha@A ~]$ echo ceshi >> /var/tmp/fstab
[natasha@A ~]$ cat /var/tmp/fstab
[natasha@A ~]$ exit
[root@A ~]# setfacl -m u:harry:— /var/tmp/fstab
[root@A ~]# getfacl /var/tmp/fstab
[root@A ~]# su - harry
[harry@A ~]$ cat /var/tmp/fstab
[harry@A ~]$ echo ceshi >> /var/tmp/fstab

[harry@A ~]$ exit

案例6:虚拟机操作
创建一个共用目录 /home/admins,要求如下:
– 此目录的所属组是 adminuser
– adminuser 组的成员对此目录有读写和执行的权限,并且其他用户没有任何权限
– 在此目录中创建的文件,其所属组会自动设置为 属于 adminuser 组
[root@A ~]# mkdir /home/admins
[root@A ~]# groupadd adminuser
[root@A ~]# chown :adminuser /home/admins
[root@A ~]# chmod 770 /home/admins
[root@A ~]# ls -ld /home/admins
[root@A ~]# chown g+s /home/admins
[root@A ~]# ls -ld /home/admins

[root@A ~]# mkdir /home/admins/ceshi
[root@A ~]# ls -ld /home/admins/ceshi

#############################################################################################
二、ACL访问策略(ACL权限)
•文档归属的局限性
–任何人只属于三种角色:属主、属组、其他人
–无法实现更精细的控制
•acl访问策略
–能够对个别用户、个别组设置独立的权限
–大多数挂载的EXT3/4、XFS文件系统默认已支持

•setfacl命令
–格式:setfacl [选项] u:用户名:权限 文件…
setfacl [选项] g:组名:权限 文件…
•常用命令选项
–-m:定义一条ACL策略
–-x:清除指定的ACL策略
–-b:清除所有已设置的ACL策略
–-R:递归设置ACL策略

[root@A ~]# su - lisi
[lisi@A ~]$ cat /etc/shadow
cat: /etc/shadow: 权限不够
[lisi@A ~]$ head -1 /etc/shadow
head: 无法打开"/etc/shadow" 读取数据: 权限不够
[lisi@A ~]$ exit

[root@A ~]# setfacl -m u:lisi:r /etc/shadow #为用户lisi单独设置权限
[root@A ~]# getfacl /etc/shadow #查看数据的ACL策略

[root@A ~]# su - lisi
[lisi@A ~]$ head -1 /etc/shadow
root: 6 6 KJNPNeOBH8xx/QYO . T v I F b 6 c c a t H L a i 8 v p 3 A R / c e U I 18 a c N 9 g f Z c n U x y B y c d F z T S 59 N l k r j . x g d M w p r A o r I b h N s N y K v c A Z B 7 d F 0 v G . : : 0 : 99999 : 7 : : : [ l i s i @ A   ] .TvIFb6ccatHLai8vp3AR/ceUI18acN9gfZcnUxyBycdFzTS59Nlkrj.xgdMwprAorIbhNsNyKvcAZB7dF0vG.::0:99999:7::: [lisi@A ~] exit

[root@A ~]# mkdir /nsd25
[root@A ~]# setfacl -m u:lisi:rwx /nsd25 #为lisi单独设置ACL策略
[root@A ~]# setfacl -m u:zhangsan:rx /nsd25 #为zhangsan单独设置ACL策略
[root@A ~]# setfacl -m u:dc:rx /nsd25 #为dc单独设置ACL策略
[root@A ~]# setfacl -m u:natasha:rwx /nsd25 #为natasha单独设置ACL策略
[root@A ~]# getfacl /nsd25

[root@A ~]# setfacl -x u:natasha /nsd25 #单独删除用户natasha的ACL策略
[root@A ~]# getfacl /nsd25

[root@A ~]# setfacl -x u:dc /nsd25 #单独删除用户dc的ACL策略
[root@A ~]# getfacl /nsd25
[root@A ~]# setfacl -b /nsd25 #清空目录所有ACL策略
[root@A ~]# getfacl /nsd25

[root@A ~]# setfacl -Rm u:dc:rx /opt/aa #递归设置ACL策略,Rm选项的顺序不能颠倒

设置ACL策略,也可以实现单独拒绝一个人
[root@A ~]# mkdir /nsd26
[root@A ~]# chmod 777 /nsd26
[root@A ~]# ls -ld /nsd26

[root@A ~]# setfacl -m u:lisi:— /nsd26
[root@A ~]# getfacl /nsd26
#############################################################################################
三、分区规划及使用
扇区默认大小:512字节
计算机存储单位一般用B,KB,MB,GB,TB,PB,EB,ZB,YB,BB来表示,它们之间的关系是:
1KB (Kilobyte 千字节)=1024B----------------------------------------------------------------------- 1K=10^3千
1MB (Megabyte 兆字节 简称“兆”;万进级计数法中是“百万”字节;)=1024KB-----------1M=10^6兆
1GB (Gigabyte 吉字节 又称“千兆”;万进级计数法中是“十亿”字节)=1024MB------------1G=10^9吉
1TB (Terabyte 太字节;万进级计数法中是“兆”字节)=1024GB----------------------------1T=10^12太
1PB(Petabyte 拍字节;万进级计数法中是“千兆”字节)=1024TB-------------------------1P=10^15拍
1EB(Exabyte 艾字节;万进级计数法中是“百京”字节)=1024PB--------------------------1E=10^18艾

•识别硬盘 => 分区规划 => 格式化 => 挂载使用
在这里插入图片描述

1.识别硬盘
[root@A ~]# lsblk #查看当前系统识别的硬盘
关闭虚拟机,添加新的硬盘大小为20G,一共添加2块硬盘
[root@A ~]# poweroff
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

开启虚拟机,查看识别的硬盘
[root@A ~]# lsblk

sdb 8:16 0 20G 0 disk
sdc 8:32 0 20G 0 disk

[root@A ~]# ls /dev/sd[b-c]

2.分区规划
分区模式:MBR、GPT
•MBR/msdos分区模式(主启动记录的模式)
–分区类型:主分区(最多4个)、扩展分区(至多1个)、逻辑分区(没有个数限制)
–1~4个主分区,或者 0~3个主分区+1个扩展分区(n个逻辑分区)
–扩展分区空间不能格式化,进行使用
–最大支持容量为 2.2TB 的磁盘
在这里插入图片描述

使用fdisk分区工具
•修改硬盘的分区表
–fdisk 硬盘设备
[root@A ~]# fdisk /dev/sdb #划分两个主分区,大小分别为2G与3G
n 创建新的分区----->分区类型 回车----->分区编号 回车---->起始扇区 回车----->在last结束时 +2G
p 查看分区表
n 创建新的分区----->分区类型 回车----->分区编号 回车---->起始扇区 回车----->在last结束时 +3G
d 删除分区
w 保存并退出

[root@A ~]# lsblk
[root@A ~]# ls /dev/sdb[1-2]

3.格式化类似于装修
格式化:赋予空间文件系统的过程
文件系统:数据在空间中存放的规则

Windows常见的文件系统:NTFS(功能强大) FAT(兼容性强)
Linux常见文件系统:ext4(RHEL6) xfs(RHEL7) FAT
[root@A ~]# mkfs.ext4 /dev/sdb1
[root@A ~]# mkfs.xfs /dev/sdb2
[root@A ~]# blkid /dev/sdb1
/dev/sdb1: UUID=“6118c220-f9ec-4826-bf0b-21f3534a20a9” TYPE=“ext4”
[root@A ~]# blkid /dev/sdb2
/dev/sdb2: UUID=“6ff7ccee-684d-44b0-8c2b-4893acc3bd42” TYPE=“xfs”

4.挂载使用
[root@A ~]# mkdir /mypart1
[root@A ~]# mkdir /mypart2
[root@A ~]# mount /dev/sdb1 /mypart1
[root@A ~]# mount /dev/sdb2 /mypart2
[root@A ~]# df -h #正在挂载设备的使用情况
[root@A ~]# df -h | tail -2 #正在挂载设备的使用情况

5.开机自动挂载
•配置文件 /etc/fstab 的记录格式
–设备路径 挂载点 类型 参数 备份标记 检测顺序
/dev/sdb1 /mypart1 ext4 defaults 0(不备份) 0(不检测)
[root@A ~]# blkid /dev/sdb2 #查看文件系统类型
[root@A ~]# vim /etc/fstab
/dev/sdb1 /mypart1 ext4 defaults 0 0
/dev/sdb2 /mypart2 xfs defaults 0 0
[root@A ~]# umount /mypart1 #卸载/mypart1的设备
[root@A ~]# umount /mypart2 #卸载/mypart2的设备
[root@A ~]# df -h #显示正在挂载设备的信息
[root@A ~]# mount -a #检测/etc/fstab文件的内容
检测/etc/fstab开机自动挂载配置文件,格式是否正确
检测/etc/fstab中,书写完成,但当前没有挂载的设备,进行挂载
[root@A ~]# df -h #显示正在挂载设备的信息

开机自动挂载光驱设备
[root@A ~]# mkdir /dvd
[root@A ~]# ls /dvd
[root@A ~]# blkid /dev/cdrom
/dev/cdrom: UUID=“2018-05-07-12-53-47-00” LABEL=“CentOS 7 x86_64” TYPE=“iso9660” PTTYPE=“dos”
[root@A ~]# vim /etc/fstab
/dev/cdrom /dvd iso9660 defaults 0 0
[root@A ~]# mount -a
[root@A ~]# ls /dvd/
#############################################################################################
四、综合分区
[root@A ~]# fdisk /dev/sdb
p 查看分区表
n 创建主分区----->回车----->回车---->回车----->在last结束时 +2G
p 查看分区表
n 创建扩展分区
----->回车---->起始回车----->结束回车 将所有空间给扩展分区
p 查看分区表
n 创建逻辑分区----->起始回车------>结束+2G
n 创建逻辑分区----->起始回车------>结束+2G
p 查看分区表
w 保存并退出
[root@A ~]# lsblk
[root@A ~]# partprobe #刷新分区表
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
[root@A ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 2G 0 part /mypart1
├─sdb2 8:18 0 3G 0 part /mypart2
├─sdb3 8:19 0 2G 0 part
├─sdb4 8:20 0 1K 0 part
├─sdb5 8:21 0 2G 0 part
├─sdb6 8:22 0 2G 0 part
└─sdb7 8:23 0 2G 0 part
sdc 8:32 0 20G 0 disk
sr0 11:0 1 8.8G 0 rom /dvd
#############################################################################################
五、总结分区
1.识别硬盘 lsblk
2.分区规划 fdisk专用于划分MBR分区模式 MBR分区模式的特点
3.刷新分区表 partprobe
4.格式化 mkfs.ext4 mkfs.xfs blkid
5.挂载使用 手动挂载mount命令 开机自动挂载/etc/fstab 检测fstab文件命令mount -a 查看df -h

#############################################################################################
六、硬盘分区进阶

1.分区规划
分区模式:MBR、GPT
•GPT,GUID Partition Table (一个硬盘只能选择一种分区方式)
–全局唯一标识分区表
–突破固定大小64字节的分区表限制
–最多可支持128个主分区,最大支持18EB磁盘
** 1 EB = 1024 PB = 1024 x 1024 TB

•parted常用分区指令
–help //查看指令帮助
–mktable msdos|gpt //建立指定模式分区表
–mkpart primary 文件系统类型 start end
//指定大小或百分比%作为起始、结束位置
–print //查看分区表
–rm 序号 //删除指定的分区
–quit //退出交互环境

[root@A ~]# parted /dev/sdc #此命令默认保存
(parted) 连续按两次tab键 #显示可以使用的命令

(parted) mktable gpt #指定分区表模式为gpt
(parted) print #输出分区表信息
(parted) mkpart #创建新的分区
分区名称? []? xixi #指定分区的名字,随意写可以重复
文件系统类型? [ext2]? xfs #指定分区文件系统类型,随意写不起作用
起始点? 0
结束点? 3G
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放弃/Cancel? Ignore #选择忽略,给出存放分区表信息的空间
(parted) print
(parted) unit GB #使用GB作为显示的单位
(parted) print
(parted) mkpart
分区名称? []? xixi
文件系统类型? [ext2]? xfs
起始点? 3G
结束点? 8G
(parted) print
(parted) mkpart
分区名称? []? xixi
文件系统类型? [ext2]? xfs
起始点? 8G
结束点? 60%
(parted) print
(parted) quit
#############################################################################################
课后习题:
案例1:复制、粘贴、移动
以root用户新建/example/目录,在此目录下新建nsd.txt文件,并进一步完成下列操作

1)将“I love Study”写入到文件nsd.txt
2)将nsd.txt重命名为mylove.txt
3)将/etc/passwd、/boot、/etc/group同时拷贝到/example/目录下
4)将ifconfig命令的前两行内容,追加写入mylove.txt
5)将主机名永久配置文件,拷贝到/example/目录下
6)将DNS永久配置文件,拷贝到/example/目录下
7)将开机自动挂载配置文件,拷贝到/example/目录下

案例2:虚拟机上操作,(MBR分区模式)规划分区
添加一块60G的硬盘并规划分区:
划分2个10G的主分区;1个12G的主分区;1个20G的逻辑分区。

案例3:虚拟机上操作,分区使用

1、案例2中新添加60G硬盘的第一个逻辑分区
– 格式化成xfs文件系统,实现该分区开机自动挂载,挂载点为/mnt/xfs

2、案例2中新添加60G硬盘的第一个主分区
– 完成开机自动挂载,挂载点/mnt/mypart,文件系统为ext4

案例4:虚拟机上操作,采用GPT分区模式,利用parted规划分区
添加一块20G的硬盘并规划分区:
划分2个2G的主分区;1个5G的主分区;

案例5:虚拟机上操作,分区使用

1、案例4中新添加20G硬盘的第一个主分区
– 格式化成ext4文件系统,实现该分区开机挂载到/stu01

2、案例4中新添加20G硬盘的第二个主分区
– 格式化成xfs文件系统,实现该分区开机挂载到/stu02

发布了0 篇原创文章 · 获赞 0 · 访问量 112

猜你喜欢

转载自blog.csdn.net/hufei_/article/details/105024799