标签: sudo

sudo 前的用户名

我得到了一个需要sudo的脚本,但是脚本必须按照原用户设置参数,比如:

chown "${USER}:${USER}" dir
Run Code Online (Sandbox Code Playgroud)

如果我将它设置在 sudo 下,我只会得到chmod root:root,这无济于事。

那么如何在 sudo 之前获取用户名呢?

bash sudo user-accounts

9
推荐指数
2
解决办法
6258
查看次数

为什么 root 用户可以编辑只读文件,而具有 sudo 访问权限的普通用户不能?

如果您尝试附加到没有写权限的文件(例如,由 root 拥有并具有 0440 权限的 /etc/sudoers 文件),如果您是实际的 root 用户,这将起作用。但是,如果您是另一个使用 sudo 的用户,则会收到权限被拒绝错误。

为什么是这样?这不是因为文件的所有权 - 它也不适用于普通用户拥有的文件。真正的 root 用户似乎拥有比 sudo 授予的更多权限。这样做的理由是什么?有没有办法向使用 sudo 的用户授予此权限?

unix sudo file-permissions

9
推荐指数
1
解决办法
2360
查看次数

Chown 在 sudoers 文件中:安全与否?

在 sudoers 文件中添加此命令是否安全?

mike ALL= NOPASSWD:/bin/chown -R www-data\:www-data /var/www
Run Code Online (Sandbox Code Playgroud)

这是我想运行的唯一命令

$mike@ubuntu: sudo chown -R www-data:www-data /var/www
Run Code Online (Sandbox Code Playgroud)

谢谢你。

sudo www-data chown vulnerability

9
推荐指数
1
解决办法
1万
查看次数

编辑 sudoers 文件以限制用户的命令

是否可以编辑 sudoers 文件,以便用户可以将 sudo 用于除指定命令之外的任何命令?我倒是真的,我相信,可以设置 sudoers 文件,以便用户只能执行给定的命令列表。

编辑:我真正想要取消的命令是暂停和重启......这让我认为有特殊的系统调用暂停和重启。你能从用户那里接听系统调用吗?如果不是,是不是因为unix权限系统对系统调用进行了抽象而忽略了这一点?

linux sudo

8
推荐指数
1
解决办法
3万
查看次数

更新多个 sudoers 文件

我们有多个 Linux 服务器对 Active Directory 域进行身份验证。对于 AD 中的一个组,我想添加一个允许使用 sudo 以 root 身份运行的命令列表。我显然可以 ssh-in 到每台计算机并更新 sudoers 文件 - 但这需要一些时间。此外,不允许 root 登录。因此,无密码登录仅适用于非 root 用户。

有没有一种快速的方法可以一次性更新每台 Linux 计算机的 sudoers 文件?我在这里考虑使用具有一些系统管理能力的 Perl 或 Python 脚本。

更新:感谢 veroteq7 和 Shane Madden。我曾经想过部署 cfengine - 但我们目前没有运行它。我们已经决定使用 LDAP 将是最好的解决方案。我在为 sudo 导入 LDIF 架构 schema.ActiveDirectory 时出错。第 144 行的错误是“参数不正确”。

这是从第 144 行开始的内容:

dn: CN=sudoRole,CN=Schema,CN=Configuration,DC=X
changetype: add
objectClass: top
objectClass: classSchema
cn: sudoRole
distinguishedName: CN=sudoRole,CN=Schema,CN=Configuration,DC=X
instanceType: 4
possSuperiors: container
possSuperiors: top
subClassOf: top
governsID: 1.3.6.1.4.1.15953.9.2.1
mayContain: sudoCommand
mayContain: sudoHost
mayContain: sudoOption …
Run Code Online (Sandbox Code Playgroud)

sudo

8
推荐指数
2
解决办法
2418
查看次数

我们正在从共享 root 密码过渡到使用 sudo。如何审核 sudo 的使用情况?

