《Linux用户与组管理.ppt》由会员分享,可在线阅读,更多相关《Linux用户与组管理.ppt(10页珍藏版)》请在金锄头文库上搜索。
1、第第14章章 Linux用户与组管理用户与组管理 Linux操作系操作系统中,用中,用户是活是活动的主体,可以直接操作和的主体,可以直接操作和控制系控制系统文件以及文件以及资源。因此,管理好系源。因此,管理好系统中的用中的用户成成为系系统管理管理员保保证系系统安全必安全必须认真完成的首要工作。真完成的首要工作。在在Linux操作系操作系统中,任意一个文件和程序都中,任意一个文件和程序都归属于一个属于一个特定的特定的“用用户”。任意一个用。任意一个用户都由一个惟一的身份来都由一个惟一的身份来标识,这个个标识就叫做用就叫做用户ID(UID)。并且,系)。并且,系统中的任意一个用中的任意一个用户也至
2、少需要属于一个也至少需要属于一个“用用户分分组”。用。用户分分组同同样是由一个惟一是由一个惟一的身份来的身份来标识的,的,该标识叫做用叫做用户分分组ID(GID)。用)。用户可以可以同同时在多个用在多个用户分分组下,一个正在运行中的程序下,一个正在运行中的程序继承了承了调用它用它的用的用户的的权利和利和访问权限。限。14.1 用户文件和组文件在在Linux操作系统中,采用了操作系统中,采用了UNIX的方法,把全部的的方法,把全部的用户信息保存为普通的文本文件。用户可以修改这些文件来用户信息保存为普通的文本文件。用户可以修改这些文件来管理用户和组。本节将对这些文件的结构进行详细地介绍。管理用户和
3、组。本节将对这些文件的结构进行详细地介绍。14.1.1 用户账户文件passwd/etc/passwd文件是文件是Linux系系统下起安全作用的文件之一。下起安全作用的文件之一。这个文件的主要个文件的主要功能是校功能是校验用用户的登的登录名、加密的口令数据名、加密的口令数据项、用、用户ID(UID)、默)、默认的用的用户分分组ID(GID)、用)、用户信息、用信息、用户登登录子目子目录以及登以及登录后使用的后使用的shell。这个文件的每一个文件的每一行保存一个用行保存一个用户的的资料,而用料,而用户资料的每一个数据料的每一个数据项采用冒号采用冒号“:”分隔。如下所示:分隔。如下所示:LOGN
4、AME:PASSWORD:UID:GID:USERINFO:HOME:SHELL在上面的信息行中,每行的前面两项是登录名和加密后的口令,后面两项是在上面的信息行中,每行的前面两项是登录名和加密后的口令,后面两项是UID和和GID。后面的一项是系统管理员写入的该用户的信息,最后两项是两个路径。后面的一项是系统管理员写入的该用户的信息,最后两项是两个路径名:一个是分配给用户的名:一个是分配给用户的HOME目录,另一个是用户登录后将执行的目录,另一个是用户登录后将执行的shell(若为(若为空格则默认为空格则默认为/bin/sh)。下面是一个实际的系统用户的例子:)。下面是一个实际的系统用户的例子:
5、smartchen:x:500:500:smartchen:/home/smartchen:/bin/bash该用户的基本信息为:该用户的基本信息为:登录名:登录名:smartchen;加密的口令表示:加密的口令表示:x; UID:500;GID:500;用户信息:用户信息:smartchen;HOME目录:目录:/home/Smartchen;登录后执行的登录后执行的shell:/bin/bash。14.1.2 用户影子文件shadow在前面小节中已经介绍过,在前面小节中已经介绍过,Linux使用不可逆的加密算法来加密口令,黑客使用不可逆的加密算法来加密口令,黑客无法直接得到明文。但是,无法
6、直接得到明文。但是,/etc/passwd文件是全局可读的,如果恶意用户获取了文件是全局可读的,如果恶意用户获取了/etc/passwd文件,便极有可能破解口令。而且,现在黑客对账号文件进行字典攻文件,便极有可能破解口令。而且,现在黑客对账号文件进行字典攻击的成功率越来越高,速度越来越快。因此,针对这种安全问题,击的成功率越来越高,速度越来越快。因此,针对这种安全问题,Linux广泛采用广泛采用了了“shadow(影子)文件(影子)文件”机制,将加密的口令转移到机制,将加密的口令转移到/etc/shadow文件里,这个文件里,这个文件只为文件只为root超级用户可读。同时,超级用户可读。同时,
7、/etc/passwd文件的密文域显示为一个文件的密文域显示为一个x,从而,从而最大限度地减少了密文泄露的机会。最大限度地减少了密文泄露的机会。/etc/shadow文件的每行有文件的每行有9个数据项,每个数据项用冒号隔开,格式如下:个数据项,每个数据项用冒号隔开,格式如下:username:passwd:lastchg:min:max:warn:inactive:expire:flag上面各选项的含义分别如下:上面各选项的含义分别如下:username:用:用户的登的登录名;名;passwd:加密的用:加密的用户口令;口令;lastchg:表示从:表示从1970年年1月月1日起到上次修改口令
8、所日起到上次修改口令所经过的天数;的天数;min:表示两次修改口令之:表示两次修改口令之间至少至少经过的天数;的天数;max:表示口令:表示口令还会有效的最大天数,如果是会有效的最大天数,如果是99999则表示永不表示永不过期;期;warn :表示口令失效前多少天内系:表示口令失效前多少天内系统向用向用户发出警告;出警告;inactive:表示禁止登:表示禁止登录前用前用户名名还有效的天数;有效的天数;expire:表示用:表示用户被禁止登被禁止登录的的时间;flag:保留域,:保留域,暂未使用。未使用。14.1.3 用户组账号文件/etc/group在在Linux中,中,/etc/passw
9、d文件中包含着每个用户默认的分组文件中包含着每个用户默认的分组ID(GID)信息。而在)信息。而在/etc/group文件中,这个文件中,这个GID被映射到该用被映射到该用户分组的名称以及同一分组中的其他成员中去。户分组的名称以及同一分组中的其他成员中去。/etc/group文件含有关于小组的信息,文件含有关于小组的信息,/etc/passwd中的每中的每个个GID在文件中都有相应的入口项。在入口项中,列出了小组名和在文件中都有相应的入口项。在入口项中,列出了小组名和小组中的用户。小组中的用户。/etc/group文件中控制了小组的许可权限,但是,文件中控制了小组的许可权限,但是,这并不是必须
10、的。因为系统用这并不是必须的。因为系统用UID、GID来决定文件存取权限,即来决定文件存取权限,即使使/etc/group文件不存在于系统中,具有相同的文件不存在于系统中,具有相同的GID用户也可以用用户也可以用小组的存取许可权限共享文件。如果小组的存取许可权限共享文件。如果/etc/group文件入口项的第文件入口项的第二个域为非空(通常用二个域为非空(通常用x表示),则将被认为是加密口令。表示),则将被认为是加密口令。/etc/group文件中每一行的内容如下所示:文件中每一行的内容如下所示:用户分组名。用户分组名。加过密的用户分组口令。加过密的用户分组口令。用户分组用户分组ID号(号(G
11、ID)。)。以逗号分隔的成员用户清单。以逗号分隔的成员用户清单。14.1.4 组账号文件/etc/gshadow组账号文件的主要功能是为了加强组口令的安全性。所组账号文件的主要功能是为了加强组口令的安全性。所采取的安全机制是,将组口令与组的其他信息相分离。其具采取的安全机制是,将组口令与组的其他信息相分离。其具体的格式如下所示:体的格式如下所示:用户组名用户组名加密的组口令加密的组口令组成员列表组成员列表14.1.5 使用pwck和grpck命令验证用户和组文件从前面的内容中可以看出,用户以及组账号文件在从前面的内容中可以看出,用户以及组账号文件在Linux系统中都系统中都是非常重要的文件。对
12、于系统验证用户和组具有重要意义。一旦上述文件是非常重要的文件。对于系统验证用户和组具有重要意义。一旦上述文件发生错误,将会对系统造成很大影响。因此,发生错误,将会对系统造成很大影响。因此,Linux系统提供了系统提供了pwck和和grpck这两个命令来分别验证用户以及组文件,从而保证这两个文件的一这两个命令来分别验证用户以及组文件,从而保证这两个文件的一致性和正确性。致性和正确性。pwck命令的主要作用是验证用户账号文件(命令的主要作用是验证用户账号文件(/etc/passwd)和影子)和影子文件(文件(/etc/shadow)的一致性。它验证文件各个数据项中每个域的格式)的一致性。它验证文件
13、各个数据项中每个域的格式以及其数据的正确性。当遇到错误信息,该命令将会提示用户对出现错误以及其数据的正确性。当遇到错误信息,该命令将会提示用户对出现错误的数据项进行删除。的数据项进行删除。pwck命令主要验证每个数据项是否含有下列信息:命令主要验证每个数据项是否含有下列信息:正确的域数目;正确的域数目;惟一的用户名;惟一的用户名;合法的用户和组标识;合法的用户和组标识;合法的主要组群;合法的主要组群;合法的主目录;合法的主目录;合法的登录合法的登录shell。14.2 管理用户和用户组在在Linux中,用户可以使用图形用户界面方式来管理用中,用户可以使用图形用户界面方式来管理用户和用户组。这种
14、管理方式简单、直观,用户比较容易掌握,户和用户组。这种管理方式简单、直观,用户比较容易掌握,下面将对该方式进行详细地介绍。下面将对该方式进行详细地介绍。在在Linux系统中,有两种方法可以启动系统中,有两种方法可以启动Red Hat的用户的用户管理器(管理器(Red Hat User Manager)。第一种是通过在)。第一种是通过在shell下使用下使用redhat-config-users命令来启动,如下命令所示:命令来启动,如下命令所示:#redhat-config-users14.3 命令行界面下的用户和组管理前面讲述了在前面讲述了在Linux系统中,用户和组管理需要用到的系统中,用户
15、和组管理需要用到的比较重要的几个文件。这些文件包含了用户和组的所有重要比较重要的几个文件。这些文件包含了用户和组的所有重要信息。下面将介绍如何通过命令行方式来进行用户和组的管信息。下面将介绍如何通过命令行方式来进行用户和组的管理操作。理操作。14.3.1 使用useradd命令添加用户14.3.2 使用usermod命令修改用户信息14.3.3 使用userdel命令删除用户14.3.4 使用groupadd命令创建用户组14.3.5 使用groupmod命令修改用户组属性14.3.6 使用groupdel命令删除用户组14.4 小结本章介绍了如何对用户及用户组文件进行管理与验证。本章介绍了如何对用户及用户组文件进行管理与验证。如何利用图形化工具如何利用图形化工具rfuser和在命令行界面下完成用户账号、和在命令行界面下完成用户账号、工作组的建立和维护,并正确设置用户权限和安全性问题。工作组的建立和维护,并正确设置用户权限和安全性问题。通过本章内容可以看出利用图形配置工具通过本章内容可以看出利用图形配置工具rfuser与使用命令与使用命令进行用户进行用户/用户组管理完成的是同样的工作。不同之处在于用户组管理完成的是同样的工作。不同之处在于图形工具的操作界面友好直观,用户也不必去记忆大量的命图形工具的操作界面友好直观,用户也不必去记忆大量的命令和参数。令和参数。