Chinaunix首页 | 论坛 | 博客
  • 博客访问: 491954
  • 博文数量: 164
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 2240
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-07 12:55
文章存档

2008年(164)

我的朋友

分类:

2008-08-16 10:27:04

第 1 章 文件安全与权限
1. 一个文件一经创建,就具有三种基本访问方式:
1) 读(r): 可以显示该文件的内容。
2) 写(w): 可以编辑或删除它。
3) 执行(x): 如果该文件是一个 shell 脚本或程序的话。

2. 按照所针对的用户,文件的权限可分为三类:
1) 文件属主: 创建该文件的用户。
2) 同组用户: 拥有该文件的用户组中的任何用户。
3) 其他用户: 即不属于拥有该文件的用户组的某一用户。

3.ls -l (列出目录内容)命令的输出的分析
drwxr-xr-x 2 root root 4096 Oct 14 20:18 bin
1) 第 1 个部分第 1 个字符: 表示文件的类型,详细说明见下。
2) 第 1 个部分第 2-10 个字符: 分为 3 组(triplet),分别表示文件的属主、组用户和其它用户的权限。
3) 第 2 个部分: 表示该文件的硬链接的数目。
4) 第 3 个部分: 表示文件的属主。
5) 第 4 个部分: 文件的属主(root)所在的缺省组(也是 root 组)。
6) 第 5 个部分: 表示文件的长度(以字节 byte 为单位)。
7) 第 6-7 个部分: Oct 14 20:18 表示文件的更新时间。
8) 第 8 个部分: 该文件的文件名。

4.文件的类型
1) d : 目录文件,目录也是一种文件 (directory)
2) l : 符号链接(指向另一个文件) (link)
3) b : 块设备文件 (block device)
4) c : 字符设备文件 (charactor device)
5) p : 命名管道文件 (named piple)
6) s : 套接字文件 (socket)
7) - : 普通文件,或者更准确地说,不属于以上几种类型的文件

5.文件的权限位
1) 一个文件的权限位由 9 个字符组成,分成 3 个 triplet,分别表示文件属主(owner)、文件属主所属缺省组
的用户(group)、系统中其他用户(other)所拥有的权限。
2) 一个 triplet 由 3 个字符位组成(rwx),分别表示可读、可写、可执行。如果对应位置的字符是"-",表示
不具有对应权限。 eg: rw- 表示可读写,不可执行 r-- 表示可读,不可写、执行
3) 在文件权限位的 owner triplet 第 3 个位置的字符如果设置为"s",称为 SUID。当某用户执行该文件时,
系统用文件 owner 的 uid 替代实际执行该文件的用户的 uid,文件会认为是 owner 在执行它。
4) 在文件权限位的 group triplet 第 3 个位置的字符如果设置为"s",称为 SGID。当某用户执行该文件时,
系统用文件组拥有者的 gid 替代实际执行该文件的用户的 gid。当在某个目录文件上设置 SGID 时候,则在该
目录下的所有文件和子目录都会继承使用该目录的 GID 来代替实际执行者的 GID。
5) 文件设置了 SUID 或 SGID,一般来说文件的 owner 或 group 应该有执行(x)权限。如果没有 x 权限,设置
SUID 或 SGID 是没有意义的,triplet 上第 3 个字符就会是"S"(大写)而不是"s"(小写)。eg: rwSr-Sr--
6) 给可执行文件设置 SUID/SGID 可能带来安全风险,许多系统因而忽略 SUID/SGID 权限设置
7) 在某些目录(如/tmp)的 other triplet 的第 3 个字符设置为"t"。一般来说,在目录的 other triplet上设
置 w 和 x 权限,则任何用户都可以在该目录下执行、删除文件,而设置"t"的作用就是保证非目录的 owner 用
户不能删除目录下的文件。

6.使用 chmod 命令改变权限位
 
1) 符号模式 Usage: chmod [who] file_name
① who: 可以是 u g o a,表示给文件的 owner、group、other 和 all 用户设置权限。省略时默认为 a。
② operator: 可以是+ - =,分别表示增加、取消、指定权限
③ perm: 可以是 r w x s(suid 和 guid) t(粘性位) l(给文件加锁,使其他用户无法访问)
④ 举例: chmod u+xw o-w myfile // 给 myfile 的 owner 增加 x w 权限,去除 other 用户的 w 权限

2) 绝对模式 Usage: chmod mode file_name
① mode: 4 位 8 进制数,每一位分别用于 SUID 和 SGID、属主权限、组权限、其他用户权限。当用户给出的
mod 值小于 4 位时,系统会在数字前面加 0 补齐。
② 权限 r w x 分别用数字 4 2 1 表示, suid guid 用 4 2 表示,各个 triplet 的数字相加可得 mod 值。
eg: rwxr-xr-- 为 754,rwsr-xr-x 为 4755, rwsr-sr-x 为 6755 -rwxrwSr-- 为 2764

7.目录文件的权限(r w x)的含义
1) r: 可以列出该目录中的内容。
2) w: 可以在目录中创建、修改文件。目录的 w 位不设置,即使拥有目录中某文件的 w 权限也不能写该文件。
3) x: 可以搜索和访问该目录。x 位不设置,不能访问目录下的任何文件,即使拥有文件的权限。

8.chown 和 chgrp 修改文件的拥有权
1) chown Usage: chown [选项] [owner][.group] file_name
① 创建文件时,文件预设 owner 就是创建该文件的用户,预设所属组(group)就是 owner 所属的缺省组。只有
文件的 owner 和系统管理员才可以改变文件的拥有权,改变一个文件的 owner 时,相应的 suid 也将被清除。
② chmod 的常用选项: -R 对指定目录所有文件和子目录递归式地进行同样的操作
-h 如果 file_name 是符号链接,则只对符号链接本身进行操作
③ owner 和 .group 表示文件拥有者名和文件所属组名,可以使用 uid/gid 表示。两者不能同时省略
④ 举例: chown http.http /etc/httpd // 将目录/etc/httpd 的属主修改为 http,组修改为 http

2) chgrp Usage: chgrp [选项] group file_name
① chgrp 命令只能用来修改文件的所属组。chgrp 和 chown 用法类似,选项也一样。
② 举例: chown http /etc/httpd // 将目录/etc/httpd 的所属组修改为 http

3) 查询用户信息和用户所属组信息
id [user_name] 或 groups [user_name]

8.umask 确定系统创建文件时的缺省权限位。
1) Usage: umask [umask_mod]
2) umask_mod 的计算方法: umask_mod=777-文件缺省权限值。
3) 系统不允许你在创建一个文件时就赋予它执行权限,即 umask_mod 为 002 时,创建文件的缺省权限值为
665,创建目录的缺省权限值为 775。

9.符号链接
1) Usage: ln -s source_path target_path
2) 存在 2 种类型的链接: 硬链接和软链接。软链接又称位符号链接,符号链接实际上是指向一个文件的指
针,符号链接和 Windows OS 的快捷方式有点类似。
3) 不管是否在同一个文件系统中,都可以创建链接。在创建链接的时候,不要忘记在原有目录设置执行权
限。链接一旦创建,链接目录将具有权限 777(rwxrwxrwx),但是实际的原有文件的权限并未改变。
4) 举例: ln -s /var/tmp /home/zqf/tmp // 在 zqf 主目录创建一个名为 tmp,指向/var/tmp 的符号链接

阅读(1369) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~