Chinaunix首页 | 论坛 | 博客
  • 博客访问: 115053
  • 博文数量: 42
  • 博客积分: 932
  • 博客等级: 准尉
  • 技术积分: 470
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-18 22:33
文章分类
文章存档

2011年(42)

分类: LINUX

2011-07-31 21:06:34

  1. 文件权限管理扩展
  2. RAID的相关知识软和RAID的实现
  3. 压缩和解压缩

文件权限管理扩展:

文件权限的模型:每个文件都有属主、属组 每一类用户都有对应的权限如属主、属组、其他 每一类用户都有三位权限:rwx 这是一般的文件权限模型的概念!

首先我们回顾一个命令:passwd 这是修改用户密码的命令,我们知道密码保存在 /etc/shadow这个文件里这个文件的权限是 400 属主、属组都是root 但普通用户却能用passwd这个命令来修改这个文件,再来看看passwd这个命令的权限 rwsr-xr-x 中间有个s位权限这是什么个东西呢?下面就说说这个SUID

SUID:Set UID 或者 Super UID 别管这个说的是什么!这个的本意是,如果一个文件被给予了SUID这种权限,当一个用户来执行这个文件时将以这个文件属主的身份来执行这个文件!这就是为什么普通用户为什么能使用passwd这个命令来修改/etc/shadow这个文件了,因为此时普通用户在使用passwd这个命令时是以root的身份来执行的,root管理员权限无穷大,这就能理解了吧!

SUID的功能:能临时使其他用户获得属主的执行权限。chmod u+s file 即可为文件添加s位权限

SGID:Set GID 对属组设置s位 通常对目录设置  使多个用户共享文件都有对文件有写权限

一般情况下用户创建文件的时候属主是用户,属组是用户的基本组

然而当我们对一个目录的属组设置了SGID得权限后,且在此目录里创建文件的用户的一个附加组跟目录的属组相同,那么用户在此目录下创建的文件的属组将使此目录的属组,因此只要是这个组的用户都能对此用户创建的文件具有读写的权限,这就有利于文件的共享!这在工作组workgroup中将十分有用!然而这会造成另外一种问题,因为只要是这个组的成员都对文件有写的权限就能随意的修改或删除此文件,为了防止恶意的删除引入了令一个权限位,sticky,t位需要指定在其他位上,这个权限位能在以上的情况下防止其他人删除自己创建的文件!即每个人都只能删除自己的文件,能修改或者看他人的文件但不能删除!

假设一种情景对上面的状况做个具体分析!具体情境如下:

我们新建一个目录:/workgroup 属主无所谓就为 root 吧 属组为 wkgroup 组 假设有3个用户redhat

gentoo,centos,这三个用户共有一个附加组是wkgroup,并且我们对/workgroup的属组设置了SGID权限位,其他设置了t位权限,此时redhat,gentoo,centos这三个用户在/workgroup这个目录下创建的文件的属组就是 wkgroup组啦!这3个用户都对彼此创建的文件有读写的权限!且彼此不能删除他人的文件!

系统的安全机制
umask
普通用户 0002
管理员   0022
DIR:
777-umask
666-umask
文件默认不给执行权限
自己指定 umask 的值 umask 027
因此当 666-umask 出现有执行权限的时候 它会默认加1 永远不给执行权限
umask命令设定的值 只临时有效 要想全局 永远有效 要定义在配置文件里
acl: Access Cotrol list  访问控制列表

getfacl file 查看文件的访问控制属性列表
setfacl
setfacl [options] id:operand
setfacl -m u:UID:PERM
setfacl -m g:GID:PERM
        -x 取消   
        -m 指定
安全管理非常重要的功能

         -b 删除所有
         -k 删除默认
默认acl只能设定给目录 , 目录下的文件自动继承目录的默认访问控制列表

给acl,
设定mask 有效权限位

下面主要说下RAID的相关知识因为学习条件有限主要说明软RAID的玩法!

RAID 本来称为廉价冗余磁盘阵列它的诞生是为了解决具有高吞吐量的SCSI设备过贵而用廉价的磁盘设备以数组的方式排列起来提升性能的磁盘阵列,但由于后来的发展使之并不廉价,而是为了获取更高的性能或容错性能,后来更名为独立冗余磁盘阵列!

RAID的级别有:0-6,10,01

常见的有:

0,1,5,10

