欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux基础之用户和用户组管理

程序员文章站 2022-04-26 10:00:30
...

 

linux是目前流行的操作系统,与windows操作系统相比,更加适合于服务器领域,今天,我们就来介绍下,linux如何对用户、用户组及其密码管理。

Linux系统属于多用户、多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份登入系统。

用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问
还可以帮助用户组织文件,并为用户提供安全性保护
每个用户账号都拥有一个惟一的用户名(UID)和各自的密码
用户在登录时输入正确的用户名和密码后,才能够登入系统
用户账号的添加 useradd、删除 userdel 、修改 usermod 
用户组的添加 groupadd 、删除 groupdel、修改 groupmod、 
显示每个输入的用户名所在的全部组 groups 添加删除组里的成员 gpasswd
查看、添加、删除组里的成员 groupmems
用户密码的管理 passwd

系统用户管理:

在系统中添加一个新用户,然后为新用户分配用户号(UID)、用户组(GID)、主目录(HOME_DIR)和登录Shell等资源。

useradd命令说明:

Linux基础之用户和用户组管理

参数说明:

Linux基础之用户和用户组管理

使用实例|:

Linux基础之用户和用户组管理

创建用户test,采用/etc/login.defs文件的默认参数:

MAIL_DIR    /var/spool/mail           #用户默认邮箱目录                      
PASS_MAX_DAYS   99999              #密码最长过期时间
PASS_MIN_DAYS   0                      #密码最短过期时间
PASS_MIN_LEN    5                       #密码最小长度
PASS_WARN_AGE   7                   #密码过期提前提醒时间
UID_MIN                  1000               #普通用户UID最小值
UID_MAX                 60000             #普通用户UID最大值
SYS_UID_MIN               201           #系统用户UID最小值
SYS_UID_MAX               999          #系统用户UID最大值
GID_MIN                  100                #普通组GID最小值
GID_MAX                 60000            #普通组GID最大值
SYS_GID_MIN               201          #系统组GID最小值
SYS_GID_MAX               999         #系统组GID最大值
CREATE_HOME    yes                  #默认创建用户家目录
UMASK           077                        #默认用户家目录权限 drwx------ 2 test  test   62 10月  9 11:10 test
USERGROUPS_ENAB yes           #默认创建同用户名称的用户组
ENCRYPT_METHOD SHA512       #密码加密方式为SHA512

Linux基础之用户和用户组管理

新建一个用户:test1,该用户属于系统用户,UID为210,忽略/etc/login.defs文件的默认设定:创建一个密码不会过期的系统账户,即使系统账户没有密码。它属于1007用户组,同时又属于1006组,不创建同名test1组,登录Shell是 /usr/bin/nologin,家目录/tmp/test1。

注意指定要加入的组必须事先存在!

 

修改用户帐号

修改用户账号就是更改用户的相关属性,如用户号(UIG)、家目录(HOME_DIR)、用户组(GROUP)、登录Shell等。

usermod命令说明:

Linux基础之用户和用户组管理

常用的选项:

Linux基础之用户和用户组管理

使用实例:

Linux基础之用户和用户组管理

修改test1用户的UID号为300,更换属主组为1004,添加附加组1005,移动家目录到/home/test1,修改登录SHELL为/uer/bin/bash.

 

删除用户帐号

userdel命令说明:

Linux基础之用户和用户组管理

常用的选项:

Linux基础之用户和用户组管理

使用实例:

Linux基础之用户和用户组管理

Linux基础之用户和用户组管理

Linux基础之用户和用户组管理

删除用户test1,邮箱以及删除用户的家目录。

 

用户密码的管理

用户管理的一项重要内容是用户密码的管理。用户账号刚创建时没有密码,但是被系统锁定,无法使用,必须为其指定密码后才可以使用,即使是指定空密码。

passwd命令说明:

Linux基础之用户和用户组管理

可使用的选项:

Linux基础之用户和用户组管理

如果当前用户是普通用户,则修改该用户自己的密码,需要提供当前用户使用的密码,否则不能修改:

 

如果是超级用户(root),可以修改任何用户的密码,不需要知道用户的原密码:

 

推荐使用--stdin参数来设置密码

Linux基础之用户和用户组管理

 

用户组的管理

 

查看、添加、删除组里的成员 groupmems
用户组的添加 groupadd 、删除 groupdel、修改 groupmod
显示每个输入的用户名所在的全部组 groups
添加删除组里的成员 gpasswd

查看组里的所有成员

groupmems命令说明:

Linux基础之用户和用户组管理

使用实例:

Linux基础之用户和用户组管理

查看普通组bash里的成员

Linux基础之用户和用户组管理

将用户添加、删除操作

groupadd命令说明:

Linux基础之用户和用户组管理

可以使用的选项有:

Linux基础之用户和用户组管理

使用实例:

Linux基础之用户和用户组管理

添加一个普通组onegrp,GID为系统默认顺延1008。

Linux基础之用户和用户组管理

在系统中添加了一个新组mygrp,为系统组,指定GID为220

修改用户组的属性

groupmod命令说明:

Linux基础之用户和用户组管理

常用的选项有:

Linux基础之用户和用户组管理

使用实例:

Linux基础之用户和用户组管理

更改组onegrp的名称为twogrp,GID更改为350

 

添加、删除组里的成员

gpasswd命令说明:

Linux基础之用户和用户组管理

常用选项有:

Linux基础之用户和用户组管理

使用实例:

Linux基础之用户和用户组管理

将普通用户test添加到系统组mygrp

Linux基础之用户和用户组管理

将普通用户test从系统组mygrp中删除

删除用户组

groupdel命令说明:

Linux基础之用户和用户组管理

使用实例:

Linux基础之用户和用户组管理

从系统中删除组twogrp