Linux(二)Linux账号与权限管理 Linux账号与权限管理文章目录Linux账号与权限管理一、用户管理1.1 用户账号和组账号概述1.1.1 用户分类1.1.2 组账号分类1.1.3 UID和GID1.2 用户账号文件1.3 添加用户账号1.4 更改用户密码1.5 删除用户账号1.6 用户账号的初始配置文件二、组管理2.1 组账号文件2.2 添加组账号groupadd2.3 删除组账号groupdel三、查询账号信息3.1 groups命令3.2 id命令3.3 w、who、users四、su命令切换用户五、文件权限5.1 访问权限5.2 归属5.3 设置文件和目录的权限chmod5.3.1 设置文件权限时有两种方式5.3.2 设置文件和目录的归属chown六、提权权限6.1 sudo机制6.2 sudo命令6.3 用户组设置sudo提权总结一、用户管理1.1 用户账号和组账号概述1.1.1 用户分类1超级用户RootRoot用户是Linux系统中的管理账户该用户的UID和GID都是02普通用户普通用户账号需要由 root 或其他管理员用户创建权限有限。在CentOS 7 中普通用户的 UID 从 1000 开始直到系统允许的最大值。3程序用户程序用户是安装 Linux 操作系统和应用程序时创建的低权限用户这些用户不能登录系统它们主要是维持某个服务的正常运行。在CentOS 7中UID范围是1~999。1.1.2 组账号分类1基本组主组基本组是用户默认所属的组通常与用户名相同。在创建用户时系统会为用户自动创建同名的基本组。2附加组附加组是用户除了基本组之外可以加入的其他组。一个用户可以加入多个附加组。1.1.3 UID和GID1UID每个用户的身份标示,类似于每个人的身份证号码。系统通过 UID 来管理文件和权限。2GID 是每个用户组的唯一标识符。系统通过 GID 来控制对共享资源的访问权限。1.2 用户账号文件1/etc/passwd 文件记录每个用户的基本信息字段之间用冒号分隔。2各个字符解释root 用户名。x 密码占位符表示密码信息保存在 /etc/shadow 中。0 UIDroot 用户的 UID 是 0。0 GIDroot 用户的基本组的 GID 也是 0。root 用户描述。/root 宿主目录root 用户的默认工作目录。/bin/bash 登录 Shellroot 用户登录后使用的默认 Shell。查看每个用户的基本信息1.3 添加用户账号1添加用户账号常用的选项-u指定用户的 UID 号要求该 UID 号码未被其他用户使用。-d指定用户的宿主目录位置当与-M 一起使用时不生效。-e指定用户的账户失效时间可使用 YYYY-MM-DD 的日期格式。-g指定用户的基本组名或使用 GID 号。-G指定用户的附加组名或使用 GID 号。-M不建立宿主目录即使/etc/login.defs 系统配置中已设定要建立宿主目录。-s指定用户的登录Shell。2添加用户并查看添加的用户3创建一个辅助管理员账号 wj将其基本组指定为“wheel”附加组指定为“root”宿主目录指定为“/wj”1.4 更改用户密码1更改用户密码常用选项-d清空指定用户的密码仅使用用户名即可登录系统。-l锁定用户账户。-S查看用户账户的状态是否被锁定。-u解锁用户账户。2锁定账户需要root权限3解锁账户4面交换设置密码以及更换密码1.5 删除用户账号删除账户时要加选 -r 表示连用户的宿主目录一并删除1.6 用户账号的初始配置文件当使用 useradd 创建新用户时系统会从 /etc/skel/ 复制默认配置文件到新用户的家目录。常见的文件.bash_profile 登录时执行的命令。.bashrc 每次加载 bash 时执行包括登录。.bash_logout 用户退出登录时执行。如果希望为所有用户添加登录后自动运行的命令程 序、自动设置变量等可以直接修改/etc 目录下的类似文件。二、组管理2.1 组账号文件与组账号相关的配置文件有两个分别是/etc/group 和/etc/gshadow。前者用于保存组账号名称、GID 号、组成员等基本信息后者用于保存组账号的加密密码字串等信息。检索root 组包括哪些用户检索哪些组包括root 用户2.2 添加组账号groupadd添加组账号并查询结果2.3 删除组账号groupdel删除组账号并查询是否删除三、查询账号信息3.1 groups命令查询用户所属的组3.2 id命令查询用户身份标识3.3 w、who、usersw查看已经登录到主机的用户信息who查看已经登录到主机的用户信息users查看已经登录到主机的用户信息四、su命令切换用户用su切换用户处于root用户时切换任意用户不需要密码处于普通用户时切换其他用户需要目标用户的密码。处于root用户时切换任意用户处于普通用户时切换其他用户五、文件权限5.1 访问权限读取 r允许查看文件内容、显示目录列表 。用数字4表示。写入 w允许修改文件内容允许在目录中新建、移动、删除文件或子目录 。用数字2表示。可执行x允许运行程序、切换目录。用数字1表示。5.2 归属属主拥有该文件或目录的用户帐号属组拥有该文件或目录的组帐号5.3 设置文件和目录的权限chmod5.3.1 设置文件权限时有两种方式数字表 421字符 u 为用户 g 为组 o 为其他用户 a 是所有用户修改文件权限为755常用 -R 递归修改指定目录下所有子项的权限5.3.2 设置文件和目录的归属chown1常用命令chown 属主 文件或目录 root:rootchown :属组 文件或目录chown 属主:属组 文件或目录常用 -R 递归修改指定目录下所有文件、子目录的归属2修改文件的归属3修改目录的归属六、提权权限6.1 sudo机制sudo机制是 Linux/Unix 系统中的一种权限管理机制。它允许普通用户以超级管理员root或其他用户的身份执行命令无需切换到 root 用户。6.2 sudo命令-l 列出用户在主机上可用的和被禁止的命令配置好/etc/sudoers后要用这个命令来查看和测试配置是否正确-v 验证用户的时间戳用户运行sudo 后输入用户的密码在短时间内可以不用输入口令来直接进行sudo 操作用-v 可以跟踪最新的时间戳-u 指定以某个用户执行特定操作-k 删除时间戳下一个sudo 命令要求用求提供密码6.3 用户组设置sudo提权(1) wjk 用户可以使用useradd usermod步骤修改配置文件添加 wjk ALL(root) /usr/sbin/useradd,/usr/sbin/usermod切换目录并添加用户(2) 测试使用sudo 中的 useradd 命令是否需要输入密码如wjk ALL(root) NOPASSWD/usr/sbin/useradd,PASSWD/usr/sbin/usermod用visudo打开配置文件在配置文件中添加wjk ALL(root) NOPASSWD/usr/sbin/useradd,PASSWD/usr/sbin/usermod3启用sudo操作日志在visudo配置里面进行修改总结1Linux 用户分为超级用户rootUID0、普通用户UID≥1000可登录 和程序用户UID1-999不能登录用于跑服务三者权限逐级递减实现系统安全隔离。2/etc/passwd 存用户基本信息用户名、UID、家目录、Shell密码字段用 x 占位真正的加密密码存放在 /etc/shadow 中只有 root 可读确保密码安全。3通过 visudo 编辑 /etc/sudoers 文件授权普通用户以 root 身份执行特定命令如 sudo useradd操作会被日志记录兼顾安全与灵活。