1、管理用户和组账号
1.1、用户
1.1.1、用户的概念及作用
在Linux系统中,用户(User)指的是可以访问系统资源的个体实体。每个用户都有一个唯一的用户账号,用于标识和管理其在系统中的活动和访问权限。
用户的重要性和功能:
身份认证和访问控制:
用户账号用于身份认证,确保只有授权的用户可以访问系统资源和执行特定操作。
每个用户账号都有唯一的用户名和关联的密码(或其他身份验证方式),用于登录和验证身份。
权限管理:
用户账号决定了用户对系统资源的访问权限。Linux系统通过用户和组的权限管理机制来控制文件、目录、设备等资源的访问权限。
进程和资源管理:
每个用户登录后,可以启动自己的进程并管理系统资源,如CPU、内存、磁盘空间等。
操作系统可以根据用户账号进行资源的分配和管理,确保不同用户之间的资源隔离和公平分配。
用户类型:
在Linux系统中,有几种不同类型的用户:
超级用户(root): 具有系统管理员权限的特殊用户,可以访问和修改系统的所有部分,对系统有最高级别的控制权。
普通用户: 一般用户,可以访问系统中特定的文件和资源,但没有修改系统关键部分的权限。
服务用户: 用于运行特定服务或应用程序的用户,通常具有有限的权限,专门用于服务的安全运行和访问控制。
1.1.2、用户账号管理
Linux 用户账号管理涉及创建、修改、删除用户账号以及管理其属性和权限。这些任务通常由系统管理员或具有 root 权限的用户执行。以下是详细的解释和步骤:
创建用户账号
在Linux系统中,可以使用 useradd 命令来创建新的用户账号。语法如下:
useradd [选项] 用户名
常用选项包括:
-m:创建用户时同时创建用户的家目录。
-s shell:指定用户登录时使用的 shell。
-g group:指定用户的主组。
-G groups:指定用户的附加组。
例如,创建一个名为 newuser 的用户:
useradd -m -s /bin/bash newuser
设置用户密码
创建用户后,需要设置用户的登录密码。可以使用 passwd 命令来为用户设置密码:
passwd 用户名
例如,为 newuser 设置密码:
passwd newuser
修改用户账号
可以使用 usermod 命令来修改现有用户账号的属性。例如,修改用户的登录名、主组、附加组等:
usermod [选项] 用户名
常用选项包括:
-l 新用户名:修改用户的登录名。
-g 新主组:修改用户的主组。
-aG 附加组:添加用户到一个或多个附加组。
例如,将 newuser 的登录名改为 newname:
usermod -l newname newuser
删除用户账号
要删除用户账号及其相关文件,可以使用 userdel 命令。删除用户账号时,可以选择是否删除用户的家目录和邮箱文件等。语法如下:
userdel [选项] 用户名
常用选项包括:
-r:删除用户的家目录及其内容。
-f:强制删除,即使用户当前登录或有进程运行。
例如,删除名为 olduser 的用户及其家目录:
userdel -r olduser
切换用户和权限管理
使用 su 命令可以切换到其他用户的身份,通常是超级用户(root),需要输入相应用户的密码。
su - 用户名
使用 sudo 命令可以以超级用户的身份执行特定命令,需要配置 /etc/sudoers 文件以授权用户执行特定命令的权限。
查看和管理用户信息
使用 id 命令可以查看用户的 UID(用户标识)、GID(组标识)以及附加组信息。
id 用户名
使用 groups 命令可以查看用户所属的所有组。
groups 用户名
使用 chage 命令可以管理用户的密码过期信息,设置密码策略等。
1.2、组账号
1.2.1、组账号的概念及作用
在Linux系统中,组账号(Group)是用来管理和组织用户的集合。每个用户可以属于一个主组(Primary Group)和多个附加组(Supplementary Groups)。组账号本身也有唯一的组名和组ID(GID),用于标识和区分不同的组。
用户与组的关系
每个用户可以通过组账号来定义其所属的主组和附加组。
主组是用户在创建文件和目录时默认所属的组,而附加组是用户可以访问和共享的其他组。
作用:
权限管理:
组账号在Linux文件系统中用于定义文件和目录的所属组,并通过设置组的权限来控制用户对这些文件和目录的访问权限。
每个文件和目录都有一个所有者(owner)和一个所属组(group