LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 876|回复: 3

请教:c语言中怎么由root用户切换到其他用户?

[复制链接]
发表于 2005-7-28 11:01:25 | 显示全部楼层 |阅读模式
想写一个程序,获得用户user1的某一个环境变量(这个程序有root权限),如果是在shell 下,可以用 su - user1 ,然后 echo $HOME,就可以获得user1 的家目录,请问在c语言里面怎么实现,
 楼主| 发表于 2005-7-28 11:06:08 | 显示全部楼层
getenv()可以获得当前用户的某个环境变量,

现在的问题是:怎么使程序的当前用户变为某个特定的用户(如user1) ,c语言中有可以实现类似shell 中类似 su 命令的函数吗
回复 支持 反对

使用道具 举报

发表于 2005-7-28 17:46:36 | 显示全部楼层
为啥不看一下SU的源代码呢>?
回复 支持 反对

使用道具 举报

发表于 2005-7-28 20:43:07 | 显示全部楼层
Post by kylints
想写一个程序,获得用户user1的某一个环境变量(这个程序有root权限),如果是在shell 下,可以用 su - user1 ,然后 echo $HOME,就可以获得user1 的家目录,请问在c语言里面怎么实现,


setuid.setgid.etc.

或者干脆用:
system()或是popen()&pclose()

shell写成:su kiron -c "echo $PATH"
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表