有没有办法停止为 Linux 中的每一件小事编写“sudo”?

Maj*_*ons 84 linux permissions sudo

我很快就会做大量的 PHP 工作,而且我对学习 RoR 很感兴趣,所以我在我的 VirtualBox 中安装了 Linux Mint 12。

到目前为止,切换最令人沮丧的方面是处理 Linux 权限。似乎我不能做任何有用的事情(例如,将 Symfony2 tarball 从我的下载目录复制到我的文档根目录并解压缩它)而不通过 sudo 冒充根目录。

有没有一种简单的方法可以告诉 linux 让我不受限制地访问某些目录,而无需简单地打开它们的所有权限?

mmt*_*qir 101

我想到了两个选择:

  1. 使用以下命令拥有您想要的目录chown

    sudo chown your_username directory 
    
    Run Code Online (Sandbox Code Playgroud)

    (将 your_username 替换为您的用户名,并将目录替换为您想要的目录。)

  2. 您可以做的另一件事是以 root 身份工作,只要您知道自己在做什么。要使用 root,请执行以下操作:

    sudo -s
    
    Run Code Online (Sandbox Code Playgroud)

    然后你可以做任何事情而不必sudo在每个命令之前输入。

  • *“只要您知道自己在做什么,您可以做的另一件事就是以 root 身份工作。使用 root 执行...”* - 好吧,这破坏了发行版和安全社区一直在尝试教给用户的最佳实践. 相关:[“什么是最小特权原则”](https://www.google.com/search?q="what+is+the+principle+of+least+privilege")。 (3认同)
  • 如何在不关闭终端的情况下撤消“sudo -s”? (2认同)
  • 输入“退出”。它将离开 root shell 并将您返回到以前的用户。 (2认同)

Gil*_*il' 17

一般来说,除非您正在做具有系统范围影响的事情,否则始终以您自己的用户身份工作。

如果您想在您的网络服务器上放置文件,请以您自己的用户身份工作,然后使用sudo将文件放置在文件系统的网络服务区域中。通常,这将由安装脚本执行,您将运行类似sudo -u webmaster install-webserver-files或更好的程序sudo -u webmaster git update(或您选择的版本控制系统)。

如果您在开发服务器上工作并希望您的文件可以立即访问,请在 Web 服务器区域中创建一个目录并使其拥有或至少由您写入。在一次性操作(sudo chown …sudo -u webmaster setfacl …)之后,您将不需要提升日常操作的权限。

有时允许多个用户在一个目录中写入内容,或者对除所有者或多个组以外的多个用户具有不同的权限有时会很方便。访问控制列表为您提供了这种能力。请参阅 服务器上共享目录的权限问题备份脚本权限问题


小智 5

是的,以 root 身份登录,这将为您提供超级用户访问控制。
Windows 中的概念相同,您可以使用管理员登录到您的终端。