【Linux】用户和组的管理

目录

 

前言

一、用户和组群文件

1、用户和组群概述

2、用户和组群配置文件

用户帐户文件:

组群文件:

/etc/login.defs文件

二、用户账户的创建和管理

1、新建用户

useradd或者adduser命令

2、设置用户口令

passwd命令

chage命令

3、用户帐户维护

修改用户帐户

禁用和恢复用户帐户

 删除用户帐户

三、组群管理

1、维护组群账户

2、为组群添加用户

四、使用用户管理器管理用户和组群

用户管理器

新建用户

修改用户属性

组群管理

五、常用的账户管理命令

vipw

vigr

 pwck

grpck

 id

 finger

chfn案例

 chsh案例

 whoami案例

 su案例

 newgrp案例

总结


前言

1、Linux操作系统是否允许多个用户同时登录到系统,使用系统资源?

回答:是的,Linux是一个多用户多任务的操作系统

2、Windows系统下,是如何区分不同的用户,如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添加到组中,通过规范组的权限来规范用户的权限。


Linux操作系统是一个多用户多任务的操作系统,允许多个用户同时登录到系统,使用系统资源。为了使所有用户的工作顺利进行,保护每个用户的文件和进程,规范每个用户的权限,需要区分不同的用户,就产生了用户帐户和组群。

一、用户和组群文件

1、用户和组群概述

用户帐户是用户的身份标识,用户通过用户帐户可以登录到系统,并且访问已经被授权的资源。系统依据账户来区分属于每个用户的文件、进程、任务,并给每个用户提供特定的工作环境,使每个用户的工作都能各自独立不受干扰地工作。

Linux系统下的用户帐户分为两种:

普通用户帐户

超级用户帐户(root):又称为根用户或管理员账户,可以对普通用户和整个系统进行管理。

组群是具有相同特性的用户的逻辑集合,使用组群有利于系统管理员按照用户的特性组织和管理用户,提高工作效率。

在为资源授权时可以把权限赋予某个组群,组群中的成员即可自动获得这种权限。

一个用户账户至少属于一个用户组,当是多个组群的成员时,其中某个组群是该用户的主组群(私有组群),其他组群是该用户的附属组群(标准组群)。

用户名

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

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示足群的数字标识符

每一个用户都有一个唯一的身份标识,称为用户ID(UID);每一个用户组也有一个唯一的身份标识,称为用户组ID(GID)。

root用户的UID为0。

普通用户的UID可以在创建时由管理员指定,如果不指定,用户的UID默认从500开始顺序编号。

2、用户和组群配置文件

用户帐户文件:

/etc/passwd文件:用户帐户信息

Vi   /etc/passwd;每行用“:”分隔为7个域

用户名、加密口令、UID、GID、用户描述信息、主目录、命令解释器

代表无登录权限

/etc/shadow文件:用户口令

所有用户对passwd文件均可读取,只有root用户对shadow文件可读,因此密码存放在shadow文件中更安全

组群文件:

/etc/group文件:组群帐户信息

用户的组账户的信息存放在group文件中,任何用户都可以读取,用“:”分隔为4个域。

组群名称、组群口令(一般为空)、GID、组群成员列表

用户的主组群并不把该用户作为成员列出

/etc/gshadow文件:组群口令、管理员等管理信息

gshadow文件用于存放组群的加密口令、组管理员等信息,只有root用户可读,用“:”分隔成4个域

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某些选项。

用户邮箱目录

用户密码最长有效天数、用户密码最短有效天数、用户密码的最小长度、用户密码过期前提前警告的天数

自动产生的最小UID、自动产生的最大UID

自动产生的最小GID、自动产生的最大GID

如果定义,则表示“删除用户时,同时删除用户的相关作业”

创建用户账户时为用户创建目录

二、用户账户的创建和管理

1、新建用户

useradd或者adduser命令

Useradd命令的格式是:  useradd  [选项]  

例如:创建ph用户

若新建用户已经存在

useradd命令的选项

-c comment      用户的注释性信息

-d home_dir     指定用户的主目录

-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD

-f inactive_days 设置帐户过期多少天后,用户帐户被禁用

-u  UID               指定用户的UID

