NOVOTS KMS 词汇表 Glossary    联系我们 Contact Us
查询 Search  
   
按类别浏览 Browse by Category
NOVOTS KMS .: 沟通技巧 .: Liunx扩展命令的使用

Liunx扩展命令的使用

文件权限管理 扩展: 文件一般有属主,属组的属性 权限一般有可读,可写,可执行 [cpp] view plaincopyprint? [root@server56 ~]# ls -l `which passwd` -rwsr-xr-x 1 root root 22960 2006-07-17 /usr/bin/passwd 但是你看到这个文件的那个“s”位了吧,这是一个文件的扩展权限 即使一个文件的SUID SUID:set UID 如果一个文件有SUID的权限时,不是以用户本身的权限来运行, 而是以该命令本身属主的权限来运行的,例如普通用户在修改自己的密码的时候,修改密码 不需要修改/etc/shdow文件,但是普通用户是没有权限的,但是用户使用passwd这个命令 修改自身密码的时候还是可以修改,这就是因为“s”位的作用,这就给了普通用户 root的权限来修改/etc/shdow 【不能把脚本的权限设置“s”位,以免发生错误造成损失】 要给文件添加这个权限使用命令 [html] view plaincopyprint? chmod u+s FILE[例如a.sh] 去除这个权限 [cpp] view plaincopyprint? chmod u-s FILE[例如a.sh] 有的时候加完权限你会发现会有一个“s”或者是“S”, 原来有执行权限“x”的是“s”,原来没有执行权限的是“S” 有了SUID,当然你也会想到有没有SGID呢? 答案是有的,我们先假设一种情景, 有一个工作组developer group: 有三个用户:dev1,dev2,dev3 他们都没有root权限,但是此时想实现在这个工作目录下实现共享,那该怎么做呢? 此时SGID就派上用处了 下面我们来探讨一下如何实先在一个工作目录下实现三个或者三个以上的用户之间能 够共享彼此的文件 我们知道当用户创建文件以后,这个文件都会有一个属组和属主,通常情况下刚建立 的文件属主是这个用户本身,属组是这个用户的组,如果修改属主来实现以上功能 很显然,不态可能,那么就通过修改属组来实现,但是修改属组后这个文件还是单一 的属于某个用户,还是不能实现以上功能, 现在我们来模拟一下这个环境 先建立一个工公共的工作目录就叫/peoject 创建三个用户redhat,gentoo,ubantu 修改工作目录的基本组是不能实现以上功能的,但是我们在已开学习的时候,就知道 还可以我这个工作目录指定一个相同的其他组,假设这个其他组叫devgrp 我们将这个文件添加到属组属性修改一下 [cpp] view plaincopyprint? chown :devgrp ./project 修改完成你会看到如下结果 [cpp] view plaincopyprint? drwxrw-r-t 2 root devgrp 4096 07-31 19:07 project 此时各个用户对此目录下的文件只能有读得权限,要想有写的权限就应该为此目录 修改权限 [cpp] view plaincopyprint? chmod -R g+w ./project drwxrw-r-t 2 root devgrp 4096 07-31 19:07 project 此时你进入此目录以后就是不可以创建自己的文件的,因为你还不属于这个组 此时将这个三个用户都添加到这个附加组命令如下: [cpp] view plaincopyprint? usermod -a -G devgrp redhat usermod -a -G devgrp ubantu usermod -a -G devgrp centos 此时你就可以在这个目录下创建文件了,还可以查看其他用户的文件 但是此时你对其他用户的文件只有读得权限,因为其他用户的文件属主还是属于其用户 本身的,若想有修改其他普通用户的文件,就要加“SGID”了,命令: [cpp] view plaincopyprint? chmod g+s /project drwxrwsr-t 2 root devgrp 4096 07-31 19:07 project 此时你在这个公共的工作目录下创建文件 修改文件都是可以的 当然你会发现,你也能删除其他用户的文件,这样当然很不好了 此时又一个扩展权限隆重登场了 那就是最后的粘滞位,就是sticky:冒险位,粘滞位, 只能删除自己的,不能修改别人的 这个权限的出现有效缓解了以上的问题,使用命令 chmod o+t /project 就实现了此控制功能,不但实现了共享,还实现了 控制 由以上可知,又有三个权限为出现了 SUID , SGID ,STICKY 由此类推可以用二进制数字表示其权限就是 000 --- 换算成十进制数就是:0 001 --t 1 010 -s- 2 011 -st 3 100 s-- 4 101 s-t 5 110 ss- 6 111 sst 7 那么于此就可以这样给文件修改权限了 chmod 2755 file 表示增加SGID位

这篇文章对你多有用?

相关文章

article 巧用Run As 命令,提高工作效率.
     针对HSBC项目,在Daily...

  3-31-2009    Views: 2883   
article 三个小命令-检查电脑是否中木马
一些基本的命令往往可以在保护网络安全上起到很大...

(No rating)  3-2-2009    Views: 1636   
article AIX系统简介及命令
RS/6000 采用IBM...

(No rating)  3-22-2013    Views: 1042   

用户评语

添加评语
当前还没有评语.


.: .: .: .: .:
[ 登陆 ]
北京护航科技有限公司 2006

Novots Technologies Limited