目录
一、用户与组概述
1.理解用户账户和组
- 用户账户是用户的身份标识。用户通过用户账户可以登录到系统,并且访问已经被授权的资源。
- Linux系统下的用户账户分为三种:普通用户账户、超级用户账户(root)、系统用户。
- 组是具有相同特性的用户的逻辑集合,在做资源授权时可以把权限赋予某个组,组中的成员即可自动获得这种权限。一个用户账户可以同时是多个组的成员,其中某个组是该用户的主组(私有组),其他组为该用户的附属组(标准组)。
2.Linux用户账户及其类型
3.超级用户权限
Linux的超级用户权限解决方案
- 许多系统配置和管理操作需要root权限。
- Linux提供了特殊机制,让普通用户临时具备root权限。
- 用户执行su命令将自己提升为root权限。
- 使用命令行工具sudo临时使用root身份运行程序,执行完毕后自动返回到普通用户状态。
Ubuntu的sudo命令
- 使用su命令临时改变用户身份
su [选项] [用户登录名]
- 临时改变用户身份示例
- sudo命令用于切换用户身份执行
sudo [选项] <命令> ...
- 切换身份示例
4.用户配置文件
用户账户配置文件 /etc/passwd
用户名:加密口令:UID:GID:用户描述信息:主目录:命令解释器
root:x:0:0:root:/root:/bin/bash
用户密码配置文件 /etc/shadow
账户名:密码:最近一次修改:最短有效期:最长有效期:过期前警告期:过期日期:禁用:保留
5.组配置文件
组账户的信息存放在 /etc/group文件中
组名称:组口令(一般为空,用x占位):GID:组成员列表
组账户密码配置文件 /etc/gshadow
组名称:加密后的组口令:组的管理员:组成员列表
二、管理用户和组
1.管理用户账户
新建用户账户
- 使用useradd或者adduser命令。
useradd命令的格式是:useradd [选项] <username>
adduser会自动处理一些细节(如创建主目录、设置密码等)
查看用户账户
在命令行中执行文件显示命令并通过管道操作使用grep命令来查找指定用户账户。
cat /etc/passwd | grep ahead (其中ahead为我的用户名)
使用文本分析工具awk查看全部用户列表。
awk -F':' '{ print $1}' /etc/passwd
使用文本分析工具awk查看普通用户列表。
awk -F':' '{ if ($3 >= 1000) print $1}' /etc/passwd
管理用户账户密码
使用passwd命令为用户设置密码(普通用户)
passwd [选项] [用户名] (如果不指定用户名,则默认为当前用户)
用户账户维护
(1)修改账户 usermod 命令用于修改已存在用户的属性
usermod [选项] 用户名
(2)禁用和恢复账户
①使用passwd命令(被锁定用户的密码必须是使用passwd命令生成的)
锁定用户:passwd -l username
解锁用户:passwd -u username
②使用usermod命令
锁定用户:usermod -L username
解锁用户:usermod -U username
删除用户账户
userdel [-r] 用户名
- 选项-r表示删除该账户的同时一并删除该账户对应的主目录和邮件目录。
- userdel不允许删除正在使用(已经登录)的用户账户。
2.管理组账户
创建组账户
使用Linux通用命令groupadd:
groupadd [选项] 组名
-g选项可自行指定组的GID。
修改组账户
groupmod [-g GID] [-n 新组名] 组名
删除组账户
groupdel 组名
查看组账户
- sudo cat /etc/group
- 显示系统中的所有用户组及其成员
- cut -d: -f1 /etc/group
- 只查看用户组的名称
查看组成员
- groups命令用于显示某用户所属的全部组。 若不指定用户名则显示当前用户的组信息。
groups 用户名
- 查看 /etc/group文件:
保存了系统中所有用户组的信息,包括组名、组ID以及组成员
管理组成员——gpasswd命令
添加用户到指定组:
gpasswd -a 用户名 组名
从指定组中删除用户:
gpasswd -d 用户名 组名
将多个用户添加为组成员:
gpasswd -M 用户名,用户名,... 组名
管理组成员
adduser命令:将用户添加到指定组
adduser 用户名 组名
deluser命令:用户从指定的组中删除
deluser 用户名 组名
总结
用户与组管理的博客中,我们深入探讨了Linux系统中用户与组的核心概念和管理技巧。首先,我们从基础出发,解释了用户账户和组的基本概念,为初学者构建了一个清晰的框架。接着,我们详细介绍了Linux用户账户的不同类型,包括普通用户和超级用户,以及超级用户所拥有的特殊权限,这对于理解系统权限管理至关重要。
此外,我们还深入讨论了用户配置文件和组配置文件,这些文件是定制用户环境和组权限的关键。在管理用户和组的部分,我们提供了实用的指导,包括如何管理用户账户和组账户,这些技能对于维护系统安全和效率至关重要。