免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2526 | 回复: 4
打印 上一主题 下一主题

Linux权限模型与PHP目录访问的模拟尝试 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-15 23:54 |只看该作者 |倒序浏览
在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。

通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问;允许一个预先指定的用户组中的用户访问;允许系统中的任何用户访问。同时,用户能够控制一个给定的文件或目录的访问程度。一个文件活目录可能有读、写及执行权限。当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件。文件所有者可以将这些权限改变为任何他想指定的权限。一个文件也许只有读权限,禁止任何修改。文件也可能只有执行权限,允许它想一个程序一样执行。

三种不同的用户类型能够访问一个目录或者文件:所有着、用户组或其他用户。所有者就是创建文件的用户,用户是所有用户所创建的文件的所有者,用户可以允许所在的用户组能访问用户的文件。通常,用户都组合成用户组,例如,某一类或某一项目中的所有用户都能够被系统管理员归为一个用户组,一个用户能够授予所在用户组的其他成员的文件访问权限。最后,用户也将自己的文件向系统内的所有用户开放,在这种情况下,系统内的所有用户都能够访问用户的目录或文件。在这种意义上,系统内的其他所有用户就是other用户类。

每一个用户都有它自身的读、写和执行权限。第一套权限控制访问自己的文件权限,即所有者权限。第二套权限控制用户组访问其中一个用户的文件的权限。第三套权限控制其他所有用户访问一个用户的文件的权限,这三套权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限就构成了一个有9种类型的权限组。

先发点常识在这里作为讨论的必要准备.

论坛徽章:
0
2 [报告]
发表于 2006-04-16 00:09 |只看该作者
  1. 再谈论什么是"PHP目录访问的模拟尝试".
  2. PHP目录访问的模拟尝试,是假定一个root目录,该目录下有各种各样的子目录和文件,然后用PHP来实现对文件极其文件夹的create,delete,edit,view四种操作.该四种操作对应linux的读写执行的权限选项.为了简化讨论,把这四个操作归结为两个,也就是write和read.显然write包括了create,delete,edit,而read就是view.
  3. 现在PHP要做的,就是实现linux的那一套常用的权限命令:chmod,chowner,chgrp.显然这里root目录本身应该完全可写,这样才可能对其完全操作.但我们要做的,就是根据用户的权限的不同,通过web方式呈现不同的视图和操作.
  4. 要实现这套权限命令,很显然必须储存相关的用户,用户组,文件所有者等信息.那么其中的数据结构应该是如何的呢?权限命令又会是怎么样的呢?
  5. ps:请不要把这里的chmod和PHP本身自带的chmod等函数混淆.为了防止这样的混淆,我假设这个"PHP目录访问的模拟尝试"完全是在Windows环境下进行的----因为Windows下的权限模型和Linux下的权限模型不是一回事情----PHP目录访问的模拟尝试,就是用PHP在Windows下来模拟Linux的权限模型
复制代码

[ 本帖最后由 axgle 于 2006-4-16 00:14 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2006-04-16 00:14 |只看该作者
go on...

论坛徽章:
0
4 [报告]
发表于 2006-04-16 00:19 |只看该作者
接着谈为什么要进行"PHP目录访问的模拟尝试".
因为目录结构本质上是一个"树结构".只要我们对目录结构的访问控制模拟成功,那么理论上任何"树结构"的访问控制也就不成问题.
例如:论坛,版块,子版块,帖子----其本质结构也就是树结构而已.
所以,Linux权限模型与PHP目录访问的模拟尝试,也就是很有意义也会很有意思的一件事情.

下面就正式开始吧(白天继续,睡觉去先)

[ 本帖最后由 axgle 于 2006-4-16 00:26 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2006-04-16 12:53 |只看该作者
先发个简单的Demo,功能后续部分再完善,大体看看开头是什么样子.

phpos.zip

2.09 KB, 下载次数: 74

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP