文章目录


添加新用户:useradd​​​​设置用户密码:passwd​​​​查看登录用户简单信息:who​​​​查看登录用户详细信息:w​​​​删除用户:userdel​​​​修改用户:usermod​



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


用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。


每个用户账号都拥有一个唯一的用户名和各自的口令。


用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。


实现用户账号的管理,要完成的工作主要有如下几个方面:


  • 用户账号的添加、删除与修改。
  • 用户口令的管理。
  • 用户组的管理。

Linux系统用户账号的管理



添加新用户:useradd

语法:useradd [选项] [用户名]


  • -c comment 指定一段注释性描述。
  • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
  • -g 用户组 指定用户所属的用户组。
  • -G 用户组,用户组 指定用户所属的附加组。
  • -s Shell文件 指定用户的登录Shell。
  • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

Linux入坑笔记(四、Linux 用户和用户组管理)_用户名


设置用户密码:passwd

语法:passwd [选项] [用户名]


  • -l 锁定密码,即禁用账号。
  • -u 密码解锁。
  • -d 使账号无密码。
  • -f 强迫用户下次登录时修改密码。

Linux入坑笔记(四、Linux 用户和用户组管理)_用户名_02


查看登录用户简单信息:who

语法:who

Linux入坑笔记(四、Linux 用户和用户组管理)_字段_03


查看登录用户详细信息:w

语法:w

Linux入坑笔记(四、Linux 用户和用户组管理)_用户名_04

删除用户:userdel

语法:userdel [选项] [用户名]

  • -r:连用户的主目录一起删除

Linux入坑笔记(四、Linux 用户和用户组管理)_用户名_05

修改用户:usermod

语法:usermod [选项] [用户名]


  • -c comment 指定一段注释性描述。
  • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
  • -g 用户组 指定用户所属的用户组。
  • -G 用户组,用户组 指定用户所属的附加组。
  • -s Shell文件 指定用户的登录Shell。
  • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

Linux入坑笔记(四、Linux 用户和用户组管理)_用户名_06



Linux系统用户组的管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。


用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。



添加新的用户组:groupadd

语法:groupadd [选项] [用户组]


  • -g GID 指定新用户组的组标识号(GID)。
  • -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

Linux入坑笔记(四、Linux 用户和用户组管理)_用户名_07



删除用户组:groupdel

语法:groupdel [用户组]

Linux入坑笔记(四、Linux 用户和用户组管理)_字段_08


修改用户组的属性:groupmod

语法:groupmod [选项] [用户组]


  • -g GID 为用户组指定新的组标识号。
  • -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
  • -n新用户组 将用户组的名字改为新名字

Linux入坑笔记(四、Linux 用户和用户组管理)_用户名_09


用户组切换:newgrp

语法:newgrp [用户组]



Linux用户和用户组管理之相关配置文件

完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。

与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/shadow, /etc/group等。



用户信息文件:/etc/passwd

通过 vim /etc/passwd 命令,打开 passwd 文件:

Linux入坑笔记(四、Linux 用户和用户组管理)_用户组_10

以这一行为例:

Linux入坑笔记(四、Linux 用户和用户组管理)_用户组_11

上面的young用户通过 : 分隔为 7 个字段。



①、第一个字段:young 表示用户名称



②、第二个字段:x 表示密码标志,真正的密码是存储在 /etc/shadow 文件中。



③、第三个字段:UID,用户ID。
0:表示超级用户,权限最大的用户。
1-499:表示系统用户(伪用户),伪用户是系统用来启动相关服务和命令的,不能用来登录系统,而且不能删除,删除伪用户会造成一些命令不能使用。
500-65535:普通用户。Linux内核2.6以后是可以支持232个用户,基本上是不用担心用户不够的。



④、第四个字段:GID,用户初始组ID。这里需要理解初始组和用户组的概念,初始组就是指用户一登录就立刻拥有这个用户组的相关权限,每个用户的初始组只能有一个,一般就是和这个用户的用户组相同的组名作为这个用户的初始组。附加组值用户可以加入多个其他的用户组,并拥有这些组的权限,附加组可以有多个。



⑤、第五个字段:用户说明



⑥、第六个字段:home目录。
普通用户:/home/用户名/
超级用户:/root/



⑦、第七个字段:登录之后的 shell。




用户密码文件:/etc/shadow

通过 vim /etc/shadow 命令,打开 shadow文件:

Linux入坑笔记(四、Linux 用户和用户组管理)_字段_12

以第一行为例:

Linux入坑笔记(四、Linux 用户和用户组管理)_用户名_13

上面的root用户通过 : 分隔为 9 个字段。


  • ①、第一个字段:root 表示用户名
  • ②、第二个字段:root用户的登录加密密码。
    一、加密算法升级为 SHA512 散列加密算法
    二、如果密码位是“!!”或者“*”代表没有密码,不能登录,基本上伪用户都是没有密码的
  • ③、第三个字段:密码的最后一次修改日期。使用1970年1月1日作为标准时间,每过一天时间戳加1.
  • ④、第四个字段:两次密码的修改间隔时间(和第三字段相比)
  • ⑤、第五个字段:密码有效期(和第三字段相比)
  • ⑥、第六个字段:密码修改到期前的警告天数(和第五个字段进行比较)
  • ⑦、第七个字段:密码过期后的宽限天数(和第五个字段进行比较)
    0:代表密码过期后立即失效
    -1:代表密码永远不会失效
  • ⑧、第八个字段:账号失效时间(要用时间戳表示)
  • ⑨、第九个字段:保留字段


用户组信息文件:/etc/group

通过 vim /etc/group 命令,打开 group文件:

Linux入坑笔记(四、Linux 用户和用户组管理)_字段_14

一般创建一个用户,立即创建一个和用户名相同的用户组,以第一行 root 为例:

Linux入坑笔记(四、Linux 用户和用户组管理)_字段_15


  • ①、第一个字段:组名
  • ②、第二个字段:组密码标志,密码文件存放在 /etc/gshadow 中
  • ③、第三个字段:GID,组id
  • ④、第四个字段:组中的附加用户




参考:

【1】:​​菜鸟教程:https://www.runoob.com/linux/linux-user-manage.html​

【2】:《尚硅谷韩顺平Linux教程》

【3】:​​Linux系列教程(七)——Linux常用命令之帮助和用户管理命令​

【4】:​​Linux系列教程(十四)——Linux用户和用户组管理之相关配置文件​