免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: ihweb
打印 上一主题 下一主题

[原创]文件特殊权限的解释。 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2003-07-10 13:14 |只看该作者

[原创]文件特殊权限的解释。

好东西阿!!我就对这些个文件属性一直有点懵~

论坛徽章:
0
22 [报告]
发表于 2003-07-10 21:36 |只看该作者

[原创]文件特殊权限的解释。

solaris和HP-UX都可以删除的,不用再试了,
粘附位是UNIX历史上的一个遗留产物,等下我给大家贴下关于粘附位的介绍。

论坛徽章:
0
23 [报告]
发表于 2003-07-11 07:41 |只看该作者

[原创]文件特殊权限的解释。

具有八进制值1000的位叫粘附位,是unix已经发展得不再需要的事物而又不能摆脱其追随的例子.像unix在其上度过它的孩童期的PDP-11/70这样的小内存系统,需要一些程序持续地驻留在内存或交换设备上这个时候粘附位就十分重要了.在今天由于有了25美圆的内存模块和快速磁盘驱动器,在可执行程序上的粘附位已经过时了,现代的内核已经悄然地忽略了它.
如果在目录上设置了这个位,那么大多数版本的unix不允许删除或重新命名该目录中的文件,除非你是该目录的属主,该文件的属主或超级用户.在这个目录上拥有写入权限是不够的.这相约定是让像/tmp之类的目录变得多少有些隐私性和安全性的一种尝试.
Solaris和HP-UX在处理粘附位目录的时候并不那么严格.如果对该目录有写入权限,即使不是属主,也能删除其中的文件.这实际上有许多意义,虽然对实际应用几乎没有什么影响

论坛徽章:
0
24 [报告]
发表于 2003-07-11 07:46 |只看该作者

[原创]文件特殊权限的解释。

[quote]原帖由 "KkingSon"]具有八进制值1000的位叫粘附位,是unix已经发展得不再需要的事物而又不能摆脱其追随的例子.像unix在其上度过它的孩童期的PDP-11/70这样的小内存系统,需要一些程序持续地驻留在内存或交换设备上这个时候粘附位就十分重..........[/quote 发表:
     


不知道这样改是好还是坏。

论坛徽章:
0
25 [报告]
发表于 2003-07-11 08:42 |只看该作者

[原创]文件特殊权限的解释。

晕倒,这个也加精?最基础的unix知识啊。。。。
就PKkingSon 的回答还有些水平啊,这个玩意现在已经不怎么使用了
还有在目录上设置这个不叫stick bit了吧,应该就是setgid了。。。
现在使用的也不广泛了

论坛徽章:
0
26 [报告]
发表于 2003-07-11 10:21 |只看该作者

[原创]文件特殊权限的解释。

Solaris下,无效,
目录不可以DEL
但进入目录后,rm其中的文件
还是可以的

论坛徽章:
0
27 [报告]
发表于 2003-07-11 10:27 |只看该作者

[原创]文件特殊权限的解释。

原帖由 "mmmmn" 发表:
晕倒,这个也加精?最基础的unix知识啊。。。。
就PKkingSon 的回答还有些水平啊,这个玩意现在已经不怎么使用了
还有在目录上设置这个不叫stick bit了吧,应该就是setgid了。。。
现在使用的也不广泛了
   
高帽子不要给我,嘿嘿。应该送给Evi Nemeth   Garth Snyder   Scoot Seebass  Trent R.Hein他们。(《UNIX系统管理手册技术手册第三版》)

论坛徽章:
0
28 [报告]
发表于 2003-07-11 10:31 |只看该作者

[原创]文件特殊权限的解释。

忽然发现有猴子有MM葱白哦。

论坛徽章:
0
29 [报告]
发表于 2003-07-11 10:43 |只看该作者

[原创]文件特殊权限的解释。

BTW,setuid和setgid的位值是04000和02000。
继续帖点。
这些位允许程序访问运它们的用户本来无权访问的文件和进程。
当某个目录上设置setgid位时,在这个目录中新创建的文件具有该目录的属组权而不是创建该文件的用户的默认属组。这项约定使得在几个用户之间(只要这些用户都属于同一个组)共享一个目录中的文件变得更简单。在使用这些特性之前,请检查自己的系统,因为并不是所有版本的unix都支持这个特性,当然BSD,REDHAT,HP-UX,SOLARIS都是支持的。对setgid位的这种解释跟它在可执行文件上设置时的含义没有什么关系,但不要混淆了这两种意义。
一些系统允许在非可执行的纯文本文件上设置setgid位,以在该文件被打开时请求特殊的锁定。

论坛徽章:
0
30 [报告]
发表于 2003-07-11 11:07 |只看该作者

[原创]文件特殊权限的解释。

文件的属性工16位,9个位控制谁能读取执行和写入,这些位和另外影响到可执行程序运行的3个位一起构成了文件的”模式“(mode),其余的4个位表示文件类型信息。
9个位的作用就不必细说了,执行位比较特殊,对应了2种文件,可执行的程序和script脚本,二进制的cpu可以直接运行,脚本需要由shell或另外的程序解释,按照约定,脚本的第一行一般用下面这种方式来指定解释器:
# !/path/to/prog
没有设定解释器的script一般会被系统假定为sh脚本。
对目录来说,执行位(有时也叫”搜索“(search)位或”扫描“(scan)位)允许进入或通过该目录,但不一定允许列出它的内容。读取和执行位结合起来,才允许目录列表。写入和执行位组合允许在目录中创建删除和重新命名文件。

在一般的unix系统中,使用ls -l来查看所有的文件权限信息。
ls -l /bin/sh
lrwxrwxrwx   1 root     root            4 Nov  8  2002 /bin/sh ->; bash*
第一个位是描述文件类型和模式,大概有下面几类
============================================
类型                  符号                  用......创建                  用....删除
============================================
普通文件              -                       编辑器,cp等                rm
目录                    d                       mkdir                    rmdir,rm -r
字符设备文件       c                       mknod                         rm
块设备文件          b                       mknod                         rm
UNIX域套接口      s                       socket(2)                     rm
命名管道              p                       mknod                         rm
符号连接              l                        ln -s                             rm
============================================

FreeBSD的附加标记
Fbsd和其他基于4.4BSD的系统定义了多种可以设置文件上的附加标记。他们通常用来援引额外的文件系统语义。例如sappnd标记使得文件只能够追加内容,(这对于日志文件非常有用,对吧:)),schg标记使得文件不可改变也不可删除,使用ls -lo可以看到文件相关联的标志。
可以使用chflags(1)来了解可以使用的标志列表和如何修改这些标志。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP