linux权限分数754意思,权限设置

权限设置

发布时间:2009-09-22 14:21:29来源:红联作者:堕落kiss

chown

语法:

[root @test /root ]# chown [-R] user:group [目录名称]

参数说明:

-R :循环的将该目录下的所有档案都改成 user 与 group 的名称!

? chmod

语法:

[root @test /root ]# chmod [-R] [parameter] [目录名称]

参数说明:

-R :循环的一直将该目录的档案均改变之!

范例:

[root @test /root]# chmod 777 .bashrc

说明:

还记得在『档案属性与系统』那一章吧!一个档案或目录至少有九个属性,三个三个一组,共分为三组!而可以使用数字

来当作变换属性的参考依据!各属性如下:

r:4

w:2

x:1

举个例子来说,当一个属性为『-rwxr-xr--』时,那是几分呢?!我们可以将他看成如下『-[rwx][r-x][r--]』三组,所

以分数就变成了『[4+2+1][4+0+1][4+0+0]』共有『754』分啦!这样会算吗?!OK!测试一下,底下的分数为几分:

-r-xr-xr-x

-rwxrw----

如果你可以算出『555』与『760』,呵呵!那么你就应该会算?!所以,如果你要将 .bashrc 设定成所有人都可以读取的

话,就下达『 chmod 777 .bashrc 』吧!其中需要特别注意的是,通常我们都会允许个人网页的设定!那么由于个人网

页预设是记录在/home/userID/public_html底下,偏偏 /home/userID 的属性为『drwx------』根本就不允许任何人进入!

所以,你最少要将你的目录设定成 『drwx--x--x』 才可以!当然也可以设定成『drwxr-xr-x』!不过不建议设定成

『777』呦!

? umask

OK!那么现在我们知道如何建立或者是改变一个目录或档案的属性了,不过,您知道当你建立一个新的档案或目录时,

他的预设属性会是什么吗?呵呵!那就与 umask 有关了!那么 umask 是在搞什么呢?基本上, umask 就是指定『目前

使用者在建立档案或目录时候的属性默认值』,那么如何得知或设定 umask 呢?他的指定条件以底下的方式来指定:

语法:

[root @test root]# umask

0022

[root@vbird test]# umask 002 <==后面接 3 个数字!

[root@vbird test]# umask

0002

说明:

查看 umask 数值为直接输入 umask 即可,而设定呢?没错!就是 umask 之后接三个数字!那么如何来指定呢?主要还

是跟 Linux 的档案属性(那九个属性, r, w, x )有关的,而且是以分数的那一个关系为例的,而有底下的规则为辅:

? 若使用者建立为『档案』则预设『没有可执行 ( x ) 项目』,亦即只有 rw 这两个项目,也就是最大为 666 分

--rw-rw-rw-

? 若使用者建立为『目录』,则由于 x 与是否可以进入此目录有关,因此预设为所有权限均开放,亦即为 777 分

drwxrwxrwx

那么 umask 指定的是『该默认值需要减掉的权限!』因为 r、w、x 分别是 4、2、1 分,所以?!也就是说,当要拿掉能

写的权限,就是输入 2 分,而如果要拿掉能读的权限,也就是 4 分,那么要拿掉读与写的权限,也就是 6 分,而要拿掉

执行与写入的权限,也就是 3 分,这样了解吗?请问您, 5 分是什么?呵呵!就是读与执行的权限啦!如果以上面的例

子来说明的话,因为 umask 为 002 ,所以 user, group 并没有被拿掉属性,不过 others 的属性被拿掉了 2 ( 也就是 w 这

个属性 ),那么由于当使用者:

? 建立档案时:(-rw-rw-rw-) - (--------w-) ==> -rw-rw-r--

? 建立目录时:(drwxrwxrwx) - (--------w-) ==> drwxrwxr-x

不相信吗?你只要使用 touch test 然后看看这个 test 的档案属性,就可以知道了!那么如何看你这个使用者目前的 umask

呢?直接下达 umask 即可!实作看看先:

[root@vbird test]# umask

0002

[root@vbird test]# touch test1

[root@vbird test]# mkdir test2

[root@vbird test]# ls -l

-rw-rw-r-- 1 root root 0 Oct 22 00:00 test1

drwxrwxr-x 2 root root 4096 Oct 22 00:00 test2/

发现了什么?呵呵! Test1 的属性为 666-002 = 664 !正确吗?是的!正确!

而 test2 这个目录呢?就是 777-002 = 775 !也正确!

[root@vbird test]# umask 003

[root@vbird test]# touch test3

[root@vbird test]# mkdir test4

[root@vbird test]# ll

-rw-rw-r-- 1 root root 0 Oct 22 00:03 test3

drwxrwxr-- 2 root root 4096 Oct 22 00:03 test4/

嘿!属性又跟刚刚的不一样?!仔细推敲一下为什么呦!test3 666-003 =663,这是

怎么一回事?! 663 应该是 -rw-rw--wx 才对啊!怎么会是上面的属性!呵呵!这

里就要特别的给他强调了!『尽量不要以数字相加减啦!』容易造成类似上面的问题!

你应该要这样想(-rw-rw-rw-) - (--------wx)=-rw-rw-r--这样就对啦!了解了吗?

不要用十进制的数字喔!够能力的话,用二进制来算,不晓得的话,用 rwx 来算喔!

^_^

由上面的例子您应该很轻易的就可以发现 umask 的用途!而这个 umask 可以在 /etc/bashrc 里面进行修改喔!预设的情况

之下, root 的 umask 为 022 而一般使用者则为 002 ,因为可写的权限蛮严重的,因此预设都会拿掉这个权限!此外,

因为 root 比较重要!所以为了安全的需求,其同群组的写入属性就被拿掉了!这东西对于安全性也有一定程度的贡献呦!

