th3*_*0id 15 linux command-line sudo centos
当我尝试使用切换到 root 时sudo -i出现错误/var/tmp/sclDvf3Vx: line 8: -i: command not found......但是,su -我将继续使用的作品。我绝不是Linux系统管理员,所以环境对我来说仍然很模糊。我想我的问题是:
更新:
我正在使用 CentOS 版本:CentOS 版本 6.6(最终版)
这是我被要求运行的一些命令的输出,在下面的评论中。
type sudo : sudo is /opt/centos/devtoolset-1.1/root/usr/bin/sudo sudo -V : /var/tmp/sclIU7gkA: line 8: -V: command not foundgrep'^root:' /etc/passwd : root:x:0:0:root:/root:/bin/bash更新:
这是因为我需要 C++11 支持,所以不久前它被添加到我的非 root 用户的 ~/.bashrc 中。当我注释掉它时,重新 ssh 进入,我可以运行 sudo -i 就好了,没有任何错误。
if [ "$(gcc -dumpversion)" != "4.7.2" ]; then
scl enable devtoolset-1.1 bash
fi
Run Code Online (Sandbox Code Playgroud)
从评论和您的进一步调查来看,您的 devtoolset 似乎正在修改PATH. 不幸的是,这包括似乎是旧的或损坏的 sudo 命令。
尝试.bashrc像这样修改 devtoolset 包含的内容,然后重新登录是值得的:
if [ "$(gcc -dumpversion)" != "4.7.2" ]; then
scl enable devtoolset-1.1 bash
PATH=/usr/bin:$PATH # We need a working sudo
fi
Run Code Online (Sandbox Code Playgroud)