当我加入时,我们所有的 SA 都必须记住系统的 root 密码。我觉得这很麻烦(当有人从公司离职时,我们必须接触每台服务器并更改密码)且不安全。

终于有足够的拉力来推送具有sudo访问权限的个人帐户。我想平稳过渡,所以这是我的初步计划:

  1. 允许 SA 执行“已批准”的命令而无需输入密码。
  2. 每次使用sudo. 如果认为有必要,我将审核此命令并将它们定义为“已批准”,或者如果它们构成安全风险,则阻止它们被执行。

我们的用户规范如下所示:

%sysadmins      ALL =  PASSWD: ALL, NOPASSWD: SERVICES, FILE_READING, !/bin/su
Run Code Online (Sandbox Code Playgroud)

问题:sudo当执行配置PASSWD为的命令时,我如何进行审计(最好通过电子邮件,但日志可以)?

security linux sudo

8
推荐指数
1
解决办法
585
查看次数

我可以代表另一个用户 sudo 命令吗?

我正在使用 drupal 和 Aegir。Aegir 自动化了许多站点创建任务。Aegir 控制了 Apache,我以 root 身份登录,我想重新启动 Apache 服务器,但我想代表 Aegirs 执行此操作。不幸的是,我不知道 Aegir 密码,所以基本上我想知道如何以其他用户身份执行某些操作。

su password users sudo

8
推荐指数
2
解决办法
2万
查看次数

sudo:如何只允许一个命令的参数?

我想在我的 suoders 中添加一个条目,以允许一个用户仅使用一个非选项参数来运行命令。

# tail -1 /etc/sudoers
ALL     ALL = (:tool) NOPASSWD: /bin/echo [a-z]*
$ sudo -g tool /bin/echo abc def
abc def
$ sudo -g tool /bin/echo -abc def
[sudo] password for user: 
Run Code Online (Sandbox Code Playgroud)

我可以使用 sudoers sytnax 来做到这一点吗?还是我需要创建一个帮助脚本?

unix sudo

8
推荐指数
1
解决办法
1万
查看次数

Ansible ssh 作为用户并执行具有 root(期望)

我必须管理大量主机,其中只有一个用户可以从 SSH 访问(我们称他为 foo),然后必须以 root 身份登录才能执行特权命令。

Foo 用户没有任何类型的 sudo 权限,因此我被迫以 root 身份登录以执行特权命令。我实际上正在使用一个期望脚本来完成这项工作(ssh 以 foo 身份登录,通过 su 以 root 身份登录)并且我想切换到 Ansible。我知道我可以创建一个新用户并授予他 sudo 权限或基本上授予 foo sudo 权限,但是是否可以使用 Ansible 做与 expect 相同的事情?

我想以 foo 身份进行 ssh 连接,然后以 root 身份执行剧本或任何类型的临时命令。我在 Ansible 文档中没有找到任何关于此的信息,所以我在这里询问是否有人已经接受过这种审讯。

root sudo expect ansible

8
推荐指数
1
解决办法
3万
查看次数

su: /bin/bash: 资源暂时不可用

无法将用户切换到 postgres。

postgres 用户的 Ulimit 设置设置了合理的限制。我们没有达到最大值。

/var/log/messages 中没有错误。

错误:

BETA -bash-4.2# sudo su - postgres
su: /bin/bash: Resource temporarily unavailable
Run Code Online (Sandbox Code Playgroud)

设置:

BETA -bash-4.2# ps -auxww | grep -i postgr | wc -l
503
BETA -bash-4.2# lsof | grep -i postgr | wc -l
35225
BETA -bash-4.2# 
Run Code Online (Sandbox Code Playgroud)

postgres 进程的 Ulimit。

BETA -bash-4.2# cat /proc/26230/limits 
Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size …
Run Code Online (Sandbox Code Playgroud)

postgresql linux unix su sudo

8
推荐指数
1
解决办法
5万
查看次数