我有一个C++代码,我需要从它运行一个命令来调整系统时间。所以我想我的C++代码中使用system(“su root -c date hh:mm”)命令。
问题是,当我在终端中写入'su root -c date hh:mm'之后,它需要密码,以及如何将系统命令的密码传递到一行中? 或其他解决方案... 谢谢!linux以root用户身份运行命令作为普通用户运行的c代码
回答
解决方法是修改sudoers
文件并从特定脚本中删除用户标识中密码的要求以使其具有sudo特权。
输入sudo visudo
在此之后,在下面的方式添加细节。
username ALL=(ALL) NOPASSWD: /path/to/script
另一种方法是对管内的密码作为输入提供给须藤命令。我不建议这样做,因为您会以纯文本形式输入密码。你可以使用一个变量来存储密码,然后访问它,但它仍然不是一个安全的方法。你可以运行命令为
echo $PASSWORD | sudo ./a.out
这是一个很好的建议,但问题'sudo visudo'在我的linux发行版上无法正常工作,我尝试过几种组合,'root su - visudo'以及更多但是......没有。 – Ron
@Ron,建议的第二种方法呢? – therainmaker
第二种方法(带回声)很好,很好。第一个更好,但是我不能在该linux上授予特权。 谢谢! – Ron
- 1. 以非root用户身份运行Nginx
- 2. 以非root用户身份运行ntpdate
- 3. 以非root用户身份运行Docker
- 4. 以普通用户身份执行程序(以root身份)
- 5. 检查bash脚本是以root用户还是普通用户身份运行?
- 6. 如何以root用户的cronjob身份从不同的用户运行命令?
- 7. 在linux中运行多个命令而不以root用户身份登录?
- 8. 以root用户身份运行C程序,无密码
- 9. 在arch linux中以root用户身份执行命令
- 10. 以root用户以外的其他用户身份运行Linux应用程序
- 11. 不能作为普通用户的身份运行celeryd但根
- 12. 以非root用户身份在linux中运行mono-service
- 13. root权限可以打破SQLDriverConnect(以普通用户身份运行)吗?
- 14. 以root身份运行部分代码
- 15. 以root用户身份以编程方式运行C程序
- 16. 以root身份执行linux命令
- 17. 以root用户身份通过cPanel运行cron?
- 18. Linux以非root用户身份执行df命令时跳过/root/.gvfs
- 19. 以root用户身份运行C++程序
- 20. 以不同的用户身份运行代码(C#)
- 21. UFT以普通用户身份运行不同于管理员
- 22. dpkg postinst - 如何以普通用户身份运行它
- 23. 系统crontab:如何以root用户身份运行脚本并以用户身份运行
- 24. 以root用户身份运行本机android可执行文件?
- 25. 如何以root用户身份在Android终端中运行AT命令?
- 26. 以root身份运行命令通过php
- 27. 以root用户身份执行命令,无需root密码或sudo
- 28. 以ubuntu中的其他用户身份运行命令
- 29. 如何以组中的用户身份运行特定命令
- 30. 在Docker中以非root用户身份运行应用程序
除了如果密码可以像这样“传递”将存在的大安全漏洞,那么'root'用户没有密码的系统呢? –
你最好解释为什么你的无特权程序需要做这个动作。 –