一、用户管理
Linux 系统是一个多用户多任务的操作系统,每一个想要使用系统资源的用户,都需要向系统管理员申请一个账号,之后以这个账号身份进入系统。
1. 添加用户
语法:useradd 用户名、useradd - d 指定目录 用户名
添加用户成功后,会自动创建与该用户同名的主目录 /home/用户名,当使用该用户名登陆后会自动切换到此目录;也可以为新用户指定目录,命令为 useradd - d 指定的目录 用户名,
如下初始 /home 目录下只有用户 xiaoma,我们添加新用户 xiaowang;
2. 设置/修改用户密码
语法:passwd 用户名
设置账户 xiaoma 的密码;
密码设置后想要修改再次重复操作上述即可。
3. 删除用户
语法:userdel 用户名、userdel -r 用户名
如下删除用户 xiaowang,可以看到删除后该用户的主目录还是存在的,但此时已无法再用 xiaowang 的账号进行登录。
如果想要删除用户的同时删除该用户的主目录,使用命令 userdel -r 用户名,运行该命令后该用户的所有数据都将被删除(具体工作中慎重操作)。
4. 查询用户信息
语法:id 用户名
查询不存在的用户会返回“用户不存在”;
5. 切换用户
语法:su - 用户名
在我们登录 Linux 操作系统时应尽量少用 root 账号,因为它的权限过高可能出现较大失误,可以先登录普通用户账号,再使用命令 su - 用户名 切换成系统管理员身份。
如下为普通用户 xiaoma;
接下来将用户切换为 root;
从权限高的用户切换到权限低的用户,不需要密码,反之则需要;当想要返回原来用户时使用命令 exit/logout 即可。
6. 查看当前用户信息
语法:whoami / who am i
所查询的用户信息为最初登录 Linux 系统时的用户,就是说即使在操作过程中切换了用户,再次查询任然显示的是登录时的用户信息;
7. 用户组
用户组类似于角色,系统中可以对有共性(权限相同)的用户进行统一管理;
语法:
groupadd 组名 新增组
groupdel 组名 删除组
useradd -g 用户组 用户名 添加用户时直接加入用户组(添加用户时,如果没有指定组,则会默认创建一个与用户名同名的组并将该用户加入其中)
usermod -g 用户组 用户名 修改用户的组
如下创建用户 taiyuan 并加入新创建的组 shanxi;
修改用户 taiyuan 的组;
8. 注销用户
语法:logout
若切换账户后想要退回原来账户,使用注销命令 logout 注销当前账户即可;若在初始账户下再次注销则会直接退出 Linux 系统。
9. 用户和用户组的相关文件介绍
/etc/passwd 文件,用户的配置文件,记录用户信息(每行含义:用户名:口令:用户标识号:注释性描述:主目录:登录shell);
/etc/shadow 文件,口令的配置文件(每行含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志);
/etc/group 文件,组的配置文件,记录 Linux 中组的信息(每行含义:组名:口令:组标识号:组内用户列表);
查看文件内具体信息可使用命令 vim 文件 查看。
二、如何找回 root 密码(高频面试)
root 作为系统最高权限管理者,它的密码自然是至关重要的,那么 root 账户的密码应该怎么找回呢?步骤如下:
1. 启动 Linux 系统,待进入开机界面后按 “e” 进入编辑界面,注意此处要快,在系统进入登录页面之前进行操作;
2. 进入编辑界面后,找到以“Linux 16 ”开头的内容所在行,并在行最后输入 init=/bin/sh;
3. 输入完成后,按下 Ctrl+X 进入单用户模式,如下界面即为单用户模式;
4. 在光标闪烁的位置输入 mount -o remount,rw /,输入完成后回车;
5. 在新的行末输入 passwd 并回车,接下来输入密码、确认密码即可,修改密码成功后显示 passwd... 字样;
6. 接下来在新的行末输入 touch /.autorelabel,输入完成回车;
7. 新的行末继续输入 exec /sbin/init,完成后回车等待系统修改密码;
8. 耐心等待,系统自动重启后新的 root 密码即可生效。