gpt4 book ai didi

ubuntu - 在 Linux 中,如何在 Qt Creator 中添加一个使用 su 权限的构建步骤,而不会在构建时尝试输入错误的密码?

转载 作者:太空宇宙 更新时间:2023-11-03 16:47:13 24 4
gpt4 key购买 nike

我的目标是成功将文件夹链接到/opt/目录 - 这需要使用 sudo 运行。

我试过这个:

 system(sudo ln -s $$OUT_PWD/xampp /opt/lampp):message("You should manually link LAMPP")

但是从 qt-creator 构建它不会提示输入 sudo 密码,因此我无法让它链接文件夹。我在编译器输出中收到“错误的密码尝试...”错误。然后我用构建步骤尝试了这些:

make
sudo make install

看看它是否会在那里提示我,但是它在 make install 步骤上失败并出现相同的错误,详细信息如下:

00:31:20: Starting: "/usr/bin/sudo" make install
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: 3 incorrect password attempts
00:31:20: The process "/usr/bin/sudo" exited with code 1.

当我从终端使用 qmake && make && make install 时,qmake 脚本中的 system() 函数工作正常,因为它会在 sudo ln 之前提示我。 .. 命令;但是出于快速测试的目的,我觉得在 Qt Creator 中使用 CTRL-B 进行构建也应该使用 sudo 命令...

有没有办法从 Qt Creator 得到提示,或者有办法解决这个问题?就像将 sudo pass 存储在 Qt Creator 中(尽管它有风险)......或者让它在提示我的终端上运行构建步骤? qmake 中的 prompt() 函数会收集 sudo 密码吗?

欢迎提出任何建议...

最佳答案

经过大量研究:

ssh-askpass Sudo Password | sudo -S bash ./script

工作起来很神奇,它会在单独的窗口/提示框中要求输入密码。我在自定义构建步骤下添加了它。重要的是让 sudo 知道它需要通过 -S 选项输入密码。

echo "password" | sudo -S bash ./script

也适用于 bash 脚本,但是您可能认为将 sudo 密码存储在脚本中是不安全的。据说读取权限应该可以解决这个问题。

关于ubuntu - 在 Linux 中,如何在 Qt Creator 中添加一个使用 su 权限的构建步骤,而不会在构建时尝试输入错误的密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10662375/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com