1、第第4章章 用户和组的管理用户和组的管理本章提要本章提要vFedora 8用户管理vFedora 8 组管理vLinux 是一个多用户的操作系统,Linux系统管理员的关键任务之一是维护用户和组。即使计算机是专供一位用户使用的工作站,一般也需要在计算机中至少维护一个根账户和一个普通账户。本章的内容包括如何利用图形化工具和在命令行界面下完成用户账号、工作组的建立和维护,并正确设置用户权限和安全性问题。利用图形配置工具与使用命令进行用户/用户组管理完成的是同样的工作,不同之处在于图形工具的操作界面友好直观,用户也不必去记忆大量的命令和参数。用户管理用户管理vLinux 是一个多任务、多用户的操作系
2、统,任何一个要使用系统资源的用户(使用者),都必须首先申请一个账号,然后用这个账号登录系统。用户的账号可以帮助系统对使用系统的用户进行跟踪,并控制用户对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性的保护。组是具有共同用户特征的用户的集合,这与现实生活中的个人与集体是类似的。Linux 系统来说,使用组可提高系统的灵活性;对于具体的Linux系统管理员来说,通过管理组来管理用户,提高了工作效率。Linux 的用户的用户v在Linux系统中,每个用户对应一个帐号。Fedora 8安装完成后,系统本身已创建了一些特殊用户,它们具有特殊的意义,其中最重要的是超级用户,即 root
3、还有一类用户是系统用户,是Linux 系统正常工作所必需的内建用户,主要是为了满足相应的系统进程对文件属主的要求而建立的,如bin、daemon、adm、lp 等用户。系统用户不能用来登录。系统用户也被称为虚拟用户。用户和组群的基本项目及含义用户和组群的基本项目及含义项目含义用户名 系统中用来标识用户的名称,可以是字母、数字组成的字符串,区分大小写用户标识UID 系统中用来标识用户的数字用户主目录 系统为每个用户配置的单独使用环境,即用户登录系统后最初所在的目录,用户的文件都放置在此目录下登录shell 用户登录后启动以接收用户的输入并执行输入相应命令的程序,如/bin/bash、/bin/
4、csh用户组/组群 具有相似属性的多个用户被分配到一个组中组标识GID 用来表示用户组的数字标识Linux 用户登录系统的过程用户登录系统的过程vLinux 系统采用纯文本文件来保存账号的各种信息,其中最重要的文件有/etc/passwd、/etc/shadow、/etc/group。Linux 用户登录系统的过程实质上是系统读取和核对这几个文件的过程。具体过程如下:(1)首先Linux 会出现一个登录系统的画面,提示输入账号,在这里输入账号与密码。(2)Linux 会先找寻/etc/passwd 里面是否有这个账号,如果没有则退出登录,如果有,则将该账号对应的UID(User ID)与GID
5、Group ID)读出来。另外,该账号对应的用户主目录与Shell 设定也一并读出。(3)核对密码表。这时Linux 会进入/etc/shadow 找出登录账号与UID 相对应的记录,然后核对一下刚刚输入的密码与此文件的密码是否符合。(4)如以上核对都没有问题,用户正式进入系统。账号文件账号文件v与账号有关的文件有/etc/passwd、/etc/shadow 和/etc/group。可以使用vi 或其他编辑器来更改它们,也可以使用专门的命令来更改。账号的管理实际上就是对这几个文件的内容进行添加、修改和删除记录行的操作,不管以哪种形式管理账号,了解这几个文件的内容都十分必要。/etc/pas
6、swd文件文件v/etc/passwd 帐号文件是账号管理中最重要的一个文件,是一个纯文本文件。每一个注册用户在该文件中都有一个对应的记录行,这一记录行记录了此用户的必要信息。v例如,下面是/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/lp
7、d:/sbin/nologinpulse:x:499:496:PulseAudio daemon:/:/sbin/nologinUser:/var/lib/nfs:/sbin/nologinhaldaemon:x:68:68:HAL daemon:/:/sbin/nologingdm:x:42:42:/var/gdm:/sbin/nologinBob:x:500:500:/home/Bob:/bin/bashpasswd文件格式文件格式v账号名称:密码:账号名称:密码:UIDUID:GIDGID:个人资料:主目录:个人资料:主目录:ShellShellv每个字段的说明如下:v(1)账号名称:用
8、户登录Linux 系统时使用的名称。v(2)密码:这里的密码是经过加密后的密码,而不是真正的密码,若为“x”,说明密码已经被移动到shadow 这个加密过后的文件。v(3)UID:用户的标识,是一个数值,Linux 系统内部使用它来区分不同的用户。通常Linux 对于UID 有几个限制,具体如下。0 为系统管理员,即root 用户,所以新建另一个系统管理员账号时,可以将该账号的UID 改成0 即可。1500 为保留给系统使用的ID,其实165534 之间的账号并没有不同,也就是除了0 之外,其他的UID 并没有区别,但将500 以下的ID 留给系统作为保留账号是一个好习惯。50065535 在
9、Fedora中是给一般使用者用的,passwd 文件最后一行的记录Bob用户的UID就是500。v(4)GID:用户所在组的标识,是一个数值,Linux 系统内部使用它来区分不同的组,相同的组具有相同的GID。v(5)个人资料:可以记录用户的个人信息,如姓名、电话等信息。v(6)主目录:root 的主目录为/root,所以当root 用户登录之后,当前的目录就是/root;对于其他用户通常是/home/username,这里username 是用户名,用户执行“cd”命令时当前目录会切换到个人主目录,如Bob用户的主目录为/home/Bob。v(7)Shell:定义用户登录后使用的Shell
10、版本,默认是bash。/etc/shadowv/etc/shadow为用户密码文件。任何用户对passwd 文件都有读的权限,虽然密码已经经过加密,但还是不能避免有人会获取加密后的密码。为了安全起见,Linux 系统对密码提供了更多一层的保护,即把加密后的密码移动到/etc/shadow 文件中,只有超级用户能够读取shadow 文件的内容,并且Linux在/etc/shadow 文件中设置了很多的限制参数。经过shadow 的保护,/etc/passwd 文件中每一记录行的密码字段会变成“x”,并且在/etc 目录下多出文件shadow。下面是shadow 文件的实例。rootCandy#c
11、at/etc/passwd rootCandy#cat/etc/passwdroot:$1$5Q1l2HdK$6BLlVJsWPOt/bi1rcKq0o/:13954:0:99999:7:bin:*:13954:0:99999:7:shadow文件格式说明文件格式说明v(1)最后一次修改时间:表示从1970 年1 月1 日起到上次修改密码所经过的天数。v(2)最小时间间隔:表示两次修改密码之间至少经过的天数。v(3)最大时间间隔:表示密码还会有效的最大天数,如果是99999,则表示永不过期。v(4)警告时间:表示密码失效前多少天内系统向用户发出警告。v(5)不活动时间:表示禁止登录前用户名还有
12、效的天数。v(6)失效时间:表示用户被禁止登录的时间。v(7)标志字段:无意义,未使用。v在shadow 文件中,密码字段为“*”表示用户被禁止登录,为“!”表示用户被锁定。安装Linux 系统时,系统默认采用shadow 来保护密码。如果安装Linux 时未启用shadow,可以使用pwconv 命令启用shadow。注意,用root 用户登录来执行该命令,执行的结果是/etc/passwd 文件中的密码字段被改为“x”,同时产生/etc/shadow 文件。相反,如果要取消shadow 功能,可使用pwunconv 命令,但不建议这样做。命令行方式管理用户命令行方式管理用户vuseradd
13、vuseradd用于添加用户。只有超级用户root 才有权使用此命令。使用useradd 命令创建新的用户账号后,应利用passwd 命令为新用户设置密码。一个类似的命令是adduser,也用来创建用户账号。v1)添加Alice用户 rootCandy#useradd Alice Alice:x:501:501:/home/Alice:/bin/bashv用户Alice添加成功,同时发现,使用命令useradd 添加用户的同时还添加了许多其他默认设置,如用户主目录和Shell 版本等。修改用户默认设置修改用户默认设置v很明显在大多数情况下,用户希望修改默认设置,以满足实际的要求。比如说,想修改
14、默认Shell 版本为使用较多的/bin/bash。与添加用户的默认设置有关的文件主要是/etc/login.defs 与/etc/default/useradd 文件。(1)/etc/login.defs 文件 (2)/etc/default/useradd 文件passwdv1)修改用户密码v通过 passwd 命令可以完成为新建用户设立口令。例如,超级用户要设置或改变用户 newuser 的口令时,可使用命令:passwd newuser passwd newuserv系统会提示输入新的口令,新口令需要输入两次。出于安全的原因,键入口令时不会在屏幕上回显出来。当用户使用不带参数的 pas
15、swd 命令时,可以修改自己的口令。v如,修改用户Jim的密码属性的命令如下:rootCandy#passwd Jim rootCandy#passwd Jimv也可以用如下命令直接修改自己的密码:BobCandy#passwd BobCandy#passwd passwd(续续)v 2)锁定用户帐号v在系统中,有时需要临时禁止某个用户账号登录。如下命令用于锁定用户账号Jim,使其无法登录。rootCandy#passwd-l Jim rootCandy#passwd-l Jimv查看Linux 系统中管理用户账号的系统文件/etc/shadow,可看到其密码域的第一个字符前加了符号“!”(若
16、系统没有密码保护则文件为/etc/passwd)。rootCandy#cat/etc/shadow rootCandy#cat/etc/shadowv当然,也可修改etc/passwd 文件来锁定用户账号Jim,在该用户的passwd 域的第一个字符前加一个号注销这行记录,如要启用时再去掉。v3)解除用户账号Jim的锁定。rootCandy#passwd rootCandy#passwd u Jimu Jimv4)删除用户的密码 rootCandy#passwd rootCandy#passwd d Aliced AliceRemoving password for user Alice.pa
17、sswd:Successv该命令删除了用户Alice的密码。usermodvusermod用于改变用户的属性。v1)修改Alice的UID为新的值600、所属组为admin。rootCandy#usermod rootCandy#usermod u 600 u 600 g admin Aliceg admin Alicev改变用户的UID 时,主目录下所有该用户所拥有的文件或子目录将自动更改其UID,但对于主目录之外的文件和目录只能用chown 命令手工进行设置。v2)修改Alice的用户主目录。rootCandy#mkdir/Alice rootCandy#mkdir/Alice rootC
18、andy#usermod rootCandy#usermod d/Alice Aliced/Alice Alicevusermod 参数较多,其具体作用说明如下:-l name:更改账户的名称,必须在该用户未登录的情况下才能使用。-m:把主目录的所有内容移动到新的目录。-p 密码:修改用户的密码。-s Shell:修改用户的登录Shell。chshvchsh用于改变用户的Shell 版本v1)列出本机上所有能用的Shell 名称。rootCandy#chsh-l rootCandy#chsh-l/bin/sh/bin/bash/sbin/nologin/bin/zshv2)用户自行改变预设 s
19、hell 版本。rootCandy#chsh-s/bin/zsh rootCandy#chsh-s/bin/zshv使用chsh 命令改变用户的Shell,指定的Shell 一定要在/etc/shells 文件中存在,否则会导致用户无法登录。chfn vchfn用于修改用户的个人信息,命令格式为 chfn username chfn usernamev例如,要修改Alice的个人信息,命令如下:rootCandy#chfn Alice rootCandy#chfn AliceChinging figer information for Alice.Name :aliceOffice :T&R
20、roomOffice Phone :020-88888888Home Phone:020-99999999Finger information changed.userdelvuserdel用于删除用户账号。若不再允许用户登录系统时,可以将用户账号删除。完全删除一个用户包括:删除/etc/passwd 文件中此用户的记录;删除/etc/group 文件中该用户的信息;删除用户的主目录;删除用户所创建的或属于此用户的文件。vuserdel 命令可以用来删除用户及其主目录。命令的格式为:rootCandy#userdel-r rootCandy#userdel-r v使用“r”选项,表示用户主目录
21、及其内部的文件将被删除。v 1)只删除Jim登录账号但保留相关目录。rootCandy#userdel Jim rootCandy#userdel Jimv只删除/etc/passwd 与/etc/shadow 文件中与用户Jim有关的内容,其他的(如用户目录等)保留,方便以后再次添加这个用户。其实更好的方法是使用命令暂停用户登录或者将/etc/shadow 中倒数第一个字段设置为0,这也可以让该账号无法使用,但是所有与该账号相关的数据都会保留下来。v2)完全删除Jim登录账号。rootCandy#userdel rootCandy#userdel r Jimr Jimv删除账号的同时,同时删
22、除用户主目录及其内部文件。用于登录环境的设置用于登录环境的设置v如果用于希望修改自己的登录环境,可以通过修改系统用户的作业环境来控制。用户登录系统后可以使用不同的Shell,不同的Shell对作业环境进行控制所采取的文件不太一样。这里以系统默认的ShellBash Shell为例来说明对用户环境的修改。v使用Bash Shell时,有如下几个文件和用户的作业环境有关:/etc/profile/etc/bashrc/etc/inputrc$HOME$/.bash_profile$HOME$/.bashrc$HOME$/.inputrc$HOME$/.bash_loginv其中$HOME$为环境变
23、量,表示登录用户个人主目录,如Alice的$HOME$为“/home/Alice”。v前面三个文件和系统所有的用户有关,影响所有登录的用户,后面四个文件和某个特定登录的用户有关,如果只想改变某个单一用户的登录环境,就要更改这几个文件。这些文件均采用Shell语言编写。关于Shell编程,我们后面章节将会介绍。Linux 组管理组管理v在在 Linux Linux 中,使用组来赋予用户访问文件的不同中,使用组来赋予用户访问文件的不同权限。组的划分可以采用多种标准,一个用户可权限。组的划分可以采用多种标准,一个用户可同时包含在多个组内。同时包含在多个组内。FedoraFedora在安装中同样创建在
24、安装中同样创建了一些标准的用户组,在一般情况下,建议不要了一些标准的用户组,在一般情况下,建议不要对这些用户组进行删除和修改,除非完全明白它对这些用户组进行删除和修改,除非完全明白它们的用途和意义。们的用途和意义。vLinux Linux 的组有私有组、系统组和标准组之分。的组有私有组、系统组和标准组之分。v(1)(1)私有组私有组:建立账户时,若没有指定账户所属:建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个的组,系统会建立一个和用户名相同的组,这个组就是私有组,它只容纳了一个用户。组就是私有组,它只容纳了一个用户。v(2)(2)标准组标准组:可以容纳多个用户,组中
25、的用户都:可以容纳多个用户,组中的用户都具有组所拥有的权利。具有组所拥有的权利。v(3)(3)系统组系统组:Linux Linux 系统自动建立的组。系统自动建立的组。组文件组文件vLinux 系统关于组的信息存放在文件/etc/group 和/etc/gshadow 中。/etc/group /etc/groupv组帐号文件/etc/group存储与组相关的信息。以下是一个组文件示例:rootCandy#cat/etc/group rootCandy#cat/etc/grouproot:x:0:rootbin:x:1:root,bin,daemonBob:x:500:Alice:x:501:
26、student:x:551:v与passwd 文件记录类似,组账号文件的每一行由4 个字段的数据组成,字段之间用“:”v分隔,其格式如下:v组名称:组密码:GID:组包括的账号名称v其内容具体说明如下:组名称:就是组的名称。组密码:通常不需要设置,一般很少使用到组登录,同样密码也是被记录在/etc/gshadow 中;组 ID:就是所谓的 GID;组成员:组所包含的用户,用户之间用“,”分隔。v如果想要让Alice 也属于root这个组的话,修改group 文件,添加Alice到对应组名称后即可。v例如手动添加用户Alice到root组。rootCandy#cat/etc/group root
27、Candy#cat/etc/group root:x:0:root,Alice/etc/gshadowv组密码文件gshadow 与group 结构类似,但组密码不好管理,因此很少用。v命令行方式管理组 groupaddvgroupadd 命令用于将新组加入系统,命令的格式为:groupadd newgroup groupadd newgroupv新建的组默认使用大于500并大于每个其他组的 ID 的最小数值。如果要指定组的ID,可以在命令中加入 g 参数,如下面的命令将在/etc/passwd 文件中产生 GID 为503的项目:rootCandy#groupadd rootCandy#gr
28、oupadd g 503 newgroupg 503 newgroupv输入如下命令即可添加users 组 rootCandy#groupadd users rootCandy#groupadd usersv还可以通过手工编辑/etc/group 文件来完成组的添加。groupmodvgroupmod用于修改组属性。v(1)修改users 组的GID。rootCandy#groupmod rootCandy#groupmod g 1005 usersg 1005 usersv(2)修改users 组的组名为students。rootCandy#groupmod rootCandy#groupm
29、od n users studentsn users studentsgpasswdvgpasswd用于改变组中的成员用户或改变组的密码,gpasswd 命令不仅可以修改组密码而且可以添加和删除组成员。v(1)修改users 组密码。rootCandy#gpasswd users rootCandy#gpasswd users Changing the password for group Alice New Password:Re-enter new password:v(2)添加Bob用户到Students组。rootCandy#gpasswd-a Bob Students rootCan
30、dy#gpasswd-a Bob Studentsv(3)从Students组删除Bob用户。rootCandy#gpasswd-d Bob Students rootCandy#gpasswd-d Bob Studentsgroupdelvgroupdel用于删除组。例如:rootCandy#groupdel Students rootCandy#groupdel Students图形环境用户与组管理图形环境用户与组管理v利用 Fedora 图形界面下提供的“用户和组群”管理工具,可以轻松的管理系统中的用户和用户组,包括完成新建、查看、管理帐号、密码、权限等所有操作。v查看用户和用户组v在G
31、NOME桌面环境下,执行“系统”|“管理”|“用户和组群”可打开“用户和群组”管理工具,如图4-1所示。也可以在终端的命令提示符下输入“system-config-userssystem-config-users”命令打开“用户和群组”管理工具。图4-1“用户和群组”管理工具添加新用户及修改用户属性添加新用户及修改用户属性v点击工具栏中的“添加新用户”按钮,出现“创建新用户”向导,如图4-3所示。图4-3 创建新用户添加组及修改组属性添加组及修改组属性v系统管理过程经常要建立新的组群,点击工具栏中的“添加组群”按钮,出现“创建新组群”对话框,如图4-5所示,创建一个名为“Students”的组
32、群。图4-5“创建新组群”对话框v在主界面的组列表中选中一个已存在的组群并双击鼠标左键,或按工具栏中的“属性”按钮,可以对组群名称、组用户成员等属性进行修改。Linux 权限控制机制权限控制机制vLinux 系统是多用户系统,能使不同的用户同时访问不同的文件,因此一定要有文件权限控制机制。Linux 系统的权限控制机制和Windows 系统的权限控制机制有着很大的差别。Linux 的文件或目录被一个用户拥有时,这个用户被称为文件的拥有者(或文件主),同时文件还被指定的用户组所拥有,这个用户组被称为文件所属组。一个用户可以是不同组的成员,这可以由管理员控制。文件的权限由权限标志来决定,权限标志决
33、定了文件的拥有者、文件的所属组、其他用户对文件访问的权限。v在多用户操作系统中,出于安全性的考虑,需要给每个文件和目录加上访问权限,严格地规定每个用户的权限。同时,用户可以为自己的文件赋予适当的权限,以保证他人不能修改和访问。改变文件主改变文件主vLinux 为每个文件都分配了一个文件所有者,称为文件主,对文件的控制取决于文件主或超级用户(root)。文件或目录的创建者对创建的文件或目录拥有特别使用权。文件的所有关系是可以改变的,chown 命令用来更改某个文件或目录的所有权。chown命令的语法格式是:chown chown 选项选项 用户或组用户或组 文件文件1 1 文件文件2 2 v用户
34、可以是用户名或用户ID。文件是以空格分开的要改变权限的文件列表,可以用通配符表示文件名。v例,将文件test.txt的所有者设为bob,所属组设为users,命令如下:rootCandy#chown bob:users test.txtrootCandy#chown bob:users test.txtrootCandy#ls-lrootCandy#ls-l-rw-rr 1 bob users 230 2008-02-10 11:39 test.txt改变用户组改变用户组v在 Linux 下,每个文件又同时属于一个用户组。当创建一个文件或目录,系统会赋予它一个用户组关系,用户组的所有成员都可以
35、使用此文件或目录。v文件用户组关系的标志是 GID。文件的 GID 只能由文件主或超级用户(root)来修改。chgrp 命令可以改变文件的 GID,其语法格式为:vchgrp 选项 group 文件名v其中 group 是用户组 ID。文件名是以空格分开的要改变属组的文件列表,它支持通配符。v例,将文件test.txt的所属组设为root。rootCandy#chgrp root test.txtrootCandy#chgrp root test.txtrootCandy#ls-lrootCandy#ls-l-rw-rr 1 bob root 230 2008-02-10 11:45 tes
36、t.txt文件权限设置文件权限设置vLinux 系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。访问权限规定三种不同类型的用户用户:文件主(owner)同组用户(group)可以访问系统的其他用户(others)v访问权限规定三种访问文件或目录的方式方式:读(r)写(w)可执行或查找(x)v当用 ls-l 命令或 l 命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。文件访问权限及含义文件访问权限及含义权限符号含义读r 只允许指定用户读其内容,而禁止对其做任何的更改操作。将所访问的文件的内容作为输入的命令都需要有读的权限。例如:cat
37、more等。写w 允许指定用户打开并修改文件。例如命令vi、cp 等。执行x 指定用户将该文件作为一个程序执行。目录访问权限的含义目录访问权限的含义 权限符号含义读r 可以列出存储在该目录下的文件,即读目录内容列表。这一权限允许 shell使用文件扩展名字符列出相匹配的文件名。写w 允许从目录中删除或添加新的文件,通常只有目录主才有写权限。执行x 允许在目录中查找,并能用 cd 命令将工作目录改到该目录。改变文件权限改变文件权限一、以符号模式改变权限一、以符号模式改变权限vchmod 用于改变文件或目录的访问权限,用户可以用它控制文件或目录的访问权限。只有文件主或超级用户 root 才有权用
38、 chmod 改变文件或目录的访问权限。vchmod 命令的语法为:chmod 选项 mode 文件名或目录vmode表示权限设定字串,格式为:ugoa+-=rwxXsS。详细说明见表4-6。改变文件权限改变文件权限mode的详细说明的详细说明Mode说明u是user的缩写,表示用户,即文件或目录的所有者g是group的缩写,表示同组用户,即与文件属主有相同组 ID 的所有用户o是others的缩写,表示其他用户a是all的缩写,表示所有用户。它是系统默认值+添加某个权限-取消某个权限=赋予给定权限并取消其他所有权限(如果有的话)r读w写x可执行X表示只有当该文件是个子目录或者文件已经被设定过
39、为可执行s表示SUID或GUID或粘贴位S表示SUID或GUID或粘贴位。但其位没有执行权限改变文件权限举例改变文件权限举例(1)rootCandy#chmod a+x test1 v表示即设定文件sort的属性为:文件属主(u)与文件属主同组用户(g)及其他用户都增加执行权限。(2)rootCandy#chmod ug+w,o-x textv表示设定文件text的属性为:文件属主(u)及文件属主同组用户(g)增加写权限,而其他用户(o)删除执行权限。(3)rootCandy#chmod u=rw,g=rw,o=r file1.logv表示file1.log的权限变为“rw-rw-r”,不论原
40、来的权限是什么,这表示拥有者对文件有读、写权限,所属组的用户对文件也有读、写的权限,而其他用户只有读的权限。(4)rootCandy#chmod ax mm.txt rootCandy#chmod x mm.txt rootCandy#chmod ugox mm.txtv以上这三个命令都是将文件mm.txt的执行权限删除,它设定的对象为所有使用者。以绝对方式改变权限以绝对方式改变权限v通常也可以用 chmod 命令配以不同类型的 key 直接设置权限。这时以数字代表不同的权限。这里 key 可以包括三个(或三个以上)的数字,每个数字表示对不同类型用户的权限。v数字表示的属性的含义:v0 表示禁
41、止该权限,1 表示可执行权限,2 表示可写权限,4 表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。通常,key 是以三位八进制数字出现的,第一位表示用户权限、第二位表示组权限,第三位表示其他用户权限。v例如,要使文件 myfile 的文件主和同组用户具有读写权限,但其他用户只可读,可以用以下命令指定权限:rootCandy#chmod 664 myfilerootCandy#chmod 664 myfile默认权限默认权限v默认情况下,系统将创建的普通文件的权限设置为“-rw-r-r”,即“644”,文件主对该文件可读可写(rw),而同组
42、用户和其他用户都只可读;对于可执行文件默认权限是“rwxr-xr-x”,即“755”,文件主对该文件可读可写可执行(rwx),而同组用户和其他用户都可读可执行(r-x);同样,在默认配置中,将每一个用户主目录的权限都设置为“drwx-”,即“700”,只有文件主对该目录可读、写和可查询(rwx),即用户不能读其他用户目录中的内容。很显然,系统中各种文件的权限设置对特定用户的数据安全有很大影响,但是要求用户逐一明确设置系统中每个文件的权限也是不现实的。因此,如果想改变这一默认值,可用umask命令,该命令可以为用户帐号中新文件的创建进行默认设置。具体地说,umask是用来设置权限掩码的,权限掩码
43、由3个数字组成,将现有的存取权限减掉掩码权限后,即可产生建立文件时默认的权限。例如,root的权限为777,若权限掩码设置为022,那么相减后可得755。v命令格式为:umask umask v因此,输入如下命令:rootCandy#umask 177rootCandy#umask 177v执行后,只有文件所有者具有读写文件的权限,其它用户不能访问该文件。这显然是一种非常安全的状态。sudo 工具的使用工具的使用vFedora 8系统不建议使用root 用户登录系统的,为了安全起见,一般也不希望以root 身份直接登录系统。若以普通用户登录系统,那么在进行系统安装配置或者系统升级时,这个时候常
44、要将一般使用者的身份变成 root 或者具有root 相应管理权限的用户。使用命令su可以直接将普通用户身份切换成root 用户,但是这个指令却需要root的密码。也就是说,如果要使用命令su 将用户切换成root,一般用户就必须要有 root 的密码;另一方面,对于多用户的操作系统,往往存在多用户同时管理一部主机的情况,如果都使用命令su 将用户切换成root,那么就有很多用户知道root的密码。很明显,这样对系统而言是不安全的。v在Linux 系统里,提供了一个特殊的工具sudo。sudo允许系统管理员让普通用户执行部分或者全部需要root 权限命令的工具。sudo 的特点的特点vsudo
45、具有如下特点:sudo 能够使用用户自己的密码而不是root 的密码执行管理工作。在Fedora系统中,当用户执行sudo 并且输入密码后,可以在15 分钟内再执行sudu 命令进行系统管理工作而不要输入密码。超时以后必须重新输入密码。sudo 为系统管理员提供配置文件,允许系统管理员集中管理用户的使用权限和使用的主机。该文件默认的存放位置是/etc/sudoers。sudo 可以提供日志,忠实地记录每个用户使用sudo 做了些什么,并且能将日志传到中心主机或日志服务器。使用使用sudov/etc/sudoers 文件v并不是所有普通用户都可以使用sudo 执行管理权限。普通用户是否可以使用s
46、udo 执行管理权限是通过/etc/sudoers 文件来设置的。以下是sudoers的实例:rootCandy#cat/etc/sudoersv使用sudo 工具v使用sudo 工具很简单,只要在要运行的命令前面加上“sudo”,然后再运行。sudo 会提示需要用户密码。如果认证通过,所要运行的程序就具有root 权限。AliceCandy$sudo mkdir class Password:实训四实训四 Linux 用户管理用户管理1.认识用户和组相关文件。2.在文本环境中管理用户与组。3.认识sudo 工具配置文件,添加sudo 用户。4.在图形环境中进行用户与组管理。5.权限控制命令的使用。






