云网牛站
所在位置:首页 > Linux培训 > Linux新人培训第三章:用户和组群管理

Linux新人培训第三章:用户和组群管理

2018-05-07 20:55:51作者:ywnz稿源:云网牛站

本章节主要内容为:用户和组群管理概述、命令行界面下的用户和组管理。

 

注:本Linux新人培训教程以中兴新支点服务器操作系统(CGSL)为例。

 

CGSL 是一个多用户的操作系统,用户和用户组的管理是系统管理员的重要工作之一。本章的内容包括如何在命令行界面下完成用户账号、工作组的建立和维护,并正确设置用户权限和安全性问题。

 

3.1.概述

在 CGSL 系统中,每个用户对应一个帐号。CGSL 安装完成后,系统本身已创建了一些特殊用户,它们具有特殊的意义,其中最重要的是超级用户,即 root。

超级用户承担了系统管理的一切任务,可以不受限制地进行任何操作,因此建议只有在完全必要的情况下才以 root 身份进行操作。

由超级用户创建允许登录系统的普通用户,一般超级用户也需要为自己建立一个用来处理一般事务的普通帐户。

下面是用户和组群管理的一些基本概念:

用户名:系统中用来标识用户的名称,可以是字母、数字组成的字符串,区分大小写。

用户标识 UID:系统中用来标识用户的数字。

用户主目录:系统为每个用户配置的单独使用环境,即用户登录系统后最初所在的目录,用户的文件都放置在此目录下。

登录 Shell:用户登录后启动以接收用户的输入并执行输入相应命令的程序,CGSL 系统中默认使用的 Shell 为/bin/bash。

用户组/组群:具有相似属性的多个用户被分配到一个组中。

组标识 GID:用来表示用户组的数字标识。

超级用户在系统中的用户 ID 和组 ID 都是 0。普通用户的用户 ID(UID)从 500 开始编号,并且默认属于与用户名同名的组。组 ID(GID)也从 500 开始编号。

3.1.1.用 su 命令改变身份

用户在系统使用过程中可以随时使用 su 命令来改变身份。例如,系统管理员在平时工作时可以用普通帐号登录,在需要进行系统维护时用 su 命令获得 root 权限,之后再用 su 回到原帐号。

su 的语法为:

#su [OPTION]… [-] [USER [ARG]…]

-,-l 选项:login 登录并改变到所切换的用户环境;

-c 选项:commmand=COMMAND 执行一个命令,然后退出所切换到的用户环境;

USER:要切换到的用户名,如果不指定用户名,则默认将用户身份切换为 root ,系统会要求给出正确的口令。

提示:su 加参数“-”,表示默认切换到 root 用户,并且改变到 root 用户的环境,切换后的 Shell 为登录 Shell,在切换用户时,建议加此参数。

3.1.2.系统中的用户管理配置文件

/etc/passwd 文件

CGSL 系统中用于管理用户账号的基本文件是/etc/passwd ,该文件中包含了系统中所有用户的用户名和它们的相关信息。每个用户帐号在文件中对应一行,并且用冒号(:)分为七个域。每一行的形式如下:

用户名:加密口令标识位:用户 ID:组 ID:用户的全名或描述:登录目录:登录 Shell

下面是 root 用户在此文件中对应的行:

root:x:0:0:root:/root:/bin/bash

Linux 系统将每一个用户仅仅看成是一个数字,即用每个用户惟一的用户 ID 来识别,配置文件/etc/passwd 给出了系统用户 ID 与用户名之间及其他信息的对应关系。

/etc/group 文件

在 Linux 中,使用组来赋予用户访问文件的不同权限。组的划分可以采用多种标准,一个用户可同时包含在多个组内。管理用户组的基本文件是/etc/group,其中包含了系统中所有用户组的相关信息。每个用户组对应文件中的一行,并用冒号分成四个域。其中每一行的形式如下:

用户组名:加密组口令标识位:组 ID :组成员列表

下面是用户组 sys 在/etc/group 中对应的一行:

