《Linux系统管理用户和组管理.ppt》由会员分享,可在线阅读,更多相关《Linux系统管理用户和组管理.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第七章第七章 系统管理系统管理-用户和组管理用户和组管理本章目标本章目标v了解了解linuxlinux文件权限的分配文件权限的分配v熟练掌握与用户管理相关的各种指令操作熟练掌握与用户管理相关的各种指令操作v掌握批量用户的添加操作掌握批量用户的添加操作【问题的提出】【问题的提出】vGeecy软软件件开开发发公公司司即即将将开开始始在在Linux系系统统上上进进行行两两个个项项目目的的开开发发。开开发发人人员员David和和Peter组组成成一一个个小小组组,负负责责A项项目目的的开开发发;开开发发人人员员Jack和和Mike组成另一个小组,负责组成另一个小组,负责B项目的开发。项目的开发。v系系
2、统统管管理理员员Ray需需要要为为这这四四名名开开发发人人员员分分别别建建立立用用户户帐帐号号,并并满满足足以以下下要求:要求:(1 1)建建立立目目录录“/project_a”“/project_a”,该该目目录录里里面面的的文文件件只只能能由由DavidDavid和和PeterPeter两两人人读读取取、增增加加、删删除除、修修改改以以及及执执行行,其其他他用用户户不不能能对对该该目目录录进进行行任任何的访问操作;何的访问操作;(2 2)建建立立目目录录“/project_b”“/project_b”,该该目目录录里里面面的的文文件件只只能能由由JackJack和和MikeMike两两人人
3、读读取取、增增加加、删删除除、修修改改以以及及执执行行,其其他他用用户户不不能能对对该该目目录录进进行行任任何何的访问操作;的访问操作;(3 3)建建立立目目录录“/project”“/project”,该该目目录录里里面面的的文文件件只只能能由由DavidDavid、PeterPeter、JackJack和和MikeMike四四人人读读取取、增增加加、删删除除、修修改改以以及及执执行行,其其他他用用户户只只可可以以对对该目录进行只读的访问操作。该目录进行只读的访问操作。【问题分析】【问题分析】vLinux系统采用传统的Unix权限管理机制,对文件或目录的权限设置不能精确到每个用户。也就是,不
4、能直接指定某个文件的权限类似于“对X和Y用户只读、对M和N用户可读可执行、对P和Q用户可读可写可执行”这么详细。v在Linux中文件权限的设置对象只有三种:文件的拥有者(1个用户)、组的拥有者(若干个用户)以及其他用户(若干个用户)。但一个用户可以加入到多个用户组,从而可以形成比较复杂的关系,以满足现实需求。v因此,可以建立三个用户组:prj_a(组员有David和Peter)、prj_b(组员有Jack和Mike)和prj(David、Peter、Jack和Mike)。然后:(1)对目录“/project_a”设置权限,允许组prj_a读取、增加、删除、修改以及执行,不允许其他用户进行任何的
5、访问操作;(2)对目录“/project_b”设置权限,允许组prj_b读取、增加、删除、修改以及执行,不允许其他用户进行任何的访问操作;(3)对目录“/project”设置权限,允许组prj读取、增加、删除、修改以及执行,允许其他用户对该目录进行只读的访问操作。查看文件权限查看文件权限字字 符符代表的权限代表的权限-没有权限没有权限r r允许读取允许读取w w允许写入允许写入x x允许执行允许执行s s已经设置已经设置userIDbituserIDbit或或groupIDbitgroupIDbitt t设置设置sticybitsticybit。将程序的一部分存放在系统缓存中,。将程序的一部分
6、存放在系统缓存中,再次执行时就可以节省系统时间。再次执行时就可以节省系统时间。管理本地文件管理本地文件v文件权限管理文件权限管理q按文件所有权分:按文件所有权分:q属主:指文件的创建者属主:指文件的创建者,佣有者。对文件具有全权,是文件的佣有者。对文件具有全权,是文件的主人。主人。q属组:相互间有关系的用户。属组:相互间有关系的用户。q其它人:与文件无关的用户。其它人:与文件无关的用户。文件所有者文件所有者同组人同组人其它人其它人管理本地文件管理本地文件(续续)vLinuxLinux的文件权限用的文件权限用8 8进制来表示,如进制来表示,如“644”“644”表示表示“rw-r-“rw-r-r
7、-”r-”v更改文件权限的命令为更改文件权限的命令为chmodchmod改变权限改变权限vchmodchmod改变文件或目录的权限状态。只有文件或目录的所属用户或改变文件或目录的权限状态。只有文件或目录的所属用户或rootroot用户能改变权限。用户能改变权限。chmodchmod选项选项 用户用户 修改方法修改方法 权限权限file1file2file1file2 rootwww#chmod-R xyz 文件或目录 选项与参数:xyz:数字类型的权限属怅,为 rwx 属怅数值的相加。-R:连同子目彔下的所有文录都会变更 例:chmod 777 filewho(who(用户用户)WhoWho说
8、说明明u u所属用户所属用户g g所属群组所属群组o o其他用户其他用户a a所有用户所有用户(all)(all)opcode(opcode(修改方法修改方法)OpcodeOpcode说说明明+增加权限增加权限-删除权限删除权限=分配权限,同时将原本的权限删除分配权限,同时将原本的权限删除v例:如果一个文本权限为例:如果一个文本权限为-rw-rwxex1-rw-rwxex1chmodu+xex1chmodu+xex1chmodu=rx,g=rex1chmodu=rx,g=rex1chmodo-wxex1chmodo-wxex1v将文件将文件file1.txtfile1.txt设为所有人都可读取
9、设为所有人都可读取v将文件将文件file1.txtfile1.txt与与file2.txtfile2.txt设为文件拥有者与所属群组可写入,设为文件拥有者与所属群组可写入,其它人不可写其它人不可写v将当前目录下的所有文件与子目录都设为任何人可读将当前目录下的所有文件与子目录都设为任何人可读chmoda+rfile1.txtchmoda+rfile1.txtchmodu+r,g+r,o+rfile1.txtchmodu+r,g+r,o+rfile1.txtchmodug+w,o-wfile1.txtfile2.txtchmodug+w,o-wfile1.txtfile2.txtchmodu+w,
10、g+w,o-wfile1.txtfile2.txtchmodu+w,g+w,o-wfile1.txtfile2.txtchmodRa+r*chmodRa+r*chmod-Ru+r,g+r,o+r*chmod-Ru+r,g+r,o+r*v更改文件的属主和属组命令为更改文件的属主和属组命令为chownchownq用法:用法:chownchown属主属主:属组属组filefile或或chownchown属主属主.属组属组filefile 例如:例如:chownhuangchownhuang:huanga.txthuanga.txt要改变成的新的所有者必须存在于要改变成的新的所有者必须存在于/etc/
11、passwd/etc/passwd文件中。文件中。例如:将例如:将wangwang中的文件的属主改为中的文件的属主改为dongdongchowndongwang/chowndongwang/chowndongwang/*chowndongwang/*chowndongwang/*-Rchowndongwang/*-R由于指定了由于指定了wang/*wang/*,所以,所以wangwang中文件的属主连同目录中文件的属主连同目录wangwang的属主一起的属主一起改变。但改变。但wangwang目录中的子目录中的文件及其子目录的属主并未改变。目录中的子目录中的文件及其子目录的属主并未改变。也就是
12、说,也就是说,chownchown命令的作用范围仅限于树型目录的一个层。命令的作用范围仅限于树型目录的一个层。用户和组的管理用户和组的管理vLinuxLinux有很强的用户管理机制,它是通过用户和用户组这两个概念有很强的用户管理机制,它是通过用户和用户组这两个概念来实现的来实现的q用户是指可以登录到系统的帐号用户是指可以登录到系统的帐号q组是一个或多个用户的集合。把多个用户集合起来以组为单位组是一个或多个用户的集合。把多个用户集合起来以组为单位来定义他们的属性,例如控制哪些文件可以和不可以被存取来定义他们的属性,例如控制哪些文件可以和不可以被存取vLinuxLinux靠靠UIDUID和和GID
13、GID来区分用户和组来区分用户和组管理用户帐号资料的文件管理用户帐号资料的文件passwdpasswdv所有用户帐号资料都处于所有用户帐号资料都处于/etc/passwd/etc/passwd文件中。文件中。v每一个帐号都有七个栏位的资料,其间用每一个帐号都有七个栏位的资料,其间用“:”分割。分割。帐号名称:密码:帐号名称:密码:UIDUID:GIDGID:个人资料:用户目录:个人资料:用户目录:shellshell栏位说明栏位说明v帐号名称帐号名称登入系统时使用的名称。名称长度不能超过登入系统时使用的名称。名称长度不能超过8 8个字符。通常由小个字符。通常由小写字母或数字组成,不能包含冒号。
14、写字母或数字组成,不能包含冒号。v密码密码登入密码。可能会看到加密过后的乱码。如果是登入密码。可能会看到加密过后的乱码。如果是x x,表示密码经,表示密码经过过shadowpasswordsshadowpasswords保护。其可以在安装系统时设置,也可以保护。其可以在安装系统时设置,也可以用用pwconvpwconv执行保护或用执行保护或用pwunconvpwunconv停止。停止。一个空格一个空格(就是就是:):)表示登入时不需密码表示登入时不需密码。vUID(userid)UID(userid)用户身份号码,用于识别用户帐号。它是唯一的,用户身份号码,用于识别用户帐号。它是唯一的,通常为
15、通常为0 06553565535之间的整数。之间的整数。rootroot的的UIDUID为为0 0。11001100被系统的标准用户使用。用户设置的帐号可被系统的标准用户使用。用户设置的帐号可以从以从101101开始,系统预设从开始,系统预设从500500开始。开始。其中:其中:1 11010:守护程序:守护程序11119999:系统保留:系统保留100100以上:正常用户以上:正常用户栏位说明栏位说明vGID(groupid)GID(groupid)群组号码。每个用户帐号都会属于一个起始群组群组号码。每个用户帐号都会属于一个起始群组(primarygroup)(primarygroup)。属
16、于同组用户,属于同组用户,GIDGID也相同。新增一个帐号时,系统会为这个用户增也相同。新增一个帐号时,系统会为这个用户增加一个起始群组,同时以帐号名作为群组的名称,此用户就是这个加一个起始群组,同时以帐号名作为群组的名称,此用户就是这个起始群组唯一的成员。是一个起始群组唯一的成员。是一个0 03276732767之间的整数。之间的整数。v个人资料个人资料记录关于用户的姓名、电话等信息,各个信息之间使用记录关于用户的姓名、电话等信息,各个信息之间使用“,”分割分割开。这个栏目通常没有记录。开。这个栏目通常没有记录。v用户目录用户目录定义用户的定义用户的homehome或初始工作目录,即用户登录
17、后所进入的目录,通或初始工作目录,即用户登录后所进入的目录,通常是常是/home/name/home/name,namename与用户帐号名称相同。与用户帐号名称相同。(/etc/default/useradd)(/etc/default/useradd)vshellshell定义用户登入系统后启动的定义用户登入系统后启动的shellshell,预设是,预设是bashbash。用户帐户管理用户帐户管理v添加用户添加用户v更改用户口令更改用户口令v删除用户删除用户添加用户添加用户v只有只有rootroot用户才可以添加其它用户,普通用户没有添加用户的权力用户才可以添加其它用户,普通用户没有添加用
18、户的权力11、在、在/etc/passwd/etc/passwd加入新帐号的相关资料。加入新帐号的相关资料。22、在、在/etc/group/etc/group加入新用户的起始群组。加入新用户的起始群组。33、建立用户的目录为、建立用户的目录为/home/name/home/name。44、同时也将、同时也将/etc/skel/etc/skel目录中以目录中以.开头的文件复制到用户目录中,这开头的文件复制到用户目录中,这些文件是一些环境设置文件。些文件是一些环境设置文件。v添加用户的两种方式:添加用户的两种方式:q手工编辑配置文件手工编辑配置文件q用字符命令或者图形程序添加用户用字符命令或者图
19、形程序添加用户(推荐推荐)v添加用户的命令:添加用户的命令:useraddoptionsuseraddoptions用户名用户名q例:例:#useraddtest#useraddtestuseradd(adduser)optionuseradd(adduser)option参数参数v-ddir-ddir设置用户目录。预设值为用户帐号。设置用户目录。预设值为用户帐号。例:例:useradd-d/etc/hhhyyyuseradd-d/etc/hhhyyyv-edate-edate设置此帐号的有效日期到设置此帐号的有效日期到datedate。v-fdays-fdays在帐号过期在帐号过期daysd
20、ays天后停止这个帐号。天后停止这个帐号。当值为当值为0 0时帐号则立刻被停用。时帐号则立刻被停用。当值为当值为-1-1时则关闭此功能,预设值为时则关闭此功能,预设值为-1-1。useradd-e2005-1-8-f0useradd-e2005-1-8-f0useradd-e2005-1-8-f1useradd-e2005-1-8-f1useradd-e2005-1-8-f-1useradd-e2005-1-8-f-1v-ggroup-ggroup设置此帐号的起始群组。可以是系统中现存的组名或设置此帐号的起始群组。可以是系统中现存的组名或GIDGID。例:例:useradd-g6692iiii
21、useradd-g6692iiiiv-Ggroup-Ggroup,设置此帐号的附属群组。此帐号可以属于多个群设置此帐号的附属群组。此帐号可以属于多个群组,多个群组之间可以用组,多个群组之间可以用“,”分开。分开。例例:useradd-G6691,6692uuu:useradd-G6691,6692uuuuseradd-Guuu,yyyiopuseradd-Guuu,yyyiopv-sshell-sshell设置登入后启动的设置登入后启动的shellshell。v-uUID-uUID设置所增加的用户帐号的设置所增加的用户帐号的UIDUID,当前指定的,当前指定的uiduid中的最大中的最大数目加
22、数目加1 1为缺省的为缺省的uiduid。修改修改passwdpasswd文件文件v用户帐号的信息存储在用户帐号的信息存储在/etc/passwd/etc/passwd文件中,可以使用文件中,可以使用rootroot直接对直接对passwdpasswd文件操作,实现对用户帐号的增加和删除。文件操作,实现对用户帐号的增加和删除。例如:在例如:在passwdpasswd中增加一行,增加用户中增加一行,增加用户liuliu:liu:6688:15:LiuHong:/home/liu:/bin/cshliu:6688:15:LiuHong:/home/liu:/bin/csh这时使用这时使用liuli
23、u登录,不需要口令。登录,不需要口令。(这时系统中要有建立好的这时系统中要有建立好的/home/liu/home/liu目录目录)使用手动增加的用户可以实现登录,但提示符不完全。使用手动增加的用户可以实现登录,但提示符不完全。使用使用passwdpasswd命令改变口令字命令改变口令字v没有设置用户密码的用户是不能登录系统的没有设置用户密码的用户是不能登录系统的v修改密码的命令为:修改密码的命令为:passwdoptionspasswdoptions用户名用户名q例:例:用户帐号停用用户帐号停用v将用户帐号停用有几个不同的程度:将用户帐号停用有几个不同的程度:11、暂时停止登入系统,以后再恢复
24、;、暂时停止登入系统,以后再恢复;22、从系统中删除帐号,保留用户文件;、从系统中删除帐号,保留用户文件;33、完全删除帐号及该用户的所有文件。、完全删除帐号及该用户的所有文件。删除帐号删除帐号v删除一个用户帐号,可以直接将删除一个用户帐号,可以直接将passwdpasswd文件中该用户的记录整行文件中该用户的记录整行删除。也可以使用删除。也可以使用userdeluserdel指令来完成。指令来完成。v使用使用userdeluserdel删除帐号,会在系统内所有与帐号有关的文件中,包删除帐号,会在系统内所有与帐号有关的文件中,包括括/etc/passwd/etc/passwd、/etc/sha
25、dow/etc/shadow以及以及/etc/group/etc/group,将指定帐号的所,将指定帐号的所有资料删除。有资料删除。userdel-rnameuserdel-rname删除用户删除用户v删除用户帐户的命令为删除用户帐户的命令为userdeluserdelq例:例:userdeltest(userdeltest(注:这样只删除了用户帐户,但是用户注:这样只删除了用户帐户,但是用户的主目录还是保存在服务器的硬盘当中的主目录还是保存在服务器的硬盘当中)vr r参数会一同删除用户的主目录以及目录中的文件参数会一同删除用户的主目录以及目录中的文件q例:例:userdel-rtestuse
26、rdel-rtest修改修改passwdpasswd文件删除用户文件删除用户v在在passwdpasswd文件中删除相关的用户行。如:文件中删除相关的用户行。如:emily:x:8888:20:emilyzhang:/usr/users/emily:/bin/cshemily:x:8888:20:emilyzhang:/usr/users/emily:/bin/csh将将用户用户emilyemily删除。删除。管理群组资料的文件管理群组资料的文件groupgroupv存放在存放在/etc/group/etc/group文件中。文件中。群组名称:群组密码:群组名称:群组密码:GIDGID:群组成
27、员:群组成员(属于该组的用户名单,属于该组的用户名单,用户之间用逗号分隔用户之间用逗号分隔)格式如下:格式如下:group-name:x:gid:additional-usergroup-name:x:gid:additional-user组管理组管理v建立一个组建立一个组qgroupaddgroupadd组名组名例如:增加例如:增加gidgid值为值为200200的用户组的用户组examexamgroupaddg200examgroupaddg200examvgroupadd-rgroupadd-r系统组帐号,该组帐号的系统组帐号,该组帐号的gidgid小于小于500500v删除一个组删除一
28、个组qgroupdelgroupdel组名组名例如:删除用户组例如:删除用户组examexamgroupdelexamgroupdelexamv把新建的用户添加到组当中把新建的用户添加到组当中quseraddguseraddg初始组初始组GG附属组附属组 用户名用户名rootroot用户可以直接对用户可以直接对/etc/group/etc/group文件进行编辑,从而实现对用文件进行编辑,从而实现对用户组的增加和删除。户组的增加和删除。chgrpgroupfilechgrpgroupfile将指定文件的属组改为指定组将指定文件的属组改为指定组例如:将当前目录中文件例如:将当前目录中文件duig
29、ongduigong的属组改变为的属组改变为informixinformixchgrpinformixduigongchgrpinformixduigong将文件将文件xyzxyz的属组改变为的属组改变为abcabcchgrpabcxyzchgrpabcxyzvvipwvipw对对passwdpasswd文件进行编辑时将自动锁定该文件,编辑结束后对文件进行编辑时将自动锁定该文件,编辑结束后对该文件进行解锁,保证了文件的一致性。等同于该文件进行解锁,保证了文件的一致性。等同于“vi“vi/etc/passwd”/etc/passwd”。vvigrvigr对对groupgroup文件进行编辑时将自
30、动锁定该文件,编辑结束后对该文文件进行编辑时将自动锁定该文件,编辑结束后对该文件进行解锁,保证了文件的一致性。等同于件进行解锁,保证了文件的一致性。等同于“vi/etc/group”“vi/etc/group”。vpwckpwck用于验证用户帐号文件用于验证用户帐号文件/etc/passwd/etc/passwd和和/etc/shadow/etc/shadow的每行中的每行中字段的格式和值是否正确。字段的格式和值是否正确。vgrpckgrpck用于检测文件用于检测文件/etc/group/etc/group和和/etc/gshadow/etc/gshadow的每行中字段的的每行中字段的格式和值是否正确。格式和值是否正确。