-g initial_group   用户所属主组群的组群名称或者GID

-G group-list       用户所属的附属组群列表

-m             若用户主目录不存在则创建它

-M             不要创建用户主目录

-n              不要为用户创建用户私人组群

-p              passwd  加密的口令

-r              创建UID小于500的不带主目录的系统帐号

-s  shell   指定用户的登录Shell,默认为/bin/bash

新建用户案例

题目:新建用户user1,UID为510,指定其所属的私有组为mlx(mlx组的标识符为500),用户的主目录为/home/user1,用户的Shell为/bin/bash,用户的密码为123456,帐户永不过期。

2、设置用户口令

新建用户后,要为用户设置口令,未设置口令的用户不能登陆系统,如:

【Linux】用户和组的管理_第1张图片

指定和修改用户帐户口令:passwd

修改用户帐户口令:chage

passwd命令

超级用户可以为自己和其他用户设置口令,而普通用户只能为自己设置口令

格式:passwd  [选项] 〈username〉

 passwd命令的选项

-l      锁定(停用)用户帐

-u    口令解锁

-d    将用户口令设置为空,这与未设置口令的帐户不同。未设置口令的帐户无法登录系统,而口令为空的帐户可以。

-f      强迫用户下次登录时必须修改口令

-n     指定口令的最短存活期

-x     指定口令的最长存活期

-w     口令要到期前提前警告的天数

-I      口令过期后多少天停用帐户

-S     显示帐户口令的简短状态信息

passwd命令案例

案例:假设当前用户为root,则下面的两个命令分别为:root用户修改自己的口令和root用户修改user1用户的口令。

root用户修改自己的口令

【Linux】用户和组的管理_第2张图片

普通用户修改口令时,passwd命令会首先询问原来的口令,只有验证通过才可以修改。

如:

【Linux】用户和组的管理_第3张图片

chage命令

格式:chage  [选项] 〈username〉

选项:

    -l     列出帐户口令属性的各个数值

   -m     指定口令最短存活期

   -M     指定口令最长存活期

   -W    口令要到期前提前警告的天数

    -I     口令过期后多少天停用帐户

    -E      用户帐户到期作废的日期

    -d      设置口令上一次修改的日期

chage命令案例

案例:设置user1用户的最短口令存活期为6天,最长口令存活期为60天,口令到期前5天提醒用户修改口令。

设置完成后查看各属性值

【Linux】用户和组的管理_第4张图片

3、用户帐户维护

修改用户帐户

命令:usermod

格式:usermod  [选项] 〈username〉

例:修改用户user1的主目录为/var/user1,把启动Shell修改为/bin/tcsh

查看修改后的结果

禁用和恢复用户帐户

禁用和恢复用户帐户的实现方法:

passwd命令

禁用user1帐户

【Linux】用户和组的管理_第5张图片

查看(被锁定的用户密码栏前面会加上!)

恢复user1帐户(解除锁定)

【Linux】用户和组的管理_第6张图片

usermod命令

禁用user1用户帐户

解除user1用户锁定

直接修改/etc/passwd或/etc/shadow文件

可将/etc/passwd文件或/etc/shadow文件中关于user1帐户的passwd域的第一个字符前面加上一个“*”,达到禁用帐户的目的,在需要恢复的时候只要删除字符“*”即可。

如果只是禁止用户帐户登录系统,可以将其启动Shell设置为/bin/false或者/dev/null。

 删除用户帐户

直接编辑/etc/passwd和/etc/shadow文件,删除用户所对应的行

用userdel命令删除

  格式:userdel [-r]

   案例:删除用户user1,保留用户主目录

三、组群管理

1、维护组群账户

 创建组群的命令:groupadd或addgroup

 案例:      创建一个新的组群,组群名称为testgroup

 

修改组群的命令:       groupmod  [选项] 〈groupname〉

修改组群命令的参数:

    -g    gid    把组群的GID改成gid

    -n    group-name    把组群的名称改为name

    -o    强制接受更改的组的GID为重复的号码

 修改组群 修改gid:

【Linux】用户和组的管理_第7张图片

修改组群名称:

【Linux】用户和组的管理_第8张图片

 删除组群的命令:groupdel

