2009年1月17日星期六

Linux之权限

参考:http://linux.chinaitlab.com/safe/38178.html

1. 每个文件属于一个用户和一个组, 这是 Linux 中权限模型的核心

2. ls -l 完整列出文件或者目录信息,可以看到下面的
drwxr-xr-x 6 root root 4096 2008-12-25 22:51 windows

2.1 首字符d表示目录, 其他可能的首字符:-常规文件, l符号链接, c字符专门设备文件, b块专门设备文件, p先进先出, s套接字
2.2 第一个3元组rwx表示文件所有者有读写执行的权限
第二个3元组r-x表示文件所有组有读和执行的权限
第二个3元组r-x表示文件其他用户有读和执行的权限
2.3 6代表链接数
2.4 root root表示所有者为root, 所有组为root

3. 改变文件属性和权限的3个命令
chown, 改所有者,只有root可以用
chgrp, 改所有组
chmod, 改权限

4. 数字模式
  rwx 7
  rw- 6
  r-x 5
  r-- 4
  -wx 3
  -w- 2
  --x 1
  --- 0

所以777 == rwxrwxrwx
0777这种4位权限的第一位数用来设置 suid sgid sticky位, 他的模式数字 on on on 7 on on off 6 on off on 5 on off off 4 off on on 3 off on off 2 off off on 1 off off off 0

5. umask
当一个进程创建一个文件时,会给他一个默认参考权限,他就是umask,
umask也是个命令来设置umask, umask 0077表示对此文件关闭0077权限,将确保组和其他用户对于新创建的文件绝对没有任何权限

6. suid/sgid
当设置了一个可执行程序的“suid”这一位时,它将代表可执行文件的所有者运行,而不是代表启动程序的人运行
看考suid/sgid的介绍

没有评论: