用户与文件权限管理项目目标管理员应tom的要求更改了他用户的SID号,tom却发现他不能访问自己原来的文件了,为什么?技术部员工bob临时被调到售前部门协助工作,他如何才能访问售前部门的资料?所需知识点SID与用户名的关系更改用户属性涉及到的命令4用户和组操作命令useradd、usermod、userdel、passwd、sugroupadd、groupmod、groupdelid、groups、finger、w、who文件权限操作命令chown、chmod本章结构管理用户和组帐号用户和组帐号概述用户帐号管理查看文件/目录的权限和归属组帐号管理管理用户和文件权限管理文件/目录的权限和归属设置文件/目录的权限设置文件/目录的归属用户和组帐号查询使用附加权限1-1、用户与用户组基于用户身份对资源访问进行控制Unix用户分为以下三种:超级用户root普通用户程序用户超级用户root:在系统中是唯一的,能完成所有系统管理工作。程序用户:一些系统程序或服务在运行过程中,对操作系统的资源有怎样的权限,取决于该程序或服务对应的程序用户所拥有的权限,程序用户不能登陆系统。普通用户:能够登陆系统,只有有限的权限,通常只对自己的家目录有完全的控制权1-1、用户与用户组7基于用户身份对资源访问进行控制Unix用户分为以下三种:超级用户root普通用户程序用户超级用户root:在系统中是唯一的,能完成所有系统管理工作。程序用户:一些系统程序或服务在运行过程中,对操作系统的资源有怎样的权限,取决于该程序或服务对应的程序用户所拥有的权限,程序用户不能登陆系统。普通用户:能够登陆系统,只有有限的权限,通常只对自己的家目录有完全的控制权8设置用户名必须满足以下条件:在系统中必须是唯一的;含有2-8个字母数字组成的混合串。注意:第一个字符必须是字母,而且至少有一个字符必须是小写字母;不包括下划线和空格。一个用户一般可以加入两种类型的组:primarygroup:用户必须选一个组作为其主要组(私有组)secondarygroup:除了主要组外,用户所加入的其他组都称为secondarygroup(公共组)。一般而言,用户最多可以加入16个secondarygroup.系统保留组:root、daemon、bin、sys、tty、mail…9UID和GID:UID(UserIdentity,用户标识号)GID(GroupIdentify,组标识号)UID在系统中唯一标识了用户。UID必须是一个小于或等于60000的数字。root用户的UID的固定值为0、root组帐号的GID号为固定值0。下面将给出一些系统保留的UIDS:0-99,主要分配给一些系统帐号,如:root,deamon,sys,bin等。100-60000,这些UIDs主要是给一般用户的。60001,nobody,没有被鉴别的用户。60002,noaccess,这个主要是为了和以前版本的solaris2.x兼容1-2、用户帐号文件——passwd用于保存用户的帐号基本信息文件位置:/etc/passwd每一行对应一个用户的帐号记录字段1:用户帐号的名称字段2:用户密码字串或者密码占位符“x”字段3:用户帐号的UID号字段4:所属基本组帐号的GID号字段5:用户全名字段6:宿主目录字段7:登录Shell信息[root@localhost~]#tail-2/etc/passwdsabayon:x:86:86:Sabayonuser:/home/sabayon:/sbin/nologinbenet:x:500:500:BENETStudentUser:/home/benet:/bin/bash1-3、用户帐号文件——shadow用于保存密码字串、密码有效期等信息文件位置:/etc/shadow每一行对应一个用户的密码记录[root@localhost~]#tail-2/etc/shadowsabayon:!!:14495:0:99999:7:::benet:$1$po/zD0XK$4HSh/Aeae/eJ6dNj1k7Oz1:14495:0:99999:7:::字段1:用户帐号的名称字段2:加密的密码字串信息字段3:上次修改密码的时间字段4:密码的最短有效天数,默认值为0字段5:密码的最长有效天数,默认值为99999字段6:提前多少天警告用户口令将过期,默认值为7字段7:在密码过期之后多少天禁用此用户字段8:帐号失效时间,默认值为空字段9:保留字段(未使用)1-4、组帐号文件——group与用户帐号文件相类似/etc/group:保存组帐号基本信息[root@localhost~]#grepadm/etc/groupsys:x:3:root,bin,admadm:x:4:root,adm,daemon组帐号名组成员列表1-5、添加组帐号groupadd命令格式:groupadd[-gGID]组帐号名[root@localhost~]#groupadd-g1000market[root@localhost~]#tail-1/etc/groupmarket:x:1000:添加组帐号market1-6、修改组账号groupmod命令格式:groupmod选项组名功能:修改用户组的组名和组号可使用的选项:-g组号:把用户组号改为指定的组号-n组名:把用户组名改为指定的组名1-7、删除组帐号15groupdel命令格式:groupdel组帐号名[root@localhost~]#groupdelmarket[root@localhost~]#grepmarket/etc/group[root@localhost~]#删除组帐号market1-8、创建用户过程分别在/etc/passwd,/etc/shadow和/etc/group文件中添加一笔记录创建用户宿主目录在用户目录中设置默认的配置文件设置用户初始口令1-9、创建用户账号创建用户命令useradd-uuid|-ggroup|-Ggroup[[,group]...|-ddir|-sshell|-m|loginname范例:#useradd-d/export/home/tom-s/usr/bin/bash-u500-g500-mtom-u用户id-g基本组id-G附加组id-d家目录-s登陆shell-m建立用户的同时建立家目录1-10、用户账号的初始配置文件用来定义用户环境$HOME目录下添加初始配置文件Shell配置文件-------------------------------------------------Cshell.login.cshrcBshell.profile文件来源新建用户帐号时,从/etc/skel目录中复制而来在/etc/skel中,有四个缺省初始配置文件local.profile:用户每次登录时执行local.cshrc:每次进入新的csh环境时执行local.login::用户每次退出登录时执行.profile:环境配置文件1-11、设置/更改用户口令passwd命令格式:passwd[选项]...用户名常用命令选项-d:清空用户的密码,使之无需密码即可登录-l:锁定用户帐号-s:查看用户帐号的状态(是否被锁定)-u:解锁用户帐号1-12、修改用户账号的属性usermod命令格式:usermod[选项]...用户名常用命令选项-l:更改用户帐号的登录名称以下选项与useradd命令中的含义相同-u、-d、-e、-g、-G、-s1-13、删除用户账号userdel命令格式:userdel[-r]用户名添加-r选项时,表示连用户的宿主目录一并删除1-14、转换用户身份su命令:不需用户注销即可转成另一用户格式:su[-][username]举例:#sutomtom用户继承了su命令之前的用户环境#su-tomtom用户使用了自己的用户环境1-15、用户和组账号查询id命令用途:查询用户身份标识格式:id[用户名]groups命令用途:查询用户所属的组格式:groups[用户名]finger命令用途:查询用户帐号的详细信息格式:finger[-l][用户名]w、who命令用途:查询已登录到主机的用户信息项目目标开发部员工tom最近出差,由员工bob暂时接替tom未完成的一个开发项目,如何让bob能管理控制tom留下的文档?Tom和bob共同实施一个项目,要求两人的工作在一个共享的目录里完成,两人能互相浏览对方的文档,但是不能修改删除对方的文档。所需知识点建立用户和组修改用户缺省权限修改文件所有者身份使用unix特殊权限位来实现上述两个目标2-1、文件与系统用户的关系文件与系统用户的关系有三种:文件的所有者:通常是文件的创建者用户同组用户:与文件的创建者在同一个用户组的其他用户其他人:既不是文件的所有者,也不是文件的同组用户$ls-l/export/home/tom/tomfile-rw-r--r--1tomdevelop5Sep613:52/export/home/tom/tomfile其中的第三个字段(tom)代表文件的所有者第四个子段(develop)代表文件所属的用户组2-1、文件与系统用户的关系28文件与系统用户的关系有三种:文件的所有者:通常是文件的创建者用户同组用户:与文件的创建者在同一个用户组的其他用户其他人:既不是文件的所有者,也不是文件的同组用户$ls-l/export/home/tom/tomfile-rw-r--r--1tomdevelop5Sep613:52/export/home/tom/tomfile其中的第三个字段(tom)代表文件的所有者第四个子段(develop)代表文件所属的用户组2-2、文件/目录的权限和归属访问权限读取:允许查看文件内容、显示目录列表写入:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录可执行:允许运行程序、切换目录归属(所有权)属主:拥有该文件或目录的用户帐号属组:拥有该文件或目录的组帐号2-3、查看文件/目录的权限和归属权限项读写执行读写执行读写执行字符表示rwxrwxrwx数字表示421421421权限分配文件所有者文件所属组其他用户rw-r--r--420400400644[root@localhost~]#ls-linstall.log-rw-r--r--1rootroot3429804-0200:23install.log文件类型属组属主访问权限2-4、设置文件/目录的权限chmod命令格式1:chmod[ugoa][+-=][rwx]文件或目录...格式2:chmodnnn文件或目录...常用命令选项-R:递归修改指定目录下所有文件、子目录的权限u、g、o、a分别表示属主、属组、其他用户、所有用户+、-、=分别表示增加、去除、设置权限对应的权限字符3位八进制数2-5、设置文件/目录的归属chown命令格式:chown属主文件或目录chown:属组文件或目录chown属主:属组文件或目录常用命令选项-R:递归修改指定目录下所有文件、子目录的归属2-6、使用附加权限SET位权限主要用途:为可执行(有x权限的)文件设置,权限字符为“s”其他用户执行该文件时,将拥有属主或属组用户的权限SET位权限类型:SUID:表示对属主用户增加SET位权限SGID:表示对属组内的用户增加SET位权限应用示例:/usr/bin/passwd[root@localhost~]#ls-l/usr/bin/passwd-rwsr-xr-x1rootroot198762006-07-17/usr/bin/passwd普通用户以root用户的身份