sudo / su 到特定组中的用户

sudo / su 到特定组中的用户

我希望设置一个通用用户,该用户能够su/sudo访问特定组中的任何用户。或者是对于具有特定命名方案的任何用户。

这在Linux上可能吗?

我还应该提到我不希望用户能够获得完全root权限

答案1

可以使用sudo.用于%<group-name>列表RunAs。例如,使用以下规则:

sysad ALL = (%wheel) ALL

以及以下组配置:

$ getent group wheel
wheel:x:10:root,muru

我们得到以下有趣的效果:

$ sudo -u sysad bash -c 'echo $USER'
Sorry, user sysad is not allowed to execute '/usr/bin/bash' as sysad on muru-arch.
$ sudo -u root bash -c 'echo $USER'
root

答案2

可以通过编辑您的 sudors 文件来实现。

lnydex99uhc:~ user$ ls /etc/sudoers 
/etc/sudoers

首先,运行以下命令打印出当前的 sudo 配置。

sudo -ll | column -t 

示例条目

要允许用户在命令前面
使用 sudo 时获得完全 root 权限,请添加以下行:

USER_NAME   ALL=(ALL) ALL

允许用户以任何用户身份运行所有命令,但只能以主机名 HOST_NAME 的计算机运行:

USER_NAME   HOST_NAME=(ALL) ALL

允许组wheel sudo 的成员访问:

%wheel      ALL=(ALL) ALL

要禁止要求用户 USER_NAME 输入密码:

Defaults:USER_NAME      !authenticate

仅为主机 HOST_NAME 上的用户 USER_NAME 启用显式定义的命令:

最后,请务必小心,除非您别无选择,只能这样做。新添加的用户将有足够的权限来接管机器。

想要阅读更多内容,请看这里关联,链接2

在开始编辑文件之前,还要阅读最后一件事。

**

This file MUST be edited with the 'visudo' command as root.
# Failure to use 'visudo' may result in syntax or file permission errors
# that prevent sudo from running.
#
# See the sudoers man page for the details on how to write a sudoers file.

**

相关内容