如何在程序中调用su,在后台完成用户切换?

cctime 2004-06-10 11:23:38
as title
...全文
111 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cctime 2004-06-11
  • 打赏
  • 举报
回复
不一定,我做了以下两个试验:
1、pipe + fork + execl("/bin/su", ...)
不成功,原因是su是从终端获取密码,而不是标准输入;
2、open("/dev/ptmx",...) + fork + execl(...),参考:http://cvs.gnome.org/viewcvs/procman/src/util.c?rev=1.16
不成功,原因是: 对虚终端grantpt()失败;

lbyoo 2004-06-10
  • 打赏
  • 举报
回复
必须使用root用户,因为只有root用户su的时候才不需要密码。
然后在程序中这样写:
su - useranme -c "命令"
stgd 2004-06-10
  • 打赏
  • 举报
回复
up

23,118

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