相关疑难解决方法(0)

命令“su -s”和“sudo -s”之间有什么区别?

两个超级用户命令有什么区别,su -ssudo -s

他们都提供了一个可以访问超级用户帐户的 shell。

linux unix sudo

24
推荐指数
4
解决办法
3万
查看次数

抱歉,你必须有一个 tty 才能运行 sudo

我已经在Stack Overflow 中问过这个问题,但我被要求在这里发布。所以做同样的事情。

我使用我的java程序运行了这个命令-

sudo -u <username> -S pwd
Run Code Online (Sandbox Code Playgroud)

我得到了这个输出-

command=sudo -u <username> -S pwd
exitCode=1
sudo: sorry, you must have a tty to run sudo
Run Code Online (Sandbox Code Playgroud)

我尝试编辑 /etc/sudoers 但它已经包含

<username>       ALL=(ALL)       NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

然后,我了解到这可以通过在 /etc/sudoers 中注释掉以下代码来完成

# Defaults requiretty
Run Code Online (Sandbox Code Playgroud)

此外,默认情况下,当尝试以其他用户身份使用 执行命令时sudo,我们必须提供自己的密码。但这可以通过在 /etc/sudoers- 中进行以下更改来更改

Defaults targetpw
Run Code Online (Sandbox Code Playgroud)

我的问题是,是否可以在 Java 中执行我的上述命令而无需在任何地方进行任何更改,即通过默认设置

linux java sudo sudoers

13
推荐指数
1
解决办法
2万
查看次数

标签 统计

linux ×2

sudo ×2

java ×1

sudoers ×1

unix ×1