AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 75522
Accepted
Alex
Alex
Asked: 2009-10-18 09:17:34 +0800 CST2009-10-18 09:17:34 +0800 CST 2009-10-18 09:17:34 +0800 CST

sudo 和 sudo -i 访问功能

  • 772

sudo 和 sudo -i 之间的权限区别是什么?

有了sudo它

    $sudo echo "search foo.bar.baz" >> /etc/resolv.conf
    bash: /etc/resolv.conf: Permission denied

...与sudo -i

    $sudo -i
    #echo "search foo.bar.baz" >> /etc/resolv.conf

...有用。特权是:

    drwxr-xr-x 166 root root 12288 2009-10-17 21:02 .
    -rw-r--r--   1 root root 42    2009-10-17 20:55 /etc/resolv.conf

我很惊讶这些命令有不同的行为,是什么导致 justsudo版本失败?

sudo
  • 3 3 个回答
  • 1561 Views

3 个回答

  • Voted
  1. Best Answer
    Kamil Kisiel
    2009-10-18T09:53:16+08:002009-10-18T09:53:16+08:00

    在第一个示例中,重定向发生在您当前的 shell 中,而不是 sudo 子 shell 中。sudo执行并将结果返回到您当前的 shell 也是如此echo "search foo.bar.baz",然后尝试将其写入/etc/resolv.conf.

    bash您可以通过直接调用 sudo 命令来使第一个示例工作:

    sudo bash -c "echo 'search foo.bar.baz' >> /etc/resolv.conf"
    
    • 12
  2. Studer
    2009-10-18T09:24:32+08:002009-10-18T09:24:32+08:00

    您可以使用sudo具有管理员权限的 1 个命令。
    用sudo -i你登录root帐户,用他自己的shell和环境变量。
    否则,您可以使用sudo -s, 使用它登录到 root 帐户,但您仍然使用您的 shell 和变量。

    问题是sudo -i你可能会得到另一个 shell 和另一个可以解决问题的 $PATH。

    • 1
  3. jldugger
    2009-10-18T11:17:24+08:002009-10-18T11:17:24+08:00

    从 sudo 手册页:

    -i  The -i (simulate initial login) option runs the shell specified in
        the passwd(5) entry of the user that the command is being run as.
        The command name argument given to the shell begins with a ‘-’ to
        tell the shell to run as a login shell.  sudo attempts to change to
        that user’s home directory before running the shell.  It also ini‐
        tializes the environment, leaving TERM unchanged, setting HOME,
        SHELL, USER, LOGNAME, and PATH, and unsetting all other environment
        variables.  Note that because the shell to use is determined before
        the sudoers file is parsed, a runas_default setting in sudoers will
        specify the user to run the shell as but will not affect which
        shell is actually run.
    

    您遇到的问题是外壳仅将 sudo 应用于您构建的管道的第一部分。以您的>> etc权限而不是 root 身份运行。

    • 1

相关问题

  • 为什么 su 到 root 而不是以 root 身份登录?

  • Firefox 执行从具有权限删除的根执行脚本失败

  • scp 后 sudo 到超级用户

  • 如何使用 sudo 在系统配置文件中添加行?

  • 为什么 sudo 命令需要很长时间才能执行?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve