Linux 第 10 天自习
时间: 20180726
目录
Linux 文件系统上的权限
linux 文件管理
Linux 文件系统上的特殊权限 RAID (Redundant Arrays of Independent Disk)
Linux 文件系统上的权限
文件系统上的权限主要针对三类对象 user,group,other, 每类对象有三类权限 r,w,x
对于文件来说, r 表示可使用文件查看类工具获取其内容, w 表示可修改其内容, x 表示可以把
此文件提至内核启动一个进程.
对于目录来说, r 表示可以使用 ls 来查看此目录中的文件列表, w 表示可以删除此文件目录里的
文件并也可以在此目录中创建文件, x 表示可以使用 ls -l 来查看目录中的文件列表, 可 cd 进
入此目录
权限二进制表示 rwx 421
linux 文件管理
文件权限修改 chmod
- chmod [OPTION]... MODE[,MODE]... FILE...
- chmod [OPTION]... OCTAL-MODE FILE...
- chmod [OPTION]... --reference=RFILE FILE...
-R recursive 表示递归修改权限
- MODE[,MODE]
- chmod u+w,o-r,... FILE...
- OCTAL-MODE
- chmod 755 file...
- --reference=RFILE
chmod --reference=file FILE... 参考某个文件来修改其它文件权限
文件属主和属组管理 chown, chgrp
- chown [OPTION]... [OWNER][:[GROUP]] FILE...
- chown [OPTION]... --reference=RFILE FILE...
-R recursive 递归修改文件属主属组
chgrp 修改文件属主
-R recursive 递归修改文件属组
文件或目录创建时的遮罩码 umask
遮罩码是指某个用户在创建文件或目录时的默认权限
FILE: 666-umask
注意: 如果某类用户的权限减得的结果存在 x 权限, 则将其权限 + 1
DIR: 777-umask
(umask 025;touch test) 此种方式创建文件以前方所指的默认遮罩码修改权限
而不会影响当前用户的遮罩码
umask 查看当前用户的 umask 值
umask # 修改当前用户的 umask 值
Linux 文件系统上的特殊权限
SUID, SGID, Sticky
SUID
前提此类文件为有可执行权限, 当将此类文件设 SUID 权限后, 如果当前用户可以执行该
文件, 则启动该文件为进程之后, 其进程的属主为该文件的所属主, 而不是该进程的发
起者.
suid 权限设定
- chmod u+x FILE...
- chmod u-x FILE...
使用 ls -l 查看该文件时, 此 s 可能显示为大写小写两种形式之一
属主原有执行权限时, 显示为小写
属主原无执行权限时, 显示为大写
SGID
此权限通常为目录所设置, 默认情况下用户创建文件时, 其属组为此用户的基本组,
一旦某目录被设置了 SGID, 则对此目录有写权限的用户在此目录中创建文件时它的所属组
为该目录的所属组
sgid 权限设定
- chmod g+s DIR...
- chmod g-s DIR...
使用 ls -l 查看该目录时其属组的权限 x 会变为 s
属组原有执行权限时, 显示为小写
属组原无执行权限时, 显示为大写
Sticky
对于一个多人可写的目录, 如果设置了 sticky, 则每个用户仅能够删除自己的文件
sticky 权限设定
- chmod o+t DIR...
- chmod o-t DIR...
使用 ls -l 查看该目录时其属组的权限 x 会变为 t
other 原有执行权限时, 显示为小写
other 原无执行权限时, 显示为大写
同样, 此三个特殊权限也组成一组权限 suid,sgid,sticky
由此 4 位权限便齐了
chmod 4755 /path/file
RAID (Redundant Arrays of Independent Disk) 廉价磁盘冗余阵列
是一种可以将多块物理硬盘组合起来形成一块逻辑硬盘来供系统使用, 它有几种组合方式形成
可对硬盘里的数据做备份, 使单块硬盘出现物理损坏时不会影响数据的使用, 还有组合的方式
是可以将多块硬盘逻辑添加在一起形成一个大容量的硬盘存放数据, 此种方式用的相对较少
RAID 实现方式
1. 外接式磁盘阵列: 通过扩展卡提供适配能力
2. 内接式 raid, 主板集成 raid 控制器
3. software raid, 软件方式实现的 raid 功能 (一般供教学, 生产环境使用较少)
raid 级别
raid0 将多块物理硬盘的容量叠加起来, 增大硬盘容量, 如果其中一块硬盘损坏,
则整个硬盘就无法使用
raid1 至少 2 块硬盘 两块硬盘互为备份, 存放数据时, 将数据分成两份, 每个硬盘里
有一份完整的数据, 所以当其中一块盘坏掉不会影响数据的读写
raid5 至少 3 块 将数据分块存放至其中两块硬盘中, 然后会在第三块硬盘放置一个校验
码, 当其中一块硬盘损坏时, 通过其中一份数据, 加一个校验码也可以读写数据
注意: 生产环境中此种方式慎用, 如果出现一块盘坏了, 另一块盘也有坏道可能会
导致插入新硬盘时同步数据可能会现问题
raid10 至少 4 块盘 先一分为 2 做两个 raid1, 然后再将两个 raid1 组建 raid0, 此种方式
可以坏每个小分组里的一块硬盘,
raid01 和上述相反, 这样的方式可以坏其中的一个分组里的两块硬盘,
raid1, raid5, raid10, raid01 都会对数据有冗余的作用, 但是也会减少硬盘的容量
即本来两块盘的容量是叠加的, 做成如上 raid 后会相对减少硬盘容量, 不过现在数据都是
非常重要的, 所以这几种方式在生产环境中应用较多
软 raid 实现方式 (教学使用)
mdadm 是一个模块化的工具, 用来实现软 raid
创建 raid
-c 创建 raid, 还有以下子选项
- -n # 使用 #个块设备来创建此 raid
- -l # 指定要创建的 raid 级别
-a {yes|no} 自动创建目录 raid 设备的设备文件
-c CHUNK_SIZE 指明块大小
-x # 指明空闲盘个数
-D 显示 raid 的详细信息
mdadm -d /dev/md#
装配
-A 装配模式, 重新识别此前实现的 raid
监控
-F 监控模式
管理
-f 标记指定硬盘为损坏
-a 添加磁盘
-r 移除硬盘
其它管理
观察 md 的状态 cat /proc/mdstat
停止 md 设备 mdadm -S /dev/md#
来源: http://www.bubuko.com/infodetail-2703435.html