Linux是一个多用户多任务的操作系统。
用户(user):
在Linux系统中,用户是一个拥有独立空间、权限和身份的实体。每个用户都有一个唯一的用户名和用户ID。用户可以登录到系统、读取、写入、执行文件,并按照预设的权限进行其他操作。在Linux中,用户的信息存储在
/etc/passwd
文件中。为了安全和管理的需要,每个用户都应该有其独特的身份和空间,这样他们可以在不干扰其他用户的情况下进行自己的工作。另外,每个用户都属于一个或多个用户组,通过这种归属关系,系统管理员可以更方便地管理和分配用户权限。当用户试图访问一个文件或目录时,系统会检查用户以及其所属的用户组的权限,以确定用户是否有权进行相应的操作。
用户组(group):
用户组是将具有相同属性或需求的用户汇聚在一起的集合。例如,当我们希望多个用户共享同样的访问权限,如查看或编辑某文件、或执行特定命令时,我们可以简单地将这些用户归入一个组。通过设定组权限来控制文件或目录的访问权,从而确保该组内的所有用户都具有统一的访问权限。这种权限设定是通过组的定义和文件权限的修改来完成的。
Linux 用户与用户组的关系:
(一)用户
常见操作:
操作 | 命令 | 含义 |
新增用户 | useradd luckyboy | 会创建同名的组和家目录 |
设置密码 | passwd luckyboy | 为用户设置密码 |
删除用户 | userdel -r luckyboy | 级联删除家目录和组 |
修改用户信息 | usermod -l luckyss luckyls | 修改用户名,But家目录和组名称是不会被修改的 |
usermod -L luckyss | 锁定用户名 | |
usermod -U luckyss | 解锁用户名 | |
常用文件 | cat /etc/shadow | 用户名和密码 |
cat /etc/passwd | 用户名,编号,组编号,家目录,命令,目录 6.5系统0-499 普通 500+ 7.6系统0-999 普通 1000+ | |
切换账户 | su luckyboy | 将当前账户换成其他账户 |
Linux系统的管理员之所以是root,是因为该用户的身份号码即 UID的数值为0,UID 就相当于我们的身份证号码一样具有唯一性,因此可通过用户的UID 值来判断用户身份。
管理员UID为0:系统的管理员用户。
系统用户UlD为1~999:Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围。
普通用户UID 从1000开始:是由管理员创建的用于日常工作的用户。 需要注意的是,UID是不能冲突的,而且管理员创建的普通用户的UID 默认是从1000开始的(即使前面有闲置的号码)。
添加用户
修改用户:
用户账号口令解锁:
passwd:
change:
要修改账户和密码的有效期,可以用change命令实现。
选项 | 说明 |
-l | 列出账户口令属性的各个数值 |
-m | 指定口令最短存活期 |
-M | 指定口令最长存活期 |
-W | 口令要到期提前警告的天数 |
-I(i的大写) | 口令过期后多少天停用账户 |
-E | 用户账户到期作废的日期 |
-d | 设置口令上一次修改的时间 |
删除用户:
(二)组
命令 | 含义 |
groupadd lucky | 创建组 |
groupdel lucky | 删除组 |
groupmod -n school lucky | 修改组名字 |
groups | 查看用户对应的组 |
groups schoolboy | 组当我们创建用户的时候,会默认创建一个同名的主组 |
usermod -g lucky schoolboy (主组) usermod -G lucky schoolls (附属组) | 修改用户的组 |
添加新组:
修改群组:
删除组:
要删除一个组可以使用groupdel命令,如删除刚创建的testgroup组,命令如下:
groupdel testgroup
(三)超级用户、伪用户
用户身份切换:
sudo命令具有如下功能:
限制用户执行指定的命令;
记录用户执行的每一条命令;
配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数;
验证密码的后5分钟内(默认值)无须再让用户再次验证密码。
常见的账户管理命令:
账户管理命令可以在非图形化操作中对账户进行有效管理。
vipw
vipw 命令用于直接对用户账户文件/etc/passwd进行编辑,使用的默认编辑器是vi。在对/etc/passwd文件进行编辑时将自动锁定该文件,编辑结束后对该文件进行解锁,保证了文件的一致性。vipw命令在功能上等同于“vi/etc/passwd”命令,但是比直接使用vi命令更安全。命令格式如下:[root@Server01~]#vipw
vigr
vigr 命令用于直接对组文件/etc/group进行编辑。在用vigr命令对/etc/group文件进行编辑时将自动锁定该文件,编辑结束后对该文件进行解锁,保证了文件的一致性。vigr命令在功能上等同于“vi/etc/group”命令,但是比直接使用vi命令更安全。命令格式如下:
[root@Server01]# vigr
pwck
pwck命令用于验证用户账户文件认证信息的完整性。该命令检测/etc/passwd文件和/etc/shadow 文件每行中字段的格式和值是否正确。命令格式如下:
[root@Server01 ~]#pwck
grpck
grpck命令用于验证组文件认证信息的完整性。该命令检测/etc/group文件和/etc/gshadow 文件每行中字段的格式和值是否正确。命令格式如下:
root@ServerO1~]# grpck
id
id命令用于显示一个用户的UID和GID以及用户所属的组列表。在命令行输入id后,直接按Enter 键将显示当前用户的ID信息。命令格式如下:
id[选项]用户名
newgrp
newgrp命令用于转换用户的当前组到指定的主组,对于没有设置组口令的组账户,只有组的成员才可以使用newgrp命令改变主组身份到该组。如果组设置了口令,其他组的用户只要拥有组口令也可以将主组身份改变到该组。
whoami
用于显示当前用户的名称,与“id -un”的作用相同。