sys:x:3:root,bin,adm

代表的信息包括:系统中有一个称为 sys 的用户组,设有口令,组ID为 3,组中的成员有 root、bin、adm 三个用户。

CGSL 在安装中同样创建了一些标准的用户组,在一般情况下,建议您不要对这些用户组进行删除和修改,除非您完全明白它们的用途和意义。

/etc/skel 目录

一般来说,每个用户都有自己的主目录,用户成功登录后就处于自己的主目录下。主目录中存放有与用户相关的文件、命令和配置。当为新用户创建主目录时,系统会在新用户的主目录下建立一份/etc/skel 目录下所有文件的拷贝,用来初始化用户的主目录。

 

3.2.命令行界面下的用户和组管理

3.2.1.用户管理

3.2.1.1.添加新用户

在命令行下,超级用户 root 可以按照以下的步骤来创建新的用户帐号:

l、在 Shell 提示符下,运行命令 useradd 或 adduser 来增加一个用户。

如要在系统中加入一个名为 newuser 的新用户,可以使用以下的命令:

#useradd newuser

useradd 命令还有很多可选参数,用来设置新建用户的一些属性,详细的参数使用方法,请参考其 man page 。

2、为用户设置口令。

通过 passwd 命令可以完成为新建用户设立口令。例如,超级用户要设置或改变用户 newuser 的口令时,可使用命令:

#passwd newuser

系统会提示输入新的口令,新口令需要输入两次。出于安全的原因,键入口令时不会在屏幕上回显出来。当用户使用不带参数的 passwd 命令时,可以修改自己的口令。

useradd 命令的常用参数和选项如下表:

Linux新人培训第三章:用户和组群管理

表 3-1 useradd 命令

3.2.1.2.临时禁止一个用户

有时,需要临时禁止一个用户账号的使用而不是删除它。可以采用以下两种方法:

l、把用户的记录从/etc/passwd 文件中去掉,保留其主目录和其它文件不变;

2、在/etc/passwd 文件中关于该用户的 passwd 域的第一个字符前面加上一个“*”号。

3.2.1.3.删除用户

完全删除一个用户包括:

l、删除/etc/passwd 文件中此用户的记录;

2、删除/etc/group 文件中该用户的信息;

3、删除用户的主目录;

4、删除用户所创建的或属于此用户的文件。

userdel 命令可以用来删除用户及其主目录。命令的格式为:

#userdel [options] LOGIN

若使用 -r 选项,表示用户主目录及其内部的文件将被删除。

3.2.2.用户组管理

以下是用户组管理的几个常用命令。

3.2.2.1.建立组

groupadd 命令用于将新组加入系统,命令的格式为:

#groupadd newgroup

新建的组默认使用大于 500 并大于每个其他组的 ID 的最小值。如果要指定组的 ID,可以在命令中加入 -g 参数,如下面的命令将在/etc/passwd 文件中产生 GID 为 503 的项目:

#groupadd -g 503 newgroup

groupadd 常用参数和选项如下表:

Linux新人培训第三章:用户和组群管理

表 3-2 groupadd 参数和选项

3.2.2.2.在组中加入用户

在组中加入用户的方法是直接编辑/etc/group 文件。前面讲过,这个文件的每一行表示一个组的信息,其中第四个域代表组内用户的列表。例如:user、user2、user3 都属于组 groupl,其组的 ID 为 509,则组的信息就是:

groupl::509:userl,user2,user3

要将新用户加入组中,只需用在文件编辑器中编辑/etc/group 文件,并将用户名加入用户列表中,用逗号分隔开即可。

3.2.2.3.删除组

使用 groupdel 命令来删除组。命令的格式如下:

#groupdel <groupname>

有几点需要注意:

1、组中的文件不能自行删除,也不能自行改变所属的组;

2、如果组是用户的基本组(即/etc/passwd 文件中对应用户的组标识),则这个组无法删除。

 

相关主题

用户和工作组管理

精选文章
热门文章