用户和组的管理_第1页
用户和组的管理_第2页
用户和组的管理_第3页
用户和组的管理_第4页
用户和组的管理_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章用户和组的管理,本章提要,Fedora8用户管理Fedora8组管理Linux是一个多用户的操作系统,Linux系统管理员的关键任务之一是维护用户和组。即使计算机是专供一位用户使用的工作站,一般也需要在计算机中至少维护一个根账户和一个普通账户。本章的内容包括如何利用图形化工具和在命令行界面下完成用户账号、工作组的建立和维护,并正确设置用户权限和安全性问题。利用图形配置工具与使用命令进行用户/用户组管理完成的是同样的工作,不同之处在于图形工具的操作界面友好直观,用户也不必去记忆大量的命令和参数。,用户管理,Linux是一个多任务、多用户的操作系统,任何一个要使用系统资源的用户(使用者),都必须首先申请一个账号,然后用这个账号登录系统。用户的账号可以帮助系统对使用系统的用户进行跟踪,并控制用户对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性的保护。组是具有共同用户特征的用户的集合,这与现实生活中的个人与集体是类似的。Linux系统来说,使用组可提高系统的灵活性;对于具体的Linux系统管理员来说,通过管理组来管理用户,提高了工作效率。,Linux的用户,在Linux系统中,每个用户对应一个帐号。Fedora8安装完成后,系统本身已创建了一些特殊用户,它们具有特殊的意义,其中最重要的是超级用户,即root。还有一类用户是系统用户,是Linux系统正常工作所必需的内建用户,主要是为了满足相应的系统进程对文件属主的要求而建立的,如bin、daemon、adm、lp等用户。系统用户不能用来登录。系统用户也被称为虚拟用户。,用户和组群的基本项目及含义,Linux用户登录系统的过程,Linux系统采用纯文本文件来保存账号的各种信息,其中最重要的文件有/etc/passwd、/etc/shadow、/etc/group。Linux用户登录系统的过程实质上是系统读取和核对这几个文件的过程。具体过程如下:(1)首先Linux会出现一个登录系统的画面,提示输入账号,在这里输入账号与密码。(2)Linux会先找寻/etc/passwd里面是否有这个账号,如果没有则退出登录,如果有,则将该账号对应的UID(UserID)与GID(GroupID)读出来。另外,该账号对应的用户主目录与Shell设定也一并读出。(3)核对密码表。这时Linux会进入/etc/shadow找出登录账号与UID相对应的记录,然后核对一下刚刚输入的密码与此文件的密码是否符合。(4)如以上核对都没有问题,用户正式进入系统。,账号文件,与账号有关的文件有/etc/passwd、/etc/shadow和/etc/group。可以使用vi或其他编辑器来更改它们,也可以使用专门的命令来更改。账号的管理实际上就是对这几个文件的内容进行添加、修改和删除记录行的操作,不管以哪种形式管理账号,了解这几个文件的内容都十分必要。,/etc/passwd文件,/etc/passwd帐号文件是账号管理中最重要的一个文件,是一个纯文本文件。每一个注册用户在该文件中都有一个对应的记录行,这一记录行记录了此用户的必要信息。例如,下面是/etc/passwd文件的实例。rootCandy#cat/etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinpulse:x:499:496:PulseAudiodaemon:/:/sbin/nologinUser:/var/lib/nfs:/sbin/nologinhaldaemon:x:68:68:HALdaemon:/:/sbin/nologingdm:x:42:42:/var/gdm:/sbin/nologinBob:x:500:500:/home/Bob:/bin/bash,passwd文件格式,账号名称:密码:UID:GID:个人资料:主目录:Shell每个字段的说明如下:(1)账号名称:用户登录Linux系统时使用的名称。(2)密码:这里的密码是经过加密后的密码,而不是真正的密码,若为“x”,说明密码已经被移动到shadow这个加密过后的文件。(3)UID:用户的标识,是一个数值,Linux系统内部使用它来区分不同的用户。通常Linux对于UID有几个限制,具体如下。0为系统管理员,即root用户,所以新建另一个系统管理员账号时,可以将该账号的UID改成0即可。1500为保留给系统使用的ID,其实165534之间的账号并没有不同,也就是除了0之外,其他的UID并没有区别,但将500以下的ID留给系统作为保留账号是一个好习惯。50065535在Fedora中是给一般使用者用的,passwd文件最后一行的记录Bob用户的UID就是500。(4)GID:用户所在组的标识,是一个数值,Linux系统内部使用它来区分不同的组,相同的组具有相同的GID。(5)个人资料:可以记录用户的个人信息,如姓名、电话等信息。(6)主目录:root的主目录为/root,所以当root用户登录之后,当前的目录就是/root;对于其他用户通常是/home/username,这里username是用户名,用户执行“cd”命令时当前目录会切换到个人主目录,如Bob用户的主目录为/home/Bob。(7)Shell:定义用户登录后使用的Shell版本,默认是bash。,/etc/shadow,/etc/shadow为用户密码文件。任何用户对passwd文件都有读的权限,虽然密码已经经过加密,但还是不能避免有人会获取加密后的密码。为了安全起见,Linux系统对密码提供了更多一层的保护,即把加密后的密码移动到/etc/shadow文件中,只有超级用户能够读取shadow文件的内容,并且Linux在/etc/shadow文件中设置了很多的限制参数。经过shadow的保护,/etc/passwd文件中每一记录行的密码字段会变成“x”,并且在/etc目录下多出文件shadow。下面是shadow文件的实例。rootCandy#cat/etc/passwdroot:$1$5Q1l2HdK$6BLlVJsWPOt/bi1rcKq0o/:13954:0:99999:7:bin:*:13954:0:99999:7:,shadow文件格式说明,(1)最后一次修改时间:表示从1970年1月1日起到上次修改密码所经过的天数。(2)最小时间间隔:表示两次修改密码之间至少经过的天数。(3)最大时间间隔:表示密码还会有效的最大天数,如果是99999,则表示永不过期。(4)警告时间:表示密码失效前多少天内系统向用户发出警告。(5)不活动时间:表示禁止登录前用户名还有效的天数。(6)失效时间:表示用户被禁止登录的时间。(7)标志字段:无意义,未使用。在shadow文件中,密码字段为“*”表示用户被禁止登录,为“!”表示用户被锁定。安装Linux系统时,系统默认采用shadow来保护密码。如果安装Linux时未启用shadow,可以使用pwconv命令启用shadow。注意,用root用户登录来执行该命令,执行的结果是/etc/passwd文件中的密码字段被改为“x”,同时产生/etc/shadow文件。相反,如果要取消shadow功能,可使用pwunconv命令,但不建议这样做。,命令行方式管理用户,useradduseradd用于添加用户。只有超级用户root才有权使用此命令。使用useradd命令创建新的用户账号后,应利用passwd命令为新用户设置密码。一个类似的命令是adduser,也用来创建用户账号。1)添加Alice用户rootCandy#useraddAliceAlice:x:501:501:/home/Alice:/bin/bash用户Alice添加成功,同时发现,使用命令useradd添加用户的同时还添加了许多其他默认设置,如用户主目录和Shell版本等。,修改用户默认设置,很明显在大多数情况下,用户希望修改默认设置,以满足实际的要求。比如说,想修改默认Shell版本为使用较多的/bin/bash。与添加用户的默认设置有关的文件主要是/etc/login.defs与/etc/default/useradd文件。(1)/etc/login.defs文件(2)/etc/default/useradd文件,passwd,1)修改用户密码通过passwd命令可以完成为新建用户设立口令。例如,超级用户要设置或改变用户newuser的口令时,可使用命令:passwdnewuser系统会提示输入新的口令,新口令需要输入两次。出于安全的原因,键入口令时不会在屏幕上回显出来。当用户使用不带参数的passwd命令时,可以修改自己的口令。如,修改用户Jim的密码属性的命令如下:rootCandy#passwdJim也可以用如下命令直接修改自己的密码:BobCandy#passwd,passwd(续),2)锁定用户帐号在系统中,有时需要临时禁止某个用户账号登录。如下命令用于锁定用户账号Jim,使其无法登录。rootCandy#passwd-lJim查看Linux系统中管理用户账号的系统文件/etc/shadow,可看到其密码域的第一个字符前加了符号“!”(若系统没有密码保护则文件为/etc/passwd)。rootCandy#cat/etc/shadow当然,也可修改etc/passwd文件来锁定用户账号Jim,在该用户的passwd域的第一个字符前加一个号注销这行记录,如要启用时再去掉。3)解除用户账号Jim的锁定。rootCandy#passwduJim4)删除用户的密码rootCandy#passwddAliceRemovingpasswordforuserAlice.passwd:Success该命令删除了用户Alice的密码。,usermod,usermod用于改变用户的属性。1)修改Alice的UID为新的值600、所属组为admin。rootCandy#usermodu600gadminAlice改变用户的UID时,主目录下所有该用户所拥有的文件或子目录将自动更改其UID,但对于主目录之外的文件和目录只能用chown命令手工进行设置。2)修改Alice的用户主目录。rootCandy#mkdir/AlicerootCandy#usermodd/AliceAliceusermod参数较多,其具体作用说明如下:-lname:更改账户的名称,必须在该用户未登录的情况下才能使用。-m:把主目录的所有内容移动到新的目录。-p密码:修改用户的密码。-sShell:修改用户的登录Shell。,chsh,chsh用于改变用户的Shell版本1)列出本机上所有能用的Shell名称。rootCandy#chsh-l/bin/sh/bin/bash/sbin/nologin/bin/zsh2)用户自行改变预设shell版本。rootCandy#chsh-s/bin/zsh使用chsh命令改变用户的Shell,指定的Shell一定要在/etc/shells文件中存在,否则会导致用户无法登录。,chfn,chfn用于修改用户的个人信息,命令格式为chfnusername例如,要修改Alice的个人信息,命令如下:rootCandy#chfnAliceChingingfigerinformationforAlice.Name:aliceOffice:T&RroomOfficePhoneomePhoneingerinformationchanged.,userdel,userdel用于删除用户账号。若不再允许用户登录系统时,可以将用户账号删除。完全删除一个用户包括:删除/etc/passwd文件中此用户的记录;删除/etc/group文件中该用户的信息;删除用户的主目录;删除用户所创建的或属于此用户的文件。userdel命令可以用来删除用户及其主目录。命令的格式为:rootCandy#userdel-r使用“r”选项,表示用户主目录及其内部的文件将被删除。1)只删除Jim登录账号但保留相关目录。rootCandy#userdelJim只删除/etc/passwd与/etc/shadow文件中与用户Jim有关的内容,其他的(如用户目录等)保留,方便以后再次添加这个用户。其实更好的方法是使用命令暂停用户登录或者将/etc/shadow中倒数第一个字段设置为0,这也可以让该账号无法使用,但是所有与该账号相关的数据都会保留下来。2)完全删除Jim登录账号。rootCandy#userdelrJim删除账号的同时,同时删除用户主目录及其内部文件。,用于登录环境的设置,如果用于希望修改自己的登录环境,可以通过修改系统用户的作业环境来控制。用户登录系统后可以使用不同的Shell,不同的Shell对作业环境进行控制所采取的文件不太一样。这里以系统默认的ShellBashShell为例来说明对用户环境的修改。使用BashShell时,有如下几个文件和用户的作业环境有关:/etc/profile/etc/bashrc/etc/inputrc$HOME$/.bash_profile$HOME$/.bashrc$HOME$/.inputrc$HOME$/.bash_login其中$HOME$为环境变量,表示登录用户个人主目录,如Alice的$HOME$为“/home/Alice”。前面三个文件和系统所有的用户有关,影响所有登录的用户,后面四个文件和某个特定登录的用户有关,如果只想改变某个单一用户的登录环境,就要更改这几个文件。这些文件均采用Shell语言编写。关于Shell编程,我们后面章节将会介绍。,Linux组管理,在Linux中,使用组来赋予用户访问文件的不同权限。组的划分可以采用多种标准,一个用户可同时包含在多个组内。Fedora在安装中同样创建了一些标准的用户组,在一般情况下,建议不要对这些用户组进行删除和修改,除非完全明白它们的用途和意义。Linux的组有私有组、系统组和标准组之分。(1)私有组:建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,它只容纳了一个用户。(2)标准组:可以容纳多个用户,组中的用户都具有组所拥有的权利。(3)系统组:Linux系统自动建立的组。,组文件,Linux系统关于组的信息存放在文件/etc/group和/etc/gshadow中。/etc/group组帐号文件/etc/group存储与组相关的信息。以下是一个组文件示例:rootCandy#cat/etc/grouproot:x:0:rootbin:x:1:root,bin,daemonBob:x:500:Alice:x:501:student:x:551:与passwd文件记录类似,组账号文件的每一行由4个字段的数据组成,字段之间用“:”分隔,其格式如下:组名称:组密码:GID:组包括的账号名称其内容具体说明如下:组名称:就是组的名称。组密码:通常不需要设置,一般很少使用到组登录,同样密码也是被记录在/etc/gshadow中;组ID:就是所谓的GID;组成员:组所包含的用户,用户之间用“,”分隔。如果想要让Alice也属于root这个组的话,修改group文件,添加Alice到对应组名称后即可。例如手动添加用户Alice到root组。rootCandy#cat/etc/grouproot:x:0:root,Alice,/etc/gshadow,组密码文件gshadow与group结构类似,但组密码不好管理,因此很少用。命令行方式管理组groupaddgroupadd命令用于将新组加入系统,命令的格式为:groupaddnewgroup新建的组默认使用大于500并大于每个其他组的ID的最小数值。如果要指定组的ID,可以在命令中加入g参数,如下面的命令将在/etc/passwd文件中产生GID为503的项目:rootCandy#groupaddg503newgroup输入如下命令即可添加users组rootCandy#groupaddusers还可以通过手工编辑/etc/group文件来完成组的添加。,groupmod,groupmod用于修改组属性。(1)修改users组的GID。rootCandy#groupmodg1005users(2)修改users组的组名为students。rootCandy#groupmodnusersstudents,gpasswd,gpasswd用于改变组中的成员用户或改变组的密码,gpasswd命令不仅可以修改组密码而且可以添加和删除组成员。(1)修改users组密码。rootCandy#gpasswdusersChangingthepasswordforgroupAliceNewPassword:Re-enternewpassword:(2)添加Bob用户到Students组。rootCandy#gpasswd-aBobStudents(3)从Students组删除Bob用户。rootCandy#gpasswd-dBobStudents,groupdel,groupdel用于删除组。例如:rootCandy#groupdelStudents,图形环境用户与组管理,利用Fedora图形界面下提供的“用户和组群”管理工具,可以轻松的管理系统中的用户和用户组,包括完成新建、查看、管理帐号、密码、权限等所有操作。查看用户和用户组在GNOME桌面环境下,执行“系统”|“管理”|“用户和组群”可打开“用户和群组”管理工具,如图4-1所示。也可以在终端的命令提示符下输入“system-config-users”命令打开“用户和群组”管理工具。,图4-1“用户和群组”管理工具,添加新用户及修改用户属性,点击工具栏中的“添加新用户”按钮,出现“创建新用户”向导,如图4-3所示。,图4-3创建新用户,添加组及修改组属性,系统管理过程经常要建立新的组群,点击工具栏中的“添加组群”按钮,出现“创建新组群”对话框,如图4-5所示,创建一个名为“Students”的组群。图4-5“创建新组群”对话框在主界面的组列表中选中一个已存在的组群并双击鼠标左键,或按工具栏中的“属性”按钮,可以对组群名称、组用户成员等属性进行修改。,Linux权限控制机制,Linux系统是多用户系统,能使不同的用户同时访问不同的文件,因此一定要有文件权限控制机制。Linux系统的权限控制机制和Windows系统的权限控制机制有着很大的差别。Linux的文件或目录被一个用户拥有时,这个用户被称为文件的拥有者(或文件主),同时文件还被指定的用户组所拥有,这个用户组被称为文件所属组。一个用户可以是不同组的成员,这可以由管理员控制。文件的权限由权限标志来决定,权限标志决定了文件的拥有者、文件的所属组、其他用户对文件访问的权限。在多用户操作系统中,出于安全性的考虑,需要给每个文件和目录加上访问权限,严格地规定每个用户的权限。同时,用户可以为自己的文件赋予适当的权限,以保证他人不能修改和访问。,改变文件主,Linux为每个文件都分配了一个文件所有者,称为文件主,对文件的控制取决于文件主或超级用户(root)。文件或目录的创建者对创建的文件或目录拥有特别使用权。文件的所有关系是可以改变的,chown命令用来更改某个文件或目录的所有权。chown命令的语法格式是:chown选项用户或组文件1文件2用户可以是用户名或用户ID。文件是以空格分开的要改变权限的文件列表,可以用通配符表示文件名。例,将文件test.txt的所有者设为bob,所属组设为users,命令如下:rootCandy#chownbob:userstest.txtrootCandy#ls-l-rw-rr1bobusers2302008-02-1011:39test.txt,改变用户组,在Linux下,每个文件又同时属于一个用户组。当创建一个文件或目录,系统会赋予它一个用户组关系,用户组的所有成员都可以使用此文件或目录。文件用户组关系的标志是GID。文件的GID只能由文件主或超级用户(root)来修改。chgrp命令可以改变文件的GID,其语法格式为:chgrp选项group文件名其中group是用户组ID。文件名是以空格分开的要改变属组的文件列表,它支持通配符。例,将文件test.txt的所属组设为root。rootCandy#chgrproottest.txtrootCandy#ls-l-rw-rr1bobroot2302008-02-1011:45test.txt,文件权限设置,Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。访问权限规定三种不同类型的用户:文件主(owner)同组用户(group)可以访问系统的其他用户(others)访问权限规定三种访问文件或目录的方式:读(r)写(w)可执行或查找(x)当用ls-l命令或l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。,文件访问权限及含义,目录访问权限的含义,改变文件权限,一、以符号模式改变权限chmod用于改变文件或目录的访问权限,用户可以用它控制文件或目录的访问权限。只有文件主或超级用户root才有权用chmod改变文件或目录的访问权限。chmod命令的语法为:chmod选项mode文件名或目录mode表示权限设定字串,格式为:ugoa+-=rwxXsS。详细说明见表4-6。,改变文件权限mode的详细说明,改变文件权限举例,(1)rootCandy#chmoda+xtest1表示即设定文件sort的属性为:文件属主(u)与文件属主同组用户(g)及其他用户都增加执行权限。(2)rootCandy#chmodug+w,o-xtext表示设定文件text的属性为:文件属主(u)及文件属主同组用户(g)增加写权限,而其他用户(o)删除执行权限。(3)rootCandy#chmodu=rw,g=rw,o=rfile1.log表示file1.log的权限变为“rw-rw-r”,不论原来的权限是什么,这表示拥有者对文件有读、写权限,所属组的用户对文件也有读、写的权限,而其他用户只有读的权限。(4)rootCandy#chmodaxmm.txtrootCandy#chmodxmm.txtrootCandy#chmodugoxmm.txt以上这三个命令都是将文件mm.txt的执行权限删除,它设定的对象为所有使用者。,以绝对方式改变权限,通常也可以用chmod命令配以不同类型的key直接设置权限。这时以数字代表不同的权限。这里key可以包括三个(或三个以上)的数字,每个数字表示对不同类型用户的权限。数字表示的属性的含义:0表示禁止该权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。通常,key是以三位八进制数字出现的,第一位表示用户权限、第二位表示组权限,第三位表示其他用户权限。例如,要使文件myfile的文件主和同组用户具有读写权限,但其他用户只可读,可以用以下命令指定权限:rootCandy#chmod664myfile,默认权限,默认情况下,系统将创建的普通文件的权限设置为“-rw-r-r”,即“644”,文件主对该文件可读可写(rw),而同组用户和其他用户都只可读;对于可执行文件默认权限是“rwxr-xr-x”,即“755”,文件主对该文件可读可写可执行(rwx),而同组用户和其他用户都可读可执行(r-x);同样,在默认配置中,将每一个用户主目录的权限都设置为“drwx-”,即“700”,只有文件主对该目录可读、写和可查询(rwx),即用户不能读其他用户目录中的内容。很显然,系统中各种文件的权限设置对特定用户的数据安全有很大影响,但是要求用户逐一明确设置系统中每个文件的权限也是不现实的。因此,如果想改变这一默认值,可用umask命令,该命令可以为用户帐号中新文件的创建进行默认设置。具体地说,um

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论