我有一个c ++代码,我需要从它运行一个命令来调整系统时间。
所以我想从我的c ++代码中使用system(" su root -c date hh:mm")命令。
问题在于,当我写“su -c date hh:mm'在终端之后需要密码,如何在一行中传递系统命令的密码?
或其他解决方案......
谢谢!
答案 0 :(得分:1)
解决方法是修改sudoers
文件并从用户ID中删除密码要求,以使特定脚本具有sudo权限。
输入sudo visudo
在此之后,按以下方式添加详细信息。
username ALL=(ALL) NOPASSWD: /path/to/script
另一种方法是将密码作为输入传递给sudo命令。我不建议这样做,因为您将以纯文本形式输入密码。您可以使用变量来存储密码,然后访问它,但它仍然不是一种安全的方法。您可以将命令作为
运行echo $PASSWORD | sudo ./a.out