当前位置:  开发笔记 > 编程语言 > 正文

更改用户PHP

如何解决《更改用户PHP》经验,为你挑选了1个好方法。

我需要在运行时更改PHP脚本的用户.我看过了posix_setuid,但它看起来不安全,需要root权限.最好的方法是使用用户密码(类似posix_setuid($username, $password))更改脚本的用户ID ,并避免以root身份运行脚本.

我对其他方法持开放态度,脚本不一定需要是PHP.但是,它将从apache调用.

对场景的一个好的反应是cPanel如何在当前登录用户的文件管理器上.

我需要更改用户,因为我正在为多用户设置创建文件管理器.目前,我已经设置了文件管理器,以便apache以root身份为我的PHP文件管理器提供服务.但是,这是不合理的,因为如果代码中存在安全漏洞,一个用户可以编辑整个服务器上的文件.

我正在寻找一种方法将SU脚本登录到登录用户,以便在出现安全漏洞的情况下,用户只能使用自己的文件.



1> DarthJDG..:

我不久前需要这样做.我基本上创建了一个bash脚本,它访问只有root有权访问的资源.这是我做的:

使用该visudo命令更改您的/etc/sudoers:

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
apache ALL= NOPASSWD: /sbin/myscript.sh

我添加了允许apache用户/sbin/myscript.sh使用sudo命令运行而不输入密码的行.

之后,您可以将以下内容放在php文件中以获取输出:

$output = shell_exec("sudo /sbin/myscript.sh");

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有