220 likes | 381 Views
第 10 讲 文件权限管理. 引 言. 如何描述文件权限? 如何修改文件拥有者? 如何修改文件访问权限?. 【 问题的提出 】. Geecy 软件开发公司即将开始在 Linux 系统上进行两个项目的开发。开发人员 David 和 Peter 组成一个小组,负责 A 项目的开发;开发人员 Jack 和 Mike 组成另一个小组,负责 B 项目的开发。. 【 问题的提出 】( 续 ). 系统管理员 Ray 需要为这四名开发人员分别建立用户帐号,并满足以下要求:
E N D
引 言 • 如何描述文件权限? • 如何修改文件拥有者? • 如何修改文件访问权限?
【问题的提出】 • Geecy软件开发公司即将开始在Linux系统上进行两个项目的开发。开发人员David和Peter组成一个小组,负责A项目的开发;开发人员Jack和Mike组成另一个小组,负责B项目的开发。
【问题的提出】(续) • 系统管理员Ray需要为这四名开发人员分别建立用户帐号,并满足以下要求: (1)建立目录“/project_a”,该目录里面的文件只能由David和Peter两人读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作; (2)建立目录“/project_b”,该目录里面的文件只能由Jack和Mike两人读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作; (3)建立目录“/project”,该目录里面的文件只能由David、Peter、Jack和Mike四人读取、增加、删除、修改以及执行,其他用户只可以对该目录进行只读的访问操作。
【问题分析】 • Linux系统采用传统的Unix权限管理机制,对文件或目录的权限设置不能精确到每个用户。也就是,不能直接指定某个文件的权限类似于“对X和Y用户只读、对M和N用户可读可执行、对P和Q用户可读可写可执行”这么详细。
【问题分析】(续) • 在Linux中文件权限的设置对象只有三种:文件的拥有者(1个用户)、组的拥有者(若干个用户)以及其他用户(若干个用户)。但一个用户可以加入到多个用户组,从而可以形成比较复杂的关系,以满足现实需求。
【问题分析】(续) • 因此,可以建立三个用户组:prj_a(组员有David和Peter)、prj_b(组员有Jack和Mike)和prj(David、Peter、Jack和Mike)。然后: (1)对目录“/project_a”设置权限,允许组prj_a读取、增加、删除、修改以及执行,不允许其他用户进行任何的访问操作; (2)对目录“/project_b”设置权限,允许组prj_b读取、增加、删除、修改以及执行,不允许其他用户进行任何的访问操作; (3)对目录“/project”设置权限,允许组prj读取、增加、删除、修改以及执行,允许其他用户对该目录进行只读的访问操作。
符号 意义 对于文件的权限 对于目录的权限 r 读(Read) 显示文件内容 列出目录中的文件 w 写(Write) 编辑或删除文件 创建或删除文件和子目录 x 执行(Execute) 执行Shell脚本或二进制程序文件 搜索或进入目录 文件权限的描述 • 文件访问权限(FAP, File Access Permission)的描述如下表所示:
文件权限的描述(续) • 例如: • 前三个字符(“rwx”)描述文件拥有者对该文件具有的权限,中间三个字符(“r-x”)描述组拥有者对该文件具有的权限,最后三个字符(“r-x”)描述其他用户(既不是文件拥有者也不是组拥有者的其他用户)对该文件具有的权限。
修改文件拥有者 • 命令chown用于修改文件的拥有者。 • 命令chgrp用于修改文件的组拥有者。 • 例如:
修改文件拥有者(续) • 只有系统管理员用户才能修改文件的拥有者和组拥有者。 • 选项“-R”用于以递归方式实现对整个目录的所有内容(所有子目录和文件)全部修改。
修改文件访问权限 • 修改文件访问权限可以使用chmod命令。 • 系统管理员可以修改整个文件系统的所有文件的FAP,普通用户只能修改拥有者是自己的那些文件。
修改文件访问权限(续) • 修改FAP的一种方式是符号描述方式:u、g和o分别表示文件的拥有者(User)、组拥有者(Group)和其他用户(Others);符号“+”和“-”分别表示增加权限和减去权限。 • 例如:
修改文件访问权限(续) • 另一种方式符号是绝对方式:r、w和x表示二进制位中的1,“-”表示二进制位中的0;每三个二进制位转换成对应的十进制值。 • 例如:
【解决方案】 • 先增加用户组:
【解决方案】(续) • 再增加用户:
【解决方案】(续) • 修改用户密码:
【解决方案】(续) • 建立目录:
【解决方案】(续) • 修改目录的组拥有者:
【解决方案】(续) • 修改目录的FAP:
练 习 1、复制文件“/etc/hosts”到目录“/tmp”,然后设置其读写权限为:自己可以读、写和执行,组拥有者的用户可以读和执行,其他用户只可以执行。 2、复制文件“/etc/hosts”到目录“/tmp”,然后只使用chown命令修改其拥有者为用户ray,组拥有者为组users。要求不得使用chgrp命令。【提示】 使用man命令获取帮助。
练 习(续) 3、Tenny一个人使用Linux系统,他既是系统管理员,又是普通用户。为了系统的稳定使用,他需要使用管理员用户为自己创建的两个用户帐号tenny和ten。Tenny平时使用这两个用户登录使用系统,为了这两个用户交换和共享使用的方便,还需要达到如下的要求: (1)在系统中建立一个目录“/mydir”; (2)设置目录“/mydir”的权限为:该目录里面的文件只能由tenny和ten两个用户读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作。