? chattr

语法:

[root @test /root ]# chattr [+-=][ASacdistu] [档案或目录名称]

参数说明:

+-= :分别为 [+ 增加] [- 减少] [= 设定] 属性的意思

A  :当设定了 A 这个属性时,这个档案(或目录)的存取时间 atime (access) 将不可被修改,

可避免例如手提式计算机容易有磁盘 I/O 错误的情况发生!

S  :这个功能有点类似 sync 的功能!就是会将数据同步写入磁盘当中!可以有效的避免数据流失!

a  :当设定 a 之后,这个档案将只能增加数据,而不能删除,只有 root 才能设定这个属性。

c  :这个属性设定之后,将会自动的将此档案『压缩』,在读取的时候将会自动解压缩出来!

但是在储存的时候,将会先进行压缩之后再储存(看来对于大档案似乎蛮有用的!)

d  :当 dump (备份)程序被执行的时候,设定 d 属性将可使该档案(或目录)具有 dump 功效!

i  :这个 i 可就很厉害了!他可以让一个档案『不能被删除、改名、设定连结也无法写入或新增数据!』

对于系统安全性有相当大的帮助!

j  :当使用 ext3 这个档案系统格式时,设定 j 属性将会使档案在写入时先记录在 journal 中!

但是当 filesystem 设定参数为 data=journalled 时,由于已经设定了日志了,所以这个属性无效!

s  :当档案设定了 s 参数时,他将会被完全的移除出这个硬盘空间。

u  :与 s 相反的,当使用 u 来设定档案时,则数据内容其实还存在磁盘中,可以使用来 undeletion.

范例:

[root @test /root]# chattr +i /etc/shadow<==呵呵!如此则无法更动这个档案?!

[root @test /root]# chattr -i /etc/shadow <==解除该属性!

说明:

这这个指令是重要的,尤其是在系统的安全性上面!由于这些属性是隐藏的性质,所以需要以 lsattr 才能看到该属性呦!

其中,个人认为最重要的当属 +i 这个属性了,因为他可以让一个档案无法被更动,对于需要强烈的系统安全的人来说,

真是相当的重要的!里头还有相当多的属性是需要 root 才能设定的呢!此外,如果是 log file 这种的登录档,就更需要

+a 这个可以增加,但不会被杀掉的参数了!怎样?很棒吧!未来提到登录档的认知时,我们再来聊一聊如何设定他吧!

? lsattr

语法:

[root @test /root ]# lsattr [-aR]

参数说明:

-a :将隐藏文件的属性也秀出来;

-R :连同子目录的数据也一并列出来!

范例:

[root @test /root]# chattr +i .bash_logout

[root @test /root]# lsattr -a

-------------- ./.

-------------- ./..

---i---------- ./.bash_logout

-------------- ./.bash_profile

-------------- ./.bashrc

-------------- ./.emacs

-------------- ./.screenrc

说明:

这两个指令在使用上必须要特别小心,例如:某天你心情好,突然将 /etc/shadow 这个重要的密码记录档案给他设定成为

具有 i 的属性,那么过了若干天之后,你突然要新增使用者,却一直无法新增!别怀疑,赶快去将 i 的属性拿掉吧!

SUID, SGID, Sticky bit 的设定方法:

前面介绍过 SUID 与 SGID 的功能,那么如何开启档案使成为具有 SUID 与 SGID 的权限呢?!这就需要刚刚的数字更改权限的方

法了!现在你应该已经知道数字型态个更改权限方式为『三个数字』的组合,那么如果在这三个数字之前再加上一个数字的话,那

最前的面数字就代表这几个属性了! ( 注:通常我们使用 chmod xyz filename 的方式来设定 filename 的属性时,则是假设没有

SUID, SGID 及 Sticky bit 啦! )

? 4 为 SUID

? 2 为 SGID

? 1 为 Sticky bit

假设要将一个档案属性改为『-rwsr-xr-x』时,由于 s 在使用者权限中,所以是 SUID ,因此,在原先的 755 之前还要加上 4 ,也

就是:『 chmod 4755 filename 』来设定!此外,还有大 S 与大 T 的产生喔!参考底下的范例啦!

[root@test tmp]# touch test

[root@test tmp]# ll

total 0

-rw-r--r-- 1 root root 0 Feb 6 23:08 test

[root@test tmp]# chmod 4755 test

[root@vbird tmp]# ll

total 0

-rwsr-xr-x 1 root root 0 Feb 6 23:08 test*

[root@test tmp]# chmod 6755 test

[root@test tmp]# ll

total 0

-rwsr-sr-x 1 root root 0 Feb 6 23:08 test*

[root@test tmp]# chmod 1755 test

[root@test tmp]# ll

total 0

-rwxr-xr-t 1 root root 0 Feb 6 23:08 test*

上面的三个例子应该都很好说明啊!就是直接将 x 以 s 或者是 t 来取代就是了!

也就是分别为 SUID, SGID 及 sticky bit 的设定方法啦!

[root@test tmp]# chmod 7666 test

[root@test tmp]# ll

total 0

-rwSrwSrwT 1 root root 0 Feb 6 23:08 test

这个例子就要特别小心啦!怎么会出现大写的 S 与 T 呢?不都是小写的吗?因为 s

与 t 都是取代 x 这个参数的,但是你有没有发现阿,我们是下达 7666 喔!也就是

说, user, group 以及 others 都没有 x 这个可执行的标志 ( 因为 666 嘛! ),

所以,这个 S, T 代表的就是『空的』啦!怎么说? SUID 是表示『该档案在执行的

时候,具有档案拥有者的权限』,但是档案拥有者都无法执行了,哪里来的权限给其

它人使用?当然就是空的啦! ^_^

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值