注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

欣宏胜科技,苏州赛格数码广场,苏州电脑城

组装电脑|IT外包|电脑维修|办公耗材|网络工程|门禁监控|综合布线|网站建设

 
 
 

日志

 
 

Linux 文件属性概述;(四)   

2008-08-07 18:41:03|  分类: Linux 专区 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

8、影响文件的读写执行的因素;

之所以把这部份的内容单列出来,是因为这部份的内容是基于我们对用户管理及文件权限了解的基础上进行的。比如一个文件的读、写、执行,它要受到哪几方面的影响。

一个文件能不能被读取,要受到它的属主、属组及其它用户权限的影响,还要受到其父目录权限的影响。我们来举个例子;

[root@localhost ~]# cd /home 注:进入/home 目录;

[root@localhost home]# mkdir redhatdir 注:创建一个目录redhatdir

[root@localhost home]# touch redhatdir/test.txt 注:创建一个文件test.txt

[root@localhost home]# chmod 700 redhatdir/ 注:修改redhatdir的权限,为属主可读可写可执行,属组和其它用户无权限;

[root@localhost home]# ls -ld redhatdir/ 注:查看redhatdir的属性;

drwx------ 2 root root 4096 04-25 13:01 redhatdir/

[root@localhost home]# ls -lr redhatdir/ 注:查看test.txt 文件的属性;

总计 0

-rw-r--r-- 1 root root 0 04-25 13:02 test.txt

[root@localhost home]# su beinan 注:我们切换到普通用户beinan

[beinan@localhost home]$ cd redhatdir/ 注:进入redhatdir目录,以beinan用户身份。

bash: cd: redhatdir/: 权限不够

[beinan@localhost home]$ more redhatdir/test.txt

redhatdir/test.txt: 权限不够

解释:我们通过这个例子来看,为什么test.txt在其它用户权位上拥有可读权限r--,但我们用普通用户还不能查看它的内容呢?这是因为他的父目录没有其它用户的何读权限。我们是不是redhatdir目录的其它用户可读权限打开,就能让普通用户beinan能读取 test.txt的内容了呢??

[root@localhost home]# chmod 704 redhatdir/

[root@localhost home]# ls -ld redhatdir/

drwx---r-- 2 root root 4096 04-25 13:02 redhatdir

[root@localhost home]# su beinan

[beinan@localhost home]$ cd redhatdir/

bash: cd: redhatdir/: 权限不够

看来如果不设置属组的权限,只打开属主的权限及其它用户在redhatdir目录的读权限的情况下,其它用户是不能访问的;我们应该把test.txt父目录的 redhatdir 的属主的读、写、执行要打开,还要把父目录的属组的读和执行权限打开,其它用户的读和执行权限打开,也就是要拥有 rwxr-xr-x 权限,这样文件的其它用户才能访问。

 

[root@localhost home]# chmod 755 redhatdir/

[root@localhost home]# more redhatdir/test.txt

好象这块说的不太清楚,如果您看不太明白,多多chmod 练习练习,也没有什么难的。

其实为文件分配权限的最终目的是让文件的属主有何权限,让属组下的用户有何权限,让其它用户有何权限。文件权限是和用户管理相关联的,所以理解这方面的内容还得了解用户管理。

9、文件被修改或被访问的时间;

 

[root@localhost ~]# ls -l adduml02.sh

-rwxr-xr-x 1 root root 545 04-21 22:26 adduml02.sh

我们通过查看 文件的属性时,会发现它的时间标记,比如上面的 04-21 22:26 。这个时间并不代表文件被创建的时候,他是代表文件被访问或被修改的时间。文件被修改的时间比较好理解,比如我们可以用编辑器来修改文本文件,然后保存一下,这样文件的时间就变了。

当然也有其它的工具不修改文件的内容,只修改文件的时间,这时可以被称为访问时间。比如touch工具能达到这个目的。

[root@localhost ~]# ls -l adduml02.sh

-rwxr-xr-x 1 root root 545 04-21 22:26 adduml02.sh

[root@localhost ~]# touch adduml02.sh 注:更新文件的访问时间成为当前系统时间;

[root@localhost ~]# ls -l adduml02.sh

-rwxr-xr-x 1 root root 545 04-25 11:21 adduml02.sh

关于touch 的用法, 更多的请参见: man touch或touch --help

10、文件属性和文件系统属性的关系;

文件系统的特性决定着文件属性的定义和修改,比如我们通过 chattr 来锁定一个文件为不可修改或不可删除时,要用到chattr 的+i参数;这在ext2和ext3文件系统是有效的,但在reiserfs 文件系统是没有任何效果的;

[root@localhost ~]# chattr +i lsfile.sh

[root@localhost ~]# lsattr lsfile.sh

----i-------- lsfile.sh

[root@localhost ~]# rm -rf lsfile.sh

rm: 无法删除 “lsfile.sh”: 不允许的操作

注:如果把lsfile.sh变成可修改可删除,应该用-i参数;

比如在ext3或ext2 文件系统中,我们要让一个文件只能追加内容,但不能删除。应该用chattr的+a参数。

  评论这张
 
阅读(27)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017