RAID0 条带 性能提升一倍 容错能力差
RAID1 镜像卷 容错能力强 磁盘利用率低50% 写入性能没有提升 读取性能提升一倍
RAID4 通常需要3块儿以上磁盘 第3块儿磁盘存储校验码 第3块儿盘会成为整个架构的瓶颈
RAID5 是RAID4的改进 循环的储存数据和校验码 磁盘利用率 (n-1)/n 只允许坏一块儿盘
RAID6 至少需要4块儿盘  磁盘利用率(n-2)/n 至多坏2块儿盘
高并发性 容错能力高
RAID10  两两镜像 再做条带 高并发 容错能力强

软RAID怎么实现
kernel space
内核内置了一个驱动 md 多设备模块有实现将多个磁盘按某种方式链接起来的能力
 disk1+disk2=raid

mdadm 工作在用户空间 来定义怎么将磁盘做成RAID
如何去创建一个软RAID


mdadm 模式化的命令用法
mdadm [mode]
常见的模式
Assemble 装配模式

Create 创建模式


Follow or Monitor 监控模式


Grow 扩展模式 shrink


Manage管理模式

常用的选项
-A --assemble
-C --create
-F --follow,--monitor
-G,--grow

上面的几个选项对应以上的几种模式
--add 可以插入一个设备
--fail 可以模拟一个设备坏了
--remove 可以模拟拔出一个设备
-v
-s,--scan

mdadm的配置文件
/etc/mdadm.conf

mdadm -D --scan >> /etc/mdadm.conf
                   /etc/mdadm/mdadm.conf
mdadm -S /dev/mdn 停止一个正在工作中的软RAID设备
mdadm -A --scan 重新启动停止的软RAID设备

下面以如何创建软RAID1为例简单说明下上面命令的使用

我们创建一个2G的RAID1

首先创建俩个2G的分区

fdisk /dev/sda 动态的交互命令创建俩个分区具体过程不必说了吧 假设我们创建出来的俩个分区是

/dev/sda7 /dev/sda8  都调整为fd类型的!

接下来就是创建的过程了:

mdadm -C /dev/md1(这里跟设备的级别没关系只是按顺序对新常见的软RAID折本进行编号)

-a yes(强制创建前面的文件) -l(指定级别) 1 -n 2 /dev/sda7 /dev/sda8

完整的命令:mdadm -C/dev/md1 -a yes -l 1 -n 2 /dev/sda7 /dev/sda8

cat /proc/mdstat 可以查看软RAID的创建状态 watch 能动态的查看某个不断变化的文件 这里我们想动态的查看创建过程 可以watch -n .5(0.5秒刷新一次) `cat /proc/mdstat`

创建完成后就改格式化了:

mkfs.ext3 /dev/md1

创建个目录对这个设备进行挂载

mkdir /mnt/raid1

mount /dev/md1 /mnt/raid1

这样一个软RAID1就创建成功可以使用了!
关于RAID就说到这儿吧!

下面简单介绍下LINUX系统里的压缩与解压缩:

常见的压错工具
传统的 compress/uncompress, 后缀名 .Z

gzip/gunzip,.gz
gzip FILE   ,FILE.gz
gzip -d = gunzip
默认动作是保留压缩后的文件,删除原文件
gzip -c  messages > messages.gz 能保留原文件
     -n [1-9] 指定压缩比 默认是6 数字越大压缩比越高 时间越长 不能压缩目录 如果把目录传递给它 它将逐个压缩目录里面的所有文件


zcat 查看压缩文件的内容


bzip2/bunzip2,.bz2
压缩比比gzip更强 用法跟gzip相同
有一点不同的是
bzip2 -k message 能保留原文件
bzcat 不用解压缩查看文件内容

 

 


zip/unzip,.zip
只能用unzip解压
-d删除压缩包里的某一个压缩文件
不删除原文件 要自己指定压缩后文件的名字
如:
zip myfile.zip file1 file2
能压缩目录


tar归档工具 很聪明 哈哈!能自己解压调用
cpio著名的归档工具
tar:归档 本身不做任何压缩 跟 压缩工具同时使用
用法 -c表示创建归档
      f实现定义归档后名字叫什么
如:tar cf myfile.tar file1 file2
    tf  查看tar里有什么文件
    xf  释放归档文件 展开归档
    vf  显示过程 cvf xvf等

     z:调用gzip 进行压缩
     j:调用bzip2 进行压错
-C 指定展开文件存放的目录


tar不能保存额外的访问控制列表信息

du -sh /etc 查看目录及内容的大小

最近发现自己有点懈怠的情绪总结的东西不是很好,以后会尽量调整!

 

阅读(1074) | 评论(0) | 转发(0) |
0

上一篇:LINUX学习之路7

下一篇:LINUX学习之路10

给主人留下些什么吧!~~