Linux的用户账户和组账户管理

1 前言

Linux使用用户权限机制对系统进行管理,这种管理主要是包括创建或删除用户、修改用户属性、添加或删除组、修改组成员和设置登录属性等,它的主要功能在于提供不同用户使用本系统的权限分配。通过这种管理来保证用户数据与文件的安全。
Linux系统中每个登录的成员都要有一个用户账号。用户登录时必须输入用户名和口令,只有该用户名、口令验证正确时,用户才能被允许进入Linux系统。账户实质上就是一个用户在系统上的标识,系统依据账户来区分每个用户的文件、进程、任务,给每个用户提供特定的工作环境。

2 Linux的用户分类

Linux中有三类用户:超级用户、系统用户和普通用户。

超级用户(root用户):每个Linux系统都必须有,并且只有一个。它拥有最高的权限,可以删除、终止任何程序。在安装时必须为root用户设置口令。另外,通常为减少风险要避免普通用户得到root用户权限。UID(UserID)值为0。

系统用户:是与系统运行和系统提供的服务密切相关的用户,通常在安装相关的软件包时自动创建并保持默认状态。系统用户不能登录计算机,UID值1——999。

普通用户:是在系统安装后由超级用户创建的,通常完成指定权限的操作,而且也只能操作自己所拥有权限的文件和目录,UID值1000——65535。

3 用户账户管理

3.1 用户账户管理文件

1、用户账户文件:/etc/passwd
组成:

  • 用户名:在系统中是唯一的,可由字母、数字和符号组成。
  • 口令:此字段用“x”代替,口令保存在/etc/shadow文件中。
  • 用户ID(UID):系统内部用它来标识用户且唯一。
  • 组ID(GID):系统内部用它来标识组属性。
  • 用户相关信息:例如用户全名等。
  • 用户主目录:用户登录系统后所进入的目录。
  • 用户登录环境:用户第一次登录shell环境。

超级用户:UID=0,GID=0;
普通用户:UID≥1000;
系统用户:0<UID<1000。

2、用户影子文件:/etc/shadow

  • 用户名:用户登录到系统时使用的名字,而且是惟一的。
  • 口令:存放MD5加密过的口令。
  • 标识从1970年1月1日到用户最近一次修改口令所经过的天数。
  • 口令保持有效的最小天数,即口令在多少天内不能被用户修改。
  • 口令在多少天后需要被修改。
  • 口令到期前多少天内给用户发出警告。
  • 口令过期多少天后口令失效。
  • 帐号失效日。
  • 保留域。

注意:/etc/shadow文件只有root才有权限进行修改,普通用户不能读取该文件。

3.2 用户管理命令

(1)who i am
查看当前用户的名称。
在这里插入图片描述
(2)id
格式:id【选项】<用户名>
功能:查看用户的UID和GID。

选项功能
-g显示用户的主组的GID
-G显示用户所有的组的GID
-u只显示UID

在这里插入图片描述
(3)useradd
格式:useradd【选项】<用户名>
功能:新建用户(只有超级用户有使用此命令的权限)。

选项功能
-u用户ID指定用户UID
-g组ID或组名指定新用户的主组
G组ID或组名指定新用户的附加组
-s登录shell指定新用户使用的shell,默认为/bin/bash
-c备注为账户加上备注
-d主目录指定新用户的主目录
-e有效期限指定用户的登录失效时间,如:10/10/2020
-f缓冲天数设置在密码过期后多少天关闭该账户
-m默认主目录自动创建与用户名同名目录
-n取消建立以用户名称为名的组
-r建立系统账号

在这里插入图片描述
用户创建之后使用 cat /etc/passwd 查看,下图中可见新建用户。
在这里插入图片描述
(4)passwd
格式: passwd 【选项】<用户名>
功能:设置、修改用户的口令以及口令的属性。
在useradd创建新的用户之后还没有设置密码,不能使用该用户的账号登录系统。

选项功能
-d删除用户的口令,则该用户账号无需口令即可登录
-l锁住口令
-u恢复禁用用户账号
-S显示指定用户账号状态
选项功能
-x时间段+用户名设置口令过期时间

注意:系统管理员可以设置所有用户的密码,普通用户只能修改自己的密码。
在这里插入图片描述

在这里插入图片描述
(5)usermod
格式:usermod【选项】<用户名>
功能:修改用户的属性信息(只有超级用户才可以使用该命令)。

选项功能
-g组ID或组名指定新用户的主组
-G组ID或组名指定新用户的附加组
-d主目录指定新用户的主目录
-s登录shell指定新用户使用的shell,默认为bash
-e有效期限指定用户的登录失效时间
-u用户ID指定用户UID
-c全名指定用户全称
-f缓冲天数指定口令过期后多久将关闭此账号
-l用户名指定用户的新名称
-L用户名锁定用户密码,使密码无效
-U用户名解除密码锁定

在这里插入图片描述
注意:usermod命令与useradd命令的区别在于 usermod命令可以修改用户名且在禁用和恢复账号功能上,命令usermod不等同于 passwd。

(6)userdel
格式:userdel【选项】<用户名>
功能:删除指定的用户账号(只有超级用户才能使用该命令)。

选项功能
-f强制删除用户登录目录及目录中的所有文件
-r用于删除用户的Home目录和邮件

注意:正在使用系统的用户不能被删除,必须先终止该用户的所有进程才能删除该用户。

除以上列出的命令还有成批添加用户:newusers,成批修改口令:chpasswd等用户管理命令。

4 组账户管理

组是具有相同特性的用户集合。对组操作等价于对组中每个成员进行操作,组中的每个用户可共享组中的资源。组账号不能登录计算机,其设置的目的主要是便于权限的统一组织和分配。

组按性质划分为:系统组和私有组账户。

4.1 组账户管理文件

组账户文件:/etc/group

  • 组名:用户登录时所在的组名称环境。
  • 组口令:默认情况下不使用,必须经过特殊设置。
  • 组ID(GID):识别不同组的唯一标识。
  • 组内用户列表:属于该组的所有用户名列表,用“,”间隔。

组影子文件:/etc/gshadow

  • 组名
  • 组口令
  • 组管理员
  • 组内用户列表

4.2 组管理命令

(1)groupadd
格式:groupadd【选项】<组账号名>
功能:新建组群(只有超级用户才能使用此命令)。
该指令的执行将在/etc/group文件和/etc/gshadow文件中分别增加一行记录。

选项功能
-g用于指定GID
-r用于创建系统组账号(GID小于1000)

在这里插入图片描述
在这里插入图片描述
(2)gpasswd
格式:gpasswd【选项】<用户名><组账号名>

选项功能
-a添加组成员
-A添加组管理员
-d将用户从组中删除

在这里插入图片描述
(2)groupmod
格式:groupmod【选项】<组账号名>
功能:修改指定组群(只有超级用户才能使用此命令)。
该指令的执行将修改 /etc/group文件相应记录的内容。

选项功能
-g改变组账号的GID,组账号名保持不变
-n改变组账号名

在这里插入图片描述
(3)groupdel
格式:groupdel <组账号名>
功能:删除指定组群(只有超级用户才能使用此命令)。
注意:被删除的组账号必须存在;当有用户使用组账号作为私有组时不能删除;与用户名同名的私有组账号在使用userdel命令删除用户时被同时删除。在这里插入图片描述
通过cat /etc/group命令查看,删除的组账户已经不存在了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值