标签: sudo

如何使用窗口管理器以 root 身份启动程序?

有时我想以 root 身份显式启动一个图形程序。现在我正在启动一个终端并 sudo 所需的应用程序。

但是有没有办法直接从启动程序(Gnome 或 KDE)以 root 身份启动应用程序?类似于 Windows 中的右键单击和“以管理员身份运行”?

linux sudo

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

在 Amazon EC2 实例上丢失了 sudo/su

我有一个 Amazon EC2 实例。我可以正常登录,但是“su”和“sudo”现在都不能正常工作(以前它们可以正常工作):

  • “su”要求输入密码,但我使用 ssh 密钥登录,我认为 root 用户甚至没有密码。

  • “sudo <anything>”这样做:


sudo: /etc/sudoers is owned by uid 222, should be 0 
sudo: no valid sudoers sources found, quitting 
Run Code Online (Sandbox Code Playgroud)

我可能做了“chown ec2-user /etc/sudoers”(或者,更可能是“chown -R ec2-user /etc”,因为我厌倦了rsync失败),所以这是我的错。

我该如何恢复?我停止了实例并尝试了 AWS EC2 控制台上的“查看/更改用户数据”选项,但这没有帮助。

编辑:我意识到我可以杀死这个实例并创建一个新实例,但希望避免极端情况。

sudo amazon-web-services sudoers amazon-ec2

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

Bash:文件写入权限被拒绝

我遵循了有关“如何使用 LKM 在 C 程序中创建 Linux Proc 文件”的教程指南

我已经成功地制作了我的模块并加载了它。现在我想回显到我的 proc 文件以确保调用应该调用的方法。

我试过了:

$ echo "hello" > /proc/procEntry123       # But it says permission is denied!
$ sudo echo "hello" > /proc/procEntry123  # Same error message.
Run Code Online (Sandbox Code Playgroud)

如何提升权限以回显到此文件?我是该系统的唯一用户和管理员。

linux sudo file-permissions proc

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

将用户添加到 sudoers 文件,仅用于一项服务

我想在 sudoers 文件中添加一个用户,以便它只能启动、停止和重新启动特定服务。

我正在使用 Debian 并且可以使用 访问 sudoers 文件sudo visudo,但我现在对如何将这个用户设置为仅限于一项服务感到困惑。

sudo services

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

sudo: 抱歉,root 用户不能执行

此命令在 OpenSuSE 11.4 上失败:

root@host# sudo -S -u "coreapp_customer1_d" -g "coreapp_customer1_d"  /bin/bash -l -c "mkdir -p /home/coreapp_customer1_d/.ssh"
Run Code Online (Sandbox Code Playgroud)

这条消息:

Sorry, user root is not allowed to execute 
'/bin/bash -l -c mkdir -p /home/coreapp_customer1_d/.ssh' 
as coreapp_customer1_d:coreapp_customer1_d
on workdevel114.
Run Code Online (Sandbox Code Playgroud)

但它适用于 OpenSuSE 12.3。

我比较了两个系统的 /etc/sudoers 文件,并且(注释行除外)它们是相同的。

linux sudo opensuse

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

终端:前缀上一个命令?

经常在终端中(尽管我完全希望任何答案都适用于 bash 和大多数其他人),我输入一些命令,然后由于缺少sudo.

好的,所以按“向上”,按住/锤“向左”,输入sudo并点击“输入”。

这很烦人。命令越长,越是如此。

请注意,丢失sudo是最坏的情况;比开头更接近结尾的错字同样令人讨厌

我想要的是一种执行“向上和主页”键击的方法。实际上,也许这两招就可以了 - 但我的 Macbook 键盘没有 Home,所以我无法尝试。

sudo也可以通过 CMD+Shift+S 自动神奇地插入和点击“输入”的方法的奖励积分。


这能做到吗,还是我在做梦?

terminal sudo bash shell command-line

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

为什么 Mac OS X 上的 htop 需要 root 权限才能查看所有进程的数据,但在 Linux 上它无需 root 即可运行

我使用的htop,当我工作的Linux系统上的所有时间。我已经htop-osx在 Mac 上通过 Homebrew安装了,但是为了查看所有进程的所有数据,配方告诉我我需要以htoproot身份运行,使用sudo.

在 Linux 系统上,似乎不需要 root 权限来显示htop.

我的问题是为什么我需要在 Mac 上执行此操作,而在 Linux 系统上不需要?

以前,针对此问题的建议解决方案是setuidhtop二进制文件上的位设置chown为 root,以便它以 root 用户身份运行。但是,已对该方法进行了更改以改为使用sudo

linux mac sudo htop macos

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

将用户添加到 SSH 组安全吗?

我想控制谁可以在我的服务器上通过 SSH 登录。将组“ssh”添加到允许登录的用户中是否安全?

我看到一些发行版在用户 ID 中使用系统组,而其他发行版建议创建新组。例如,一些用户将拥有该sudo组,而其他发行版建议创建一个新组gSudo并将其添加到 sudoers 文件中。

linux ssh debian sudo

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

允许使用 SSH 在 Linux 上以 root 身份自动执行命令

什么是允许root使用 SSH在具有特权的远程服务器上自动执行命令或脚本的好的设置?

我知道(仅对某些选项含糊其辞)以下选项:

  • 允许通过root( PermitRootLogin)直接登录(并可能强制进行密钥验证)。
  • 配置sudo不需要密码(NOPASSWD标志 in sudoers)和 TTY(requiretty标志)。
  • 配置sudo为允许在使用特定私钥进行身份验证时执行特定命令/脚本。
  • 将脚本所有者root设置为并设置setuid 权限

但首先,我不确定这些的安全后果是什么。例如,我知道允许root登录是不受欢迎的。但我不确定,如果这不是一个过时的观点。据我所知,密码身份验证似乎是危险的。使用公钥认证,直接root登录可能没问题。对于某些选项,尤其是sudo,我什至不确定所需的配置。虽然我可以用谷歌搜索所有这些,但我可能会遗漏一些安全方面的考虑,这就是为什么我要征求专家的意见。

请注意,我要求进行服务器端设置。执行将由程序触发,而不是像 那样的工具ssh,所以我不是在寻找自动客户端身份验证之类的东西。


背景:活跃在sshStack Overflow 上的标记,这是经常出现的问题之一,是关于人们在尝试通过 SSH 在远程 Unix/Linux 上执行命令/脚本(甚至 SFTP 服务器)时尝试的各种黑客攻击服务器服务器使用root使用各种编程语言(C#、Java、VB.NET、Python 等)和 SSH 库(SSH.NET、JSch、Paramiko 等)的帐户。

人们尝试的实现通常尝试使用suor sudo。这些然后提示输入密码。因此,实现然后尝试将密码提供给命令输入。由于susudo经常需要终端仿真输入密码的提示,执行有权要求PTY。这反过来又会导致进一步的麻烦,因为与终端仿真的会话通常采用交互功能,如ANSI 转义码、分页等。足够的终端来避免分页。

举几个例子:

linux ssh root sudo su

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

Jenkins Docker 镜像没有 make 或 sudo

我正在尝试使用来自 Docker 中心的 Jenkins 映像在 AWS 上设置 CI。我已经在这个过程中花费了几个小时(为 Node 项目进行配置),现在我意识到我的一些 npm 依赖项需要make构建。Docker 映像没有make,也没有sudo,所以看起来我不能apt-get install make。是否有另一种方法make无需使用授予 root 访问权限的 Dockerfile 重新创建映像?

sudo make jenkins docker

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