【问题标题】:Does EVERYTHING require sudo? Setting up an ubuntu machine一切都需要sudo吗?设置 ubuntu 机器
【发布时间】:2015-02-15 11:26:23
【问题描述】:

我是 linux 系统的新手。我正在通过 AWS 设置 Ubuntu 14.04 服务器。我正在使用他们的“ubuntu”用户,据我了解,该用户应该拥有 root 的所有权限,但是我到处都遇到权限错误,需要大量的“sudo”。我特别难以设置 virtualenvs。

基本步骤是

apt-get install python-pip
pip install virtualenv
virtualenv --python=/usr/bin/python3.4 venv_path
source venv_path/bin/activate
pip install django

但是那里的每个命令似乎都需要 pip,否则它会返回 Permission Denied。 所以当我安装 Django 时,我要么得到 Permission Denied,要么,如果我使用 sudo,Django 被安装到全局目录中。有些人似乎说这是因为我在创建 virtualenv 时使用了 sudo,但是,再次使用不带 sudo 的命令返回 Permission Denied 错误。

那该怎么办?如何摆脱权限地狱?如果需要,可以为任何给定命令发布特定的 Permission Denied。

【问题讨论】:

  • 你为什么在这里问?这是一个编程网站。
  • 总的来说,'sudo' 花了我一年的时间调试,即我忘记输入 sudo,然后出了点问题,没有工作,.... 10 小时过去了,直到我终于意识到这是因为我没有输入 sudo.. 在这种情况下,安全性是以牺牲可用性为代价的。

标签: ubuntu permissions virtualenv sudo permission-denied


【解决方案1】:

ubuntu用户没有sudo就没有root权限,没有。这是ubuntu推荐的方式。

正如您所观察到的,在 virtualenv 中使用 sudo 并不能像您期望的那样工作。如果您在需要 root 访问权限才能修改的地方创建 virtualenv,请在激活 virtualenv 时使用 su,如下所示

sudo su
source venv_path/bin/activate

su 使您成为超级用户。那么你在virtualenv中运行的所有命令都会以root权限运行

pip install django

将按预期工作。

【讨论】:

    猜你喜欢
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2022-10-25
    • 2020-06-02
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 1970-01-01
    相关资源
    最近更新 更多