如何在运行时 golang 应用程序中获得根级别的访问/权限?
Posted
技术标签:
【中文标题】如何在运行时 golang 应用程序中获得根级别的访问/权限?【英文标题】:How could I get a root level access/permission in runtime golang application? 【发布时间】:2017-07-17 16:36:34 【问题描述】:以下命令将创建一个用户,但它要求 sudo 密码。
cmd := "sudo /usr/sbin/useradd "+
"-m -d "+home_dir+
" -s "+preferredShell +
" -g "+usrLoginName+
" "+ usrLoginName
cmdStatus,err := exec.Command("bash","-c",cmd).Output()
如何在没有 sudo 的情况下执行上述命令或如何为我的 golang 应用程序提供 root 级别权限?如何解决?
【问题讨论】:
【参考方案1】:使用 sudo 运行您的 golang 应用程序。
【讨论】:
但我不想这样做,它需要 sudo 密码。能否请您提出一些更好的替代方案? 上面一行是自动执行的(以 90 秒为间隔),那么我们如何在终端提供 sudo 密码? 好吧,听起来你需要学习 Unix 系统管理。成为 root 最简单的方法就是不要放弃它,所以作为系统服务运行。 @PiyushSinha 或者如果你在桌面环境中,你可能会使用 Polkit:en.wikipedia.org/wiki/Polkit 使用visudo
(或者,更准确地说,/etc/sudoers
文件)可以指定运行sudo
时不会要求输入密码的用户:askubuntu.com/a/147265/2639以上是关于如何在运行时 golang 应用程序中获得根级别的访问/权限?的主要内容,如果未能解决你的问题,请参考以下文章