标签: sudo

须藤:来源:找不到命令

我一直在更新 bash 的一些默认配置文件,并从我遵循的教程中看到,我可以使用以下方法使用新的环境设置重新加载新的配置文件:

source /etc/bash.bashrc
Run Code Online (Sandbox Code Playgroud)

唯一的问题是 - 新的环境变量仅对我当前的用户可用 - 在我使用 sudo 时被忽略。只有当我关闭终端会话并重新加入时,它们才对 sudo 可用。

当我尝试使用:

sudo source /etc/bash.bashrc
Run Code Online (Sandbox Code Playgroud)

我收到错误:

sudo: source: command not found
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法可以加载 sudo 的新 bash 配置文件设置,而无需关闭终端并重新启动?

-- 最初,我使用了一些引用变量的安装程序脚本。我发现虽然当我直接调用脚本时他们可以访问变量(尽管这会导致以后创建目录时出现问题,因为我需要成为 root),但使用 sudo 调用安装脚本不会。

我通过使用这些简单的命令进行测试来证明这一点:

echo $ENV_VARIABLE
sudo echo $ENV_VARIABLE
Run Code Online (Sandbox Code Playgroud)

第一个将输出变量的值,但第二个不会输出任何内容。

command-line bash sudo

75
推荐指数
4
解决办法
21万
查看次数

“sudo”和“admin”组有什么区别?

我注意到两个组被授予了类似的权限/etc/sudoers

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
Run Code Online (Sandbox Code Playgroud)

我的具有“管理系统”权限的用户帐户在该admin组中,并且该组中似乎没有任何用户sudo。这两个组有什么用?

permissions sudo

74
推荐指数
3
解决办法
6万
查看次数

升级后 gdb 不会附加到进程

我刚刚从 10.04 升级到 11.04,gdb 不允许我再附加到进程我收到错误

附加到进程 10144 无法附加到进程。如果您的 uid 与目标进程的 uid 匹配,请检查 /proc/sys/kernel/yama/ptrace_scope 的设置,或以 root 用户身份重试。有关更多详细信息,请参阅 /etc/sysctl.d/10-ptrace.conf ptrace:不允许操作。

我如何解决这个问题,以便我可以在没有 sudo 的情况下再次调试?

sudo debug debugging 11.04

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

在第一个命令上使用 && 和 sudo 时,第二个命令是否也作为 sudo 运行?

如果我运行一个命令。

sudo some-command && some-other-command
Run Code Online (Sandbox Code Playgroud)

第二个命令是否sudo也使用特权运行?

bash sudo

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

是否可以停止创建 .sudo_as_admin_successful?

每次我使用 执行命令时sudo.sudo_as_admin_successful都会在我的主目录中创建一个名为的文件。据我所知,它存在的唯一目的是禁用 bash 在启动时打印的消息:

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
Run Code Online (Sandbox Code Playgroud)

可以通过注释掉 中的相关部分来停止该消息/etc/bash.bashrc,但sudo仍会在我的主目录中创建一个烦人的文件。

此网页建议您可以通过将自己从admin组中删除来停止创建文件,但我不在任何此类组中,admin也不在/etc/group.

有没有办法阻止这个文件被创建?


我相信这不是这个问题的重复,因为那是问是否有可能使 bash 打印的通知消失,而不是是否有可能停止由sudo.

bash sudo

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

如果我不小心在系统目录(/、/etc、...)上运行命令“chmod -R”怎么办

我不小心跑了

sudo chmod 755 -R /
Run Code Online (Sandbox Code Playgroud)

代替

sudo chmod 755 -R ./
Run Code Online (Sandbox Code Playgroud)

几秒钟后我停止了它,但是现在出现了一些问题,例如

sudo: must be setuid root
Run Code Online (Sandbox Code Playgroud)

如何恢复权限?

permissions sudo chmod

65
推荐指数
4
解决办法
5万
查看次数

如何将自己重新添加为 sudo 用户?

我今天全新安装了 Ubuntu 11.10,然后安装了 VirtualBox。这需要我将自己添加到 vboxusers 组,并且由于 11.10 似乎不再有图形应用程序来将用户添加到组中,因此我运行了以下命令:

sudo usermod -G vboxusers stephane
Run Code Online (Sandbox Code Playgroud)

这是个问题。我现在看到我应该运行的是:

sudo usermod -aG vboxusers stephane
Run Code Online (Sandbox Code Playgroud)

最终结果是我不再属于我应该加入的组。包括运行“sudo”所需的任何组。当我现在以 sudo 身份运行任何命令时,我得到以下信息:

$ sudo ls
[sudo] password for stephane: 
stephane is not in the sudoers file.  This incident will be reported.
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题,还是我需要从头开始重新安装?

permissions sudo

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

如何在 sudo 中使用 python virtualenv?

我试图在一个不在 /home 下的目录中将 python 环境与系统一(使用 virtualenv)分开,因为我需要使用它来构建其他软件,这些软件必须可供多个用户访问。我可以创建并激活virtualenv,但是当我执行sudo某些命令(例如制作或编译其他软件)时,使用的是系统python(由于可用模块,我可以分辨出来)。

由于在 Ubuntu 上使用root用户不是一件好事,有没有办法告诉sudo使用 virtualenv?或者这可能不是正确的方法,我应该进行全新的 python 安装?

我使用的是 64 位版本的 Ubuntu 12.04(和 python 2.7)。

python sudo

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

为什么我们需要在终端中root才能关机和重启?

当我们安装/删除/更新软件包或进行任何需要管理权限的更改时,系统会提示我们输入具有sudo权限的管理员用户的密码——这通过 GUI 和终端发生。

通过 gui 提示

但是,如果我们尝试通过终端关闭并重新启动,它会抱怨我们需要root

$ reboot
reboot: Need to be root

$ shutdown now
shutdown: Need to be root
Run Code Online (Sandbox Code Playgroud)

但是当我们通过右上角的齿轮执行这些操作时,我们永远不会被要求输入密码。

齿轮菜单

为什么会出现这种差异?

sudo shutdown restart privileges

64
推荐指数
6
解决办法
3万
查看次数

`sudo !!` 中的 `!!` 是什么意思?

我是 Ubuntu 用户,没有太多经验,我一直在使用sudo.

sudo !!什么以及如何做?

command-line sudo

64
推荐指数
5
解决办法
9820
查看次数