Chinaunix首页 | 论坛 | 博客
  • 博客访问: 357005
  • 博文数量: 93
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 879
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-06 23:29
文章分类

全部博文(93)

文章存档

2014年(2)

2011年(1)

2010年(2)

2009年(6)

2008年(6)

2007年(13)

2006年(63)

我的朋友

分类:

2006-07-27 15:44:24

拆出一段,几点总结:
1、需要进入一个目录必须有x权限,表示搜索。
2、目录w权限决定目录下文件是否可以被删除,而跟文件的权限无关。
 
2.5 目录与文件权限
文件的权限只能由root或者文件的拥有者来改变。
其他人即使有文件的写权限,也不能改变文件的权限
但是这种情况,如果有写的权限,可以把文件copy一份作为你自己的文件
这样你就可以为所欲为了。
-rw-rw-rw-  1 test    test       0 Jan 13 20:21 hehe
比如这样一个文件
[wrxu@lc tmp]$ chmod 644 hehe
chmod: changing permissions of `hehe': Operation not permitted
目录的权限跟文件的权限有些不同,所以这里花一定的篇幅来说明
希望对大家理解目录的权限有帮助。
目录的r权限,表示目录可读,上面有说到目录也是一个包含目录下文件名的文件,
这时候只能够用ls来读此目录。
只有具有x的权限,才能进入到目录,
这里的x并不是可执行,而是搜索的意思。
没有x权限的例子
[snms@matrix root]$ ls -l
drwxrw-rw-  2 root  root       4096 Dec 30 08:59 tmp
[snms@matrix root]$ cd tmp
-bash: cd: tmp: Permission denied
[snms@matrix root]$ ls -l tmp
total 0
?---------  ? ? ? ?           ? a
?---------  ? ? ? ?           ? b
?---------  ? ? ? ?           ? c
虽然snms用户可以读到tmp目录的权限,但是不能搜索到信息。
也不能进去目录。
没有r权限的例子
[snms@matrix root]$ ls -l
drwx-wx-wx  2 root  root       4096 Dec 30 08:59 tmp
[snms@matrix root]$ cd tmp
[snms@matrix tmp]$ ls -l
ls: .: Permission denied
[snms@matrix tmp]$ rm a
rm: remove write-protected regular empty file `a'? n
具有了x权限,所以可以进入目录,具有了w权限,所以可以删除文件
但是没有r权限,读不了目录文件,就无法得到当前目录下的内容。
w权限就是可以创建或删除文件,
注意:删除一个文件的权限与文件本身无关
即使用户对某个目录下的文件没有写的权限,但他只要具有目录的w权限,
就可以轻易的删除此目录下的任何文件。
下面的例子:snms用户删除了root的tmp文件夹下面的写保护文件。
[snms@matrix root]$ ls -l
drwxr-xrwx  2 root  root       4096 Dec 30 08:52 tmp
[snms@matrix root]$ cd tmp
[snms@matrix tmp]$ ls -l
total 12
-rw-r--r--  1 root root 0 Dec 30 08:52 a
-rw-r--r--  1 root root 0 Dec 30 08:52 b
-rw-r--r--  1 root root 0 Dec 30 08:52 c
[snms@matrix tmp]$ rm *
rm: remove write-protected regular empty file `a'?y
所以目录的写权限不要轻易的给出去。
更改权限的命令chmod
chmod [u/g/o]+/-[x/w/r] file
u,g,o分别指user,group,others
+-就是加上或者去掉某种权限
或者chmod 777 file
777这个数的三位,从左到右分别表示用户,组和others
数字的意义,4表示r,2表示w,1表示x
需要什么要的权限把它加起来就可以了。
比如用户读写(r+w),组读(r),others读(r)
                   4+2         4              4
chmod 644 file
数字的记忆办法,都是2的*次方。权限越高,数字越小。
看一个权限的应用。
前面说了用户之间的通信,比如wall,write这类的命令
可以用mesg [ y|n ]来关闭或打开
mesg命令的实质就是对用户当前所在的终端设备的写权限的更改
首先查看test用户的终端设备
test$ who am i
test     pts/1        Dec 29 19:24 (192.168.1.2)
test$ mesg
is y
test$ ls -l /dev/pts/1
crw--w----  1 test tty 136, 1 Dec 29 19:26 /dev/pts/1
test$ mesg n
$ ls -l /dev/pts/1
crw-------  1 test tty 136, 1 Dec 29 19:26 /dev/pts/1
关掉了mesg,关掉了test用户当前所在终端设备的写的权限
这个时候用户tony就不能给test发信息了
tony$ write test
write: test has messages disabled
此时test用户自己都不能写了
test$ write tony
write: you have write permission turned off.
 
阅读(1418) | 评论(1) | 转发(0) |
0

上一篇:个人专用水贴

下一篇:小技巧专贴

给主人留下些什么吧!~~