For investors

股价:

5.36 美元 %

认识达内从这里开始

认真做教育 专心促就业

广州Linux培训:Linux上文件的特殊权SUID,SGID,SBIT
  • 发布:广州Linux培训
  • 来源:广州Linux培训
  • 时间:2017-11-17 10:25

广州Linux培训:文件的特别权限SGID, SUID..SBIT;各人都知道文件和目录的权限最常见的有三个.可读(r)..可写(w)..可实行(x)..它们的级别分别是4..2..1..我们偶然也会发明有些文件 所属主的权限上带有一个s的标志位.目录的所属组上也带有s标志位.许多人不明白这是为什么?下面我们举例来看一下。

#ls -l /usr/bin/passwd

-rwsr-xr-x 1 root root 19876 Jul 17 2006 /usr/bin/passwd

这个文件的所属主的x标志位上变成了s,这时称为set uid ..简写便是suid..其实这个文件属性也没有特别的含义..当这个s标志位出现在一些脚本上时,它就故意义了...比喻说我我们有一个脚本名为sum.sh.这个脚本的权限如下:

-rwsrwxr-x 1 root root 117 Feb 6 20:46 sum.sh

这个脚本的所属主和所属组为root.我们虽然可以以root的用户的身份实行它..我们还可以望见它的所属主的标志位上有个s..其他人有读取和实行的 权限.倘若我们现在有个平凡用户名为redhat..现在切换到redhat..实行此脚本..外貌上我们看是实行告成了..其实我们是借助root用户 的身份来实行它..而不是redhat..这便是suid的特性....

下满我们来说下SGID,看了上面的SUID后很容易就知道所谓SGID便是将标志s加到gid的x标志位上..称为set gid.简称sgid..在这强调一下SUID我们一样平常用在文件上.特别是一些脚本上...SGID用在目录上最多...比喻说我以root身份创建一个 目录a.给他加上sgid权限

#mkdir a

#chmod 2757 a

#ls -l

drwxr-srwx 2 root root 4096 Feb 6 21:09 a

因为我们给a目录其他人所具有的权限是可读,可写,可实行...当我们以redhat用户的身份切换到别的一个终端..进入a目录中,我们在此目录中创建一个目录b和一个文件c

[redhat@station18 a]$ mkdir b

[redhat@station18 a]$ touch c

[redhat@station18 a]$ ls -l

drwxrwsr-x 2 redhat root 4096 Feb 6 21:20 b

-rw-rw-r-- 1 redhat root 0 Feb 6 21:20 c

我们可以看到目录b和文件c的所属组都为root......当你将一个a目录置为sgid权限时间,要是其他人有读取,实行和写入的权限时,别人在此目录中创建的任何文件和目录的所属组都为a目录的所属组..但所属主还是本身...这个会每每的用到....有一点各人得过细...便是任何人在a目录中创 建的东西.别人都可以删失...这便是我们下面要讲到的SBIT....

SBIT全称Sticky Bit.但是它只对目录有效,对文件却是无效的,它的作用便是警备别人删除对方的资料...我们举例来阐明...

1..我用root用户登录创建一个目录名为test

[root@station18 ~]# mkdir test

[root@station18 ~]# chmod o+w test/

[root@station18 ~]# ls -l

drwxr-xrwx 2 root root 4096 Feb 6 21:30 test

2..我们切换到redhat用户登录一个终端,创建一个目录a..

[redhat@station18 test]$ mkdir a

3.我们在切换到xiaoming用户登录一个终端,创建一个目录b...

[xiaoming@station18 test]$ mkdir b

[xiaoming@station18 test]$ ls -l

drwxrwxr-x 2 redhat redhat 4096 Feb 6 21:32 a

drwxrwxr-x 2 xiaoming xiaoming 4096 Feb 6 21:31 b

我们可以以任何用户的身份进入test目录发明可以删除a和b目录...这样就乱了套...别人的目录你岂能恣意删的...这时我们就必要将test目录加上SBIT权限了...

[root@station18 ~]# chmod 1757 test/

[root@station18 ~]# ls -l

drwxr-xrwt 4 root root 4096 Feb 6 21:42 test

我们在用别的用户登录进入test目录他就删不失别人的资料了,体系会提示rm: cannot remove directory `a': Operation not permitted..意思是你权限不够....呵呵...这样别人就没辙了....我测试过告成的...

下面我来说一下关于SUID SGID SBIT权限的设定...

SUID为4

SGID为2

SBIT为1

我在上面设定一些文件或目录的权限你大概看不懂,,下面我来细致讲授...

倘若我们有个文件叫file.有一个目录叫test..file它的权限是644..test的权限是755

1..要是我们想把file加上suid权限的话实行此下令

#chmod 4755 file

2..要是我们想把test目录加上sgid的话实行此下令

#chmod 2755 test/

3.要是我们想把test目录加上sbit权限的话实行此下令

#chmod 1755 test/

4..各人可以看得出来s与t都是代替x权限的...

5..要是不想让test具备SUID和SGID权限实行此下令

#chmod 7666 file

#ls -l

-rwSrwSrwT 1 root root 0 Feb 6 21:49 file

这里的S和T就代表空..不具备其他人实行的权限...7666也便是说用户,组,以及其他的人都不具备x的权限,除了root.任何人修改不了此文件...

这儿我用数字代替给文件加一些 权限....我们也可以用别的要领.比喻说..我们给file文件加上suid权限

#chmod u=rwxs,o=rx file

给test目录加上SGID权限和other可读取写入实行权限

#chmod g+s,o=wrx test/

给test目录加上SBIT权限和other可读取写入实行权限

#chmod o=rwxt test/

<  上一篇:广州Linux培训:HTTP POST函数,数据发送到Web服务器
下一篇:广州Linux培训:Linux下的Memcache安置  >
相关推荐
最新资讯
免费试听课程
  • 全部课程
  • IT课程
  • 设计课程
  • 运营课程
Free courses
最新开班时间
  • 北京
  • 上海
  • 广州
  • 深圳
  • 南京
  • 成都
  • 武汉
  • 西安
  • 青岛
  • 天津
  • 杭州
  • 重庆
  • 厦门
  • 哈尔滨
  • 济南
  • 福州
  • 沈阳
  • 合肥
  • 郑州
  • 长春
  • 苏州
  • 大连
  • 长沙
  • 昆明
  • 温州
  • 太原
  • 南昌
  • 无锡
  • 石家庄
  • 南宁
  • 中山
  • 兰州
  • 佛山
  • 珠海
  • 宁波
  • 贵阳
  • 保定
  • 呼和浩特
  • 东莞
  • 洛阳
  • 潍坊
  • 烟台
  • 运城
  • 开课名称
  • 开班时间
  • 抢座
  • 咨询
  • 开课名称
  • 开班时间
  • 抢座
  • 咨询
预约申请试听课
收起