目录
前言
上篇博客我们讲述了(3.文本编译器Vim),接下爱的本篇博客我们来讲述(4.用户用户账户及组账户管理)的相关知识点!那么废话不多说,直接上干货:
本章学习目标
-
熟悉账户管理相关文件的组成。
-
掌握用户账户管理命令。
-
掌握组账户管理命令。
-
了解图形界面下的账户管理程序。
-
了解root密码的重置方法。
Linux系统中每个登录的成员都要有一个用户账户。用户登录时必须输入正确的用户名和密码,才被允许进入系统。
1.用户分类
Linux中用户分成三类:超级用户、系统用户和普通用户,如图4-1所示
当账户被创建后,都会在/etc/passwd文件和/etc/shadow文件中增加相应账户的记录。对用户账户的设置和修改会直接改变这两个文件的内容。
2.用户账户文件
用户账户文件passwd位于/etc目录下,文件中的每一行对应一个用户账户,每个用户账户的信息包含7个字段,字段之间用冒号“:”隔开,文件内容如图4-2所示。
图4-2passwd文件
每个字段的含义如表4-1所示。
3.用户影子文件
账户影子文件shadow位于/etc目录下,用来存储关于账户密码的相关设置。文件中每一行对应一个用户账户的密码设置,每个账户的密码设置信息包含9个字段,字段之间用冒号“:”隔开,文件内容如图4-3所示。
每个字段的含义如表4-2所示。
4.用户账户管理命令
4.1.新增用户命令
格式:useradd [选项] <用户名>
useradd命令的选项如表4-3所示。
注意
由于新增用户还未设置密码,尚不能使用该用户的账号登录系统。
范例:
useradd mingming #以默认方式建立普通用户
useradd –u 1005 –g 1002 –G mingming –e 2024-08-01 tongtong
useradd –r –s /sbin/nologin mk #建立系统用户
上述示例的执行效果如图4-4所示。
4.2.修改密码命令
格式:passwd [选项] [用户名]
passwd命令的选项如表4-4所示。
范例:
passwd mingming #设置密码(密码规则)
passwd #修改当前用户密码
passwd -S mingming #查看密码状态
passwd -l mingming #锁定账户密码
passwd -u mingming #解锁账户密码
passwd -i 2 mingming #设置账户到期2天后失效
passwd -x 20 mingming #设置20天内必须修改密码
passwd -d mingming #删除账户密码
4.3.修改用户属性命令
格式:usermod [选项] <用户名>
usermod命令的选项如表4-5所示。
范例:
usermod –u 1010 tongtong #修改UID
usermod –l tong2 tongtong #修改用户名
usermod –d /home/tong2 tong2 #修改主目录
usermod –e 2024-8-21 tong2 #修改有效期
usermod –f 10 tong2 #设置密码过期后缓冲天数
4.4.删除用户命令
格式:userdel [选项] <用户名>
userdel命令的选项如表4-6所示。
范例:
userdel tong2 #仅删除用户
userdel –r mingming #删除用户及主目录等
5.组用户管理
设置组账户的主要目的是便于权限的统一组织和分配。需要注意:组账号不能登录计算机。
5.1.组账户分类
组账户按性质划分为:系统组和私有组。其区别如图4-5所示。
超级用户可以根据需要,建立组账户,向组中添加成员;另外,每当新建用户时,系统默认会创建一个和用户名完全相同的私有组。
5.2.组账户管理文件
组账户被创建后,会在/etc/group文件和/etc/gshadow文件中增加相应组账户的记录。对组账户的设置和修改会改变这两个文件的内容。文件中的每一行对应一个组账户,每个组账户包含4个字段,字段之间用冒号“:”隔开。
文件内容如图4-6所示。
字段的含义如图4-7所示。
5.3.组账户管理命令
5.3.1.新建组命令
格式:groupadd [选项] <组账户名>
groupadd命令的选项如表4-7所示。
范例:
groupadd AI24 #用系统默认设置建立普通用户组
groupadd –g 1020 AI25 #用指定GID建立普通用户组
groupadd –r AI26 #建立系统用户组
上述示例的执行效果如图4-8所示。
5.3.2.修改组属性命令
格式:groupmod [选项] <组账户名>
groupmod命令的选项如表4-8所示。
范例:
groupmod –g 1010 AI25 #把组账户AI25的GID设置为1010
groupmod –n CS24 AI24 #把组账户AI24的组名设置为CS24
上述命令的执行效果如图4-9所示。
5.3.3.删除组账户命令
格式:groupdel <组账户名>
范例:
groupdel CS24 #删除组账户。
执行效果如图4-10所示。
注意
被删除的组账号必须是存在的;如果组账户是某个用户的主组,则需要使用带f选项的命令,但不建议使用
5.3.4.修改组账户命令
格式:gpasswd [选项] <组账户名>
gpasswd命令的选项如表4-9所示。
范例:
gpasswd AI25 #给组账户AI25设置密码
gpasswd –A sjh AI25 #把sjh用户设置为AI25组的管理员
gpasswd –a lxn AI25 #添加lxn用户为AI25组的成员
gpasswd –d lxn AI25 #把lxn用户从AI25组中删除
6.账户相关的其他命令
6.1.id命令
使用id命令可以查看一个用户的UID(用户ID)和GID(组ID)。若查看当前用户的UID和GID,则不要输入用户名。
格式:id [选项] [用户名]
id命令的选项如表4-10所示。
范例:
id sjh #查看sjh用户的UID和所有GID,以及对应的用户名和组名
id -u sjh #查看sjh的UID
id -g sjh #查看sjh的GID
id -G sjh #查看sjh用户所属组的GID
id -nG sjh #查看sjh用户所属组的组名
上述示例的执行效果如图4-11所示。
6.2.whoami命令
whoami命令用于显示当前用户的用户名。
格式:whoami
执行效果如图4-12所示。
6.3.su命令
su命令用于切换用户身份,使当前用户暂时拥有目标用户的权限。su命令的格式和用法请参照图2-4中的介绍。但在openEuler(一个国产的操作系统)中,管理员用户可以执行su命令,而新创建的普通用户则不能执行,如图4-13所示。
原因在于,管理员用户被加入wheel组,而wheel组中的用户拥有运行所有命令的权限(包括执行su命令)。可以使用4.2.3节中的gpasswd命令把普通用户加入到wheel组,使普通用户也拥有执行su命令的权限,如图4-14所示。
6.4.newusers命令
newusers命令用于读取存储有用户名、明文密码等用户信息的文件,并使用此信息来更新一组现有用户或创建新用户。
格式:newusers [选项] <文件名>
newusers命令的选项如表4-11所示。
执行效果如图4-15所示。
如图4-15所示,newusers命令根据预设文件的内容一次创建了4个用户;密码的第一个字段是“6”,代表系统默认使用SHA512加密方法;因为本例中n_user.txt是在root用户的主目录/root下创建的,所以在此使用了相对路径。
6.5.chpasswd命令
chpasswd命令用于从系统的标准输入读入用户名和密码,并利用这些信息更新系统中已存在的用户的密码;也可以读取包含用户名和密码的文件,用chpasswd命令批量修改用户密码。
格式:chpasswd [选项]
chpasswd命令的选项如表4-12所示。
举例1:
echo s2023082201:AI_082201 | chpasswd -m #提供密码的格式必须为“用户名:密码”
执行结果如图4-16所示。
举例2:
chpasswd –m #批量修改多个用户的密码
执行结果如图4-17所示。
举例3:
cat n_pws.txt | chpasswd -c SHA256 #读取文件中的用户名和密码,批量修改用户密码
执行结果如图4-18所示。
注意
普通用户默认没有使用chpasswd的权限,但是可以通过sudo命令执行。获得执行sudo命令权限的方法请参考本小节关于su命令的介绍。
7.图形界面下的账户管理
在为OpenEuler安装ukui图形界面后,可以通过图形界面的账户管理程序进行基本的账户管理,如新建用户、修改账号密码、更改账户类型、删除用户等。
7.1.打开账户管理程序
在OpenEuler的图形界面中,通过逐步单击“开始菜单”→“设置”→“账户”,打开“账户信息”界面。
在该界面下可以进行添加用户、删除用户、修改密码、更改账户类型、设置用户组等操作,其效果与在字符界面中执行命令的效果一致。
7.2.新建用户
在图形界面下创建用户账户,相当于在字符界面下执行不带选项的useradd命令和passwd命令,即生成的用户ID、主目录、所属组、登录Shell等都是系统默认值。
7.3.修改密码
在“账户信息”窗口中,单击某个用户后面的“修改密码”将打开“修改密码”对话框,按系统提示完成密码的修改。
7.4.更改账户类型
在账户管理程序中,用户可以是“管理员用户”或“标准用户”。在“账户信息”窗口中,单击用户后面的“账户类型”将打开“用户类型”对话框,可根据需要更改账户类型。
7.5.删除用户
在“账户信息”窗口中,单击某个用户右侧最后的“删除”将打开一个删除方式选择对话框,可根据需要选择删除方式。
7.6.设置用户组
在账户管理程序中,还可以对用户组进行编辑、添加和删除。
注意
本节的所有操作之后都会弹出“授权”对话框,必须在输入root密码后单击“授权”按钮才能完成相关操作。
8.总结
以上便是本篇博客的主要内容,主要讲述了Linux操作系统 -----(4.用户账户及组账户管理)的相关内容,希望对大家有所帮助。(还有就是本篇博客主要使用了国产的OpenEuler作为例子,其他的操作系统和其操作大差不差,希望大家有所辨别,不要盲目的操作,要学会举一反三,灵活运用我们学习的相关内容)。相信大家会有所收获的,还有就是博主主要参考教材,没有充分的实践操作,希望大家可以实践的操作一下,只有自己操作过,我们才会真正的理解和明白知识点,才可以有一个深刻的记忆!后续博主会再接再厉,尽量全部实践一遍,谢谢大家的浏览,我们下一期博客再见!