以 root 身份安装并以普通用户身份访问

以 root 身份安装并以普通用户身份访问

我是 Ubuntu 新手,现在将 14.04 作为与 Windows 分开的分区运行。

要安装某些东西,我必须运行sudo apt-get,否则会出现权限错误。因此,我习惯sudo -s运行大多数安装命令。

现在的问题是,如果没有 root 访问权限,我以 root 身份安装的所有内容都无法运行。诸如 、 等内容nodemeteor访问ipython各种文件夹时会出现错误。

这迫使我使用 root 权限来执行所有操作,我不明白为什么会这样。我在这里做错了什么吗?

编辑:例如,当尝试运行时,node我得到了这个:

$ node> node.js:148
          throw err;
          ^

Error: EACCES: permission denied, open '/home/pewpew/.node_repl_history'
at Error (native)

运行统计/home/pewpew/.node_repl_history,我得到:

 ~$ stat /home/pewpew/.node_repl_history 
 File: ‘/home/pewpew/.node_repl_history’


 Size: 6            Blocks: 8          IO Block: 4096   regular file
Device: 808h/2056d  Inode: 1714569     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2015-11-24 09:39:11.687765710 +0800
Modify: 2015-11-24 10:19:45.959716037 +0800
Change: 2015-11-24 10:19:45.959716037 +0800
 Birth: -

Meteor 在访问文件夹时出现类似的错误~/.meteor,我曾经将chown文件夹的所有者更改为非 root 用户。

答案1

首先:sudo按照 Ubuntu 的预期使用方式使用:对于每个需要它的命令,仅此而已。sudo除非需要 root 权限,否则不要使用它来运行命令。例如,大多数用户只需要sudo安装东西。

第二种:sudo -i如果你需要 root shell,可以使用。请查看这篇 Unix 和 Linux 文章查看获取 root shell 的各种方法的效果。特别是sudo -isudo su -,它们都提供登录 shell,可提供最干净的环境。

最后,收回你的主目录的所有权:

sudo chown -R $USER:$USER ~

~是您的主目录的快捷方式。使用-R以便将主目录中的所有内容都chown返回给您。

相关内容