通过参数在终端中提供用户密码

通过参数在终端中提供用户密码

我在 Ubuntu 机器上创建了一个 python 应用程序,它可以向终端运行命令。我希望程序开始时继续以 root 身份运行。我知道要获取 root 终端,我们使用以下命令:

sudo -i

然后 shell 要求我们输入密码,当我们这样做时,我们就有了这个终端季节的根,直到我们输入

exit

但是我可以通过参数设置 pass 参数吗?这样终端就不会提示“give a pass”行了?另一个问题是,当我使用实时 USB 并且想要运行sudo -i以获取 root 权限时,我是否需要输入 pass?

答案1

只需使用权限启动命令即可sudo

sudo your_python_script

绝不在参数中使用您的密码。

答案2

首先,我不知道我的选择的逻辑是否正确,但它确实有效。

rsa pub首先使用以下命令创建一个密钥:

ssh-keygen -t rsa

然后使用以下命令将公钥复制并附加到.ssh/authorized_keysroot

ssh-copy-id root@<your ip>

此后,当您尝试时ssh root@<your ip>,它将不再提示输入 root 密码,并且您将能够获得 root 提示。

例如,如果您想以 root 身份run.sh/opt目录中运行 shell 脚本,从您的登录名开始无需输入密码,请尝试以下操作:

ssh -X root@<your ip> "sh /opt/run.sh"

'-X' 选项用于$DISPLAY为 root 设置。

希望这个想法有帮助。

相关内容