openEuler 操作系统用户权限管理 |
您所在的位置:网站首页 › 怎么查看文件权限密码 › openEuler 操作系统用户权限管理 |
说明: 本文旨在分享记录在 openEuler 操作系统中,如何对普通用户进行权限授予与限制 所有操作演示基于 openEuler 22.03 LTS SP1 版本 汇总多种权限授予与限制的案例 1 sudo 权限本节内容摘自官方文档:管理用户和用户组 (openeuler.org) 使用 sudo 命令可以允许普通用户执行管理员帐户才能执行的命令 sudo 命令允许已经在 /etc/sudoers 文件中指定的用户运行管理员帐户命令。例如,一个已经获得许可的普通用户可以运行如下命令: sudo /usr/sbin/useradd newuserl/etc/sudoers 的配置行如下所示: 空行或注释行(以 # 字符打头):无具体功能的行 可选的主机别名行:用来创建主机列表的简称。必须以 Host_Alias 关键词开头,列表中的主机必须用逗号(,)隔开,如: Host_Alias FILESERVERS = fs1, fs2 可选的用户别名行:用来创建用户列表的简称。用户别名行必须以 User_Alias 关键词开头,列表中的用户名必须以逗号(,)隔开。其格式同主机别名行: User_Alias ADMINS = jsmith, mikem 可选的命令别名行:用来创建命令列表的简称。必须以 Cmnd_Alias 开头,列表中的命令必须用逗号(,)隔开: Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall可选的运行方式别名行:用来创建用户列表的简称。不同的是,使用这样的别名可以告诉 sudo 程序以列表中某一用户的身份来运行程序 必要的用户访问说明行: user host=[ run as user ] command list以上字段的含义及说明如下表所示: ![]() 说明: 可以在一行定义多个别名,中间用冒号(:)隔开 可在命令或命令别名之前加上感叹号 (!),使该命令或命令别名无效 有两个关键词:ALL 和NOPASSWD。ALL 意味着“所有”(所有文件、所有主机或所有命令),NOPASSWD 意味着不用密码 通过修改用户访问,将普通用户的访问权限修改为同 root 一样,则可以给普通用户分配特权 对于 /etc/sudoers 文件的修改,推荐使用 visudo 命令,能够在保存时检查语法是否有误/etc/sudoers 文件预先添加了一个用户(root)和一个用户组(wheel): ![]() 基于以上知识,可以实现对普通用户各种各样的授权与限制 2 案例汇总 2.1 案例一目标:授予普通用户创建用户,并修改用户密码的权限,但是禁止该用户修改 root 用户密码 在 /etc/sudoers 文件中添加以下内容: user1 ALL=(ALL) /usr/sbin/useradd, /usr/bin/passwd, !/usr/bin/passwd "", !/usr/bin/passwd root配置说明: /usr/bin/useradd:允许 user1 用户执行 useradd USER 命令创建普通用户 /usr/bin/passwd:允许 user1 用户执行 passwd USER 命令修改用户密码 !/usr/bin/passwd root:禁止 user1 用户执行 passwd root 命令修改 root 用户密码 !/usr/bin/passwd "":禁止 user1 用户执行 passwd 命令修改 root 用户密码,因为 passwd 命令后边为空则默认为 root 用户 效果演示: ![]() 目标:授予普通用户执行任何命令的权限 方法一:可以将普通用户加入 wheel 组 ![]() 方法二:在 /etc/sudoers 文件添加以下内容 user1 ALL=(ALL) ALL这两种方法的授权结果是有差异的,例如使用 su 命令的权限不同: 将普通用户加入 wheel 组后,在该用户密码强度足够的前提下,该用户可以直接使用 su - 或 su - root 命令切换到 root 用户,而不必使用 sudo su - 或 sudo su - root 命令 ![]() 直接在 /etc/sudoers 文件中授予普通用户执行所有命令的权限后,该用户并不能直接使用 su - 或 su - root 命令切换到 root 用户,而必须要使用 sudo su - 或 sudo su - root 命令 ![]() 之所以出现这两种差异,是因为 /etc/pam.d/su 文件中有以下配置: auth required pam_wheel.so use_uid这一行配置的意思是:只允许只允许 root 用户和 wheel 群组的帐户使用 su 命令,限制其他帐户使用。openEuler 默认开启此配置,因此导致普通用户即使拥有执行所有命令的权限,也不能使用 su 命令 2.3 案例三目标:授予普通用户执行任何命令的权限,但是禁止该用户切换到 root 用户 在 /etc/sudoers 文件中添加以下内容: user1 ALL=(ALL) ALL, !/usr/bin/su - root, !/usr/bin/su - , !/usr/bin/bash配置说明: ALL:允许 user1 用户执行所有命令 !/usr/bin/su - root:禁止 user1 用户执行 sudo su - root 命令切换到 root 用户 !/usr/bin/su - :禁止 user1 用户执行 sudo su - 命令切换到 root 用户,因为 su - 命令后边为空则默认为 root 用户 !/usr/bin/bash:禁止 user1 用户执行 sudo -i 、sudo -i root 、sudo /bin/bash 等方式切换到 root 用户 效果演示: ![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |