Linux用户和组的添加和删除 您所在的位置:网站首页 linux用户组可以设置密码吗 Linux用户和组的添加和删除

Linux用户和组的添加和删除

2023-03-16 20:21| 来源: 网络整理| 查看: 265

用户和组

账户管理是管理员工作中相当重要的一环,并且所有一般用户的账户申请,都必须需要管理员的协助才可以,所以必须了解下如何管理好一个服务器主机账户。

使用者标识符

当我们输入id命令时,我们会看到关于用户的相关信息

[root@localhost home]# id user01 uid=7792(user01) gid=7792(user01) 组=7792(user01)

那么输入的这一行都代表了什么意思呢

uid:user idgid:group id

这两个信息可以帮助我们知道此用户对应的账户和属组,第三个组可以帮我们设置附加组

那么当我们登录Linux时候,系统是如何确认我们身份的呢?

首先当需要我们输入账号密码用户得到账户密码信息后会先去/etc/passwd文件下查找是否有对应的账户,然后在/etc/shado对照密码是否正确如果一切正确,就进入shell的管控阶段

这里面有两个非常重要的文件:/etc/passwd和/etc/shadow

那么让我们来查看一下这两个文件

/etc/passwd [root@localhost home]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin ... huangjiu:x:1000:1000::/home/huangjiu:/bin/bash liqiang:x:1001:1001::/home/liqiang:/bin/bash

其中各代表的意思是

huangjiu❌1000:1000: :/home/huangjiu:/bin/bash

1 2 3 4 5 6 7

字段1 用户账号名称

字段2 用户密码字串或者密码占位符

字段3 用户账号的UID号

字段4 所属基本组账号的GID号

字段5 用户描述信息

字段6 家目录 默认用户的家目录都在home目录下 与用户同名

字段7 登录shell信息

/etc/shadow [root@localhost home]# cat /etc/shadow root:$6$pJFBnoJ/4CPj9o36$XgDKAYgD0ukVAZaoRBmD1BgWNG2r.wAx/o3SFQlmbzu4U2WkybhcUgsE6aifnc7SoXfKuzsq23UkLjj0TglBS1::0:99999:7::: bin:*:18353:0:99999:7::: daemon:*:18353:0:99999:7::: adm:*:18353:0:99999:7::: ... huangjiu:$6$n3SWSLZq$U1JoWAeL5Ab9iL5Us/fM8DEzvrUayrMvLXhEzhI85x1EU9.NEA2X8lHzSW4YxzmHFPglfMoQ3tYwfi2Zn7PcX0:19408:0:99999:7:::

以:作为分隔符算一个字段

账户名称,用来与 /etc/passwd 中账户名称对应

密码:经过加密的密码

最近修改密码的日期:记录了修改密码的那一天的日期

密码不可被修改的天数:与第 3 个字段相比

密码需要重新修改的天数:与第 3 个字段相比

也就是该密码在最近修改之后,生效的天数,99999=273 年,也大概标识不限制了

密码需要变更期限前的警告天数:与第 5 个字段相比

在到期前 n 天,系统发出警告给该账户,告诉你该账户还有 n 天密码过期了,请尽快修改该密码。如上面的例子为 7 天,则到期之前 7 天内,系统会警告该用户

密码过期后的账户宽限时间:与第 5 个字段相比

当密码过期几天后,那么再登录系统则完全无法登录了

账户失效日期

与第 3 个字段一样,使用的是 1970 年以来的总数日设置的。表示该账户在此规定的日期之后,将无法再使用。这就是账户失效,而无论密码是否有过期,该账户都无法使用

该字段一般会用在收费服务的系统中,规定一个日期让该账户无法使用

保留:保留字段,防止以后有新功能的加入

shadow中的密文是经过加密的,获取shadow的加密机制,可以通过以下指令

[root@study ~]# authconfig --test | grep hashing password hashing algorithm is sha512 # 密码加密算法为 sha512 忘记密码怎么办 一般用户密码忘记:找系统管理员帮忙,可以以 root 身份使用 passwd 指令来处理,而不需要旧密码root 密码忘记:这个就麻烦了,只有通过各种手段进入 Linux 再去修改 /etc/shadow 文件,比如 重启进入单人维护模式,系统会主动的给予 root 权限的 bash 接口,此时再用 passwd 修改密码即可使用 Live CD 开机后挂载根目录去修改 /etc/shadow 文件,将 root 的密码字段清空,再登录时就相当于不要密码了

上面介绍了关于用户的两个文件,那么接下来介绍群组的有关文件

/etc/group [root@localhost home]# cat /etc/group root:x:0: bin:x:1: daemon:x:2: sys:x:3:

共 4 个字段

组名:与第三字段 GID 对应

群组密码

通常不需要设置,如果非要设置,该配置也移动到 /etc/gshadow 文件中了。目前很少有机会设置群组管理员

GID:与 /etc/passwd 中第 4 个字段对应

此群组支持的账户名称

一个账户可以加入多个群组,某个账户加入此群组时,将该账户填入该字段即可,比如 mrcode 与 changsha 加入 root 群组,该字段内容为 mrcode,changsha,整行数据为 root:x:0:mrcode,changsha

前面我们使用id命令查看用户信息的时候,一个用户不仅有一个属组,他还会有一个附加属组,那么在工作过程中到底应该以哪一个为准呢?这就涉及到了一个有效群组的概念了

有效群组

每个使用者在 /etc/passwd 中的第 4 个字段是 GID,该 GID 则是初始群组,当用户登录系统,立刻就拥有该群组的相关权限。

