刚刚安装了一个交钥匙的 Linux Ubuntu/Apache/Tomcat VM 映像。之后有些麻烦在 win7 上安装桥接网络适配器后,我想检查虚拟机的网络访问情况。确认我可以从主机访问虚拟机的 Web 服务器,并想测试我是否也可以从虚拟机访问互联网,因此我在 shell cmd 行上执行了此操作:
curl www.google.com
对方回应道:
-sh: curl: not found
为了确保网络没有中断,我尝试了这个,并得到了相同的回应:
curl localhost
这让我认为不是 curl 说它找不到请求的 url,而是 shell 说它找不到 curl cmd。所以我这样做了:
sudo apt-get install curl
答复是:
-sh: sudo: not found
所以现在我很困惑。Sudo有需要安装,不是吗?还有 apt-get?我认为这是因为它们很基础,而且如果没有它们,您就无法安装任何其他东西,如果您明白我的意思的话。
我的账户(我刚刚通过 webmin 创建的)没有 sudo 权限,这是一个安全问题吗?我通过 webmin 将自己添加到了辅助组“sudo”,但我不确定这是否合法,注销后重新登录,没有任何变化,所以我撤消了它。
我读到 /etc/sudoers 控制对 sudo 的访问,但据我从 cmd 行和 webmin 文本编辑器打开文件 dlg 所知,它不存在。我需要创建它吗?必须这样做是正常的,还是系统缺陷?
或者是我无知的自我正在做或没做的其他事情?
答案1
虽然 Turnkey Linux 基于 Ubuntu(并且二进制兼容 - 事实上主要由原始 Ubuntu 包构成),但它并不是严格意义上的 Ubuntu 而且进行了许多定制。
因此,默认情况下,TKL 设备中不安装 sudo。在桌面上,最好禁用 root 帐户,改用 sudo(Ubuntu 默认就是如此)。在我看来(以及 TKL 开发人员),这个理由不适用于服务器。
使用此设置,通常不需要 sudo。对于一般管理员,只需使用 root(因此不需要 sudo)。如果您想要其他用户,您可能不希望他们拥有管理员(sudo)权限。
因此要安装 curl (或任何其他命令),只需省略 sudo 例如
apt-get install curl
如果你想要 sudo 那么只需安装它
apt-get install sudo
答案2
来自这个论坛帖子 http://www.turnkeylinux.org/forum/support/20110125/sudo-command-not-found-turnkeylinux-drupal6 看起来,turnkeylinux 上默认没有安装 sudo。它还提供了有关如何安装它的一些帮助。
如果交钥匙存在更多问题,您可能应该继续在那里询问,因为它似乎是一个高度专业化的 ubuntu 分支。
答案3
可能是你的PATH
错了。sudo
位于/usr/bin
文件夹中。尝试运行完整路径:
/usr/bin/sudo -i
然后:
apt-get install curl
有什么特殊原因要使用sh
而不是吗bash
?
答案4
您可以尝试该命令吗?
sudo -i
它应该会要求您输入密码,然后以 root 用户身份登录。
如果成功,请输入
exit
再次注销自己。
这将验证您是否拥有sudo
权限。