例:删除grouptest组群

在Red Hat中使用不带任何参数的useradd命令创建用户时,会同时创建一个和用户帐户同名的组群,称为主组群。

当一个组群中必须包含多个用户时则需要使用附属组群。

在附属组中增加、删除用户都用gpasswd命令,该命令只有root用户和组管理员才能够使用。

2、为组群添加用户

gpasswd命令

gpasswd命令的格式 :    gpasswd [选项] [用户] [组]

gpasswd命令的选项:

-a  把用户加入组

-d  把用户从组中删除

-r   取消组的密码

-A  给组指派管理员

为组群添加用户- 案例

案例:新建组群testgroup,把ph用户加入testgroup组,并指派ph为管理员 。

【Linux】用户和组的管理_第9张图片

四、使用用户管理器管理用户和组群

用户管理器

【Linux】用户和组的管理_第10张图片

【Linux】用户和组的管理_第11张图片

新建用户

【Linux】用户和组的管理_第12张图片

修改用户属性

【Linux】用户和组的管理_第13张图片

组群管理

【Linux】用户和组的管理_第14张图片

【Linux】用户和组的管理_第15张图片

五、常用的账户管理命令

vipw

命令格式:[root@RHEL4 ~]# vipw

功能:用于直接对用户帐户文件/etc/passwd进行编辑,使用的默认编辑器是vi。

特点:在功能上等同于“vi  /etc/passwd”命令,但比vi更安全,因为在对/etc/passwd文件进行编辑时将自动锁定该文件,编辑结束后对该文件进行解锁,保证了文件的一致性。

vigr

命令格式:[root@RHEL4 ~]# vigr

功能:用于直接对组群文件/etc/group进行编辑,使用的默认编辑器是vi。

特点:在功能上等同于“vi  /etc/group”命令,但比vi更安全,因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑结束后对该文件进行解锁,保证了文件的一致性。

 pwck

命令格式:[root@RHEL4 ~]#pwck

功能:用于验证用户帐户文件认证信息的完整性,检测/etc/passwd文件和/etc/shadow文件的每行中字段的格式和值是否正确。

grpck

命令格式: [root@RHEL4 ~]#grpck

功能:用于验证组群文件认证信息的完整性,检测/etc/group文件和/etc/gshadow文件的每行中字段的格式和值是否正确。

 id

命令格式:id  [选项] 〈username〉

功能:查看用户UID和GID以及用户所属的组列表

选项:

-g:只显示用户的组的GID

-G:只显示用户的附属组的GID

-u:只显示UID

 id案例

案例:查看当前用户的UID、GID信息及用户所属组列表

【Linux】用户和组的管理_第16张图片

案例:查看ph用户的UID、GID信息及所属组

【Linux】用户和组的管理_第17张图片

 finger

命令格式:finger [选项] 〈username〉

功能:查看用户的相关信息,包括用户的主目录、启动Shell、用户名、地址、电话等存放在/etc/passwd文件中的记录信息

选项:

    -l   以长格形式显示,是默认选项    

    -s  以短格形式显示

finger案例

案例:查看当前用户的信息

【Linux】用户和组的管理_第18张图片

 案例:查看用户ph的信息

【Linux】用户和组的管理_第19张图片

chfn案例

功能:修改用户的办公地址、办公电话和住宅电话等

案例:

【Linux】用户和组的管理_第20张图片

 

【Linux】用户和组的管理_第21张图片

 chsh案例

功能:修改用户的启动Shell

实例:

【Linux】用户和组的管理_第22张图片

 whoami案例

功能:显示当前用户的名称

实例:

 su案例

功能:转换当前用户到指定的用户帐户

实例:

【Linux】用户和组的管理_第23张图片

su命令不指定用户名时将从当前用户转换为root用户,但需要输入root用户的口令。

 newgrp案例

功能:转换用户的当前组到指定的主组群

实例:

【Linux】用户和组的管理_第24张图片

总结

1.新建用户账户并设置账户密码

2.锁定用户,解除锁定

3.新建组群并设置组群口令

4.为用户和组群改名,修改用户口令

5.为组群添加用户

6.删除用户口令和组群

 

你可能感兴趣的:(Linux)