[root@localhost home]# id user01 uid=7792(user01) gid=7792(user01) 组=7792(user01) #在这个例子中,user01属组就是随着user01用户一起建立的,而目前还没有给他添加附加组 [root@localhost home]# groupadd test [root@localhost home]# usermod -G test user01 [root@localhost home]# id user01 uid=7792(user01) gid=7792(user01) 组=7792(user01),7821(test) #此时我们user01用户就会有两个属组了 #此时我们登录user01用户查看 [root@localhost home]# su - user01 [user01@localhost ~]$ groups user01 test #此时输出的第一个属组就是有效属组

此时user01就可以拥有属组 user01和test两个数组的全部权限

一个用户可以所属多个附加组,但只能有一个初始组

新建用户和组 useradd useradd [-u UID] [-g 初始群组] [-G 次要群组] [-mM] [-c 说明栏] [-d 家目录绝对路径] [-s shell] 使用者账户 选项与参数: -u:UID 是一组数字。直接指定一个特定的 UID 给该账户 -g:字符串的初始组名,该字符串的 GID 在 /etc/passwd 的第 3 个字段内 -G:字符串的次要群组,该选项会修改 /etc/group 内的相关字段 -M:强制!不要建立用户家目录(系统账户默认值) -m:强制!要建立用户家目录(一般账户默认) -c:/etc/passwd 中第 5 字段的说明内容,可以随便设置 -d:指定某个目录成为家目录,请务必使用决定路径 -r:建立一个系统账户,该账户的 UID 有限制(参考 /etc/login.defs) -s:后面接一个 shell,若没有指定则预设是 /bin/bash -e:后面接一个日期,格式为 YYYY-MM-DD ,此项可写入 shadow 第 8 字段,即是账户失效日期 -f:后面接 shadow 的第 7 字段,该密码是否会失效。0 为立刻失效,-1 为永远不失效(密码只会过期而强制域登录时重新设置) 注意这里是没有密码配置的,密码的设置需要用到 passwd 指令

选项与参数:

-u:UID 是一组数字。直接指定一个特定的 UID 给该账户 -g:字符串的初始组名,该字符串的 GID 在 /etc/passwd 的第 3 个字段内 -G:字符串的次要群组,该选项会修改 /etc/group 内的相关字段 -M:强制!不要建立用户家目录(系统账户默认值) -m:强制!要建立用户家目录(一般账户默认) -c:/etc/passwd 中第 5 字段的说明内容,可以随便设置 -d:指定某个目录成为家目录,请务必使用绝对路径 -r:建立一个系统账户,该账户的 UID 有限制(参考 /etc/login.defs) -s:后面接一个 shell,若没有指定则预设是 /bin/bash -e:后面接一个日期,格式为 YYYY-MM-DD ,此项可写入 shadow 第 8 字段,即是账户失效日期 -f:后面接 shadow 的第 7 字段,该密码是否会失效。0 为立刻失效,-1 为永远不失效(密码只会过期而强制域登录时重新设置)

注意这里是没有密码配置的,密码的设置需要用到 passwd 指令

当我们使用useradd新建用户之后,CentOS会帮我们规定很多默认值

在 /etc/passwd 中创建一行与账户相关的数据,包括建立 UID、GID、家目录等在 /etc/shadow 中创建该账户的密码相关参数,但是无密码在 /etc/group 中创建一个与账户名同名的组名在 /home 下创建一个与账户同名的目录作为家的目录,且权限为 700

可通过useradd -D命令查看

[root@localhost home]# useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes passwd

设置密码

[root@localhost home]# passwd user01 更改用户 user01 的密码 。 新的 密码: 无效的密码: 密码少于 8 个字符 #这里我输入了一个12345 系统弹出一个警告,可以忽略,回车进入下一步 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。

另外还有一种设置密码的方式比较常用

[root@localhost home]# echo 1234566 |passwd user01 --stdin 更改用户 user01 的密码 。 passwd:所有的身份验证令牌已经成功更新。 #这种方式可以帮我们查看密码输入是否正确 chage

此命令可帮助我们了解更多关于密码的信息

chage [-ldEImMW] 账户名 选项与参数: -l: 列出该账户的详细密码参数 -d:后面接日期,修改 shadow 第 3 字段,最近一次修改密码的日期,格式为 YYYY-MM-DD -E:后面接日期,修改 shadow 第 8 字段,账户失效日,格式 YYYY-MM-DD -I:后面接天数,修改 shadow 第 7 字段,密码失效日期 -m:后面接天数,修改 shadow 第 4 字段,密码最短保留天数 -M:后面接天数,修改 shadow 第 5 字段,密码多久需要修改 -W:后面接天数,修改 shadow 第 6 字段,密码过期前警告天数 userdel

删除用户的相关数据,使用起来很简单了,用户数据有:

用户账户、密码相关参数:/etc/passwd 、/etc/shadow使用者群组相关参数:/etc/group、/etc/gshadow用户个人文件数据:/home/username、/var/spool/mail/username ... userdel [-r] username -r:连同用户的家目录也一起删除 [root@localhost home]# userdel -r user01 [root@localhost home]# id user01 id: user01: no such user find: ‘user01’: 没有那个文件或目录

但是需要注意的是:如果想要删除该用户相关的所有文件等数据,在该指令下达之前,使用 find / -user username 找出整个系统内属于 username 的文件,再加以删除。

groupadd

新建属组

group add [-g gid] [-r] 组名 选项与参数: -g:后面接某个特定的GID,用来指定 GID -r:建立系统群组。与 /etc/login.defs 内的 GID_MIN 有关 groupmod groupmod [-g gid] [-n group_name] 群组名 选项与参数: -g:修改现有的 GID 数字 -n:修改现有的组名 groupdel

删除群组

groupdel [groupname]

有时候我们删除属组的时候可能会遇到无法删除的情况,这是因为该属组正在被使用

如果非要删除,有两种方式

修改 mrcode1 的 GID删除 mrcode1 的使用者


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有