繁体   English   中英

如何在Mac中运行没有密码的Sudo代码

[英]How to run Sudo code without password in mac

我想在终端中运行“ sudo rm ing / tmp / instruments_sock”。 我正在通过使用robotil jar的代码来执行此操作。 但是我无法输入密码。 有什么办法可以运行此命令而无需在Mac中输入密码!! 我只想删除此命令的密码。

如果要执行没有密码的单个特权任务,最好的方法可能是使用setuid二进制文件。

简而言之,您可以创建一个小型程序,它可以满足您的需求。 然后,您可以通过将程序的所有者设置为root并启用setuid位来赋予程序root特权。

一个非常重要的警告 :不要只在setuid二进制文件中调用system("rm /tmp/something") 那是一个经典的安全漏洞。 不干净的环境变量(例如PATH)会劫持该命令。 上面的Wikipedia链接中有安全问题的简短介绍。

最简单,最安全的方法不是使用system(),而是使用该语言自己的文件处理库。 如果您不确定自己在做什么,请避免从二进制文件中运行Shell命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM