首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过php用户在root上进行Linux屏幕管理

通过php用户在root上进行Linux屏幕管理
EN

Stack Overflow用户
提问于 2011-03-31 18:42:10
回答 2查看 464关注 0票数 0

我想做一个脚本,可以在根用户上运行screen中的一些东西。这必须通过PHP system()函数完成,因此我需要找出方法sudo的根和传递一个密码,所有使用php。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-31 18:50:03

如果你真的需要从PHP sudo (不推荐),最好只允许特定的命令,而不需要密码。

例如,如果PHP是以apache用户身份运行的,并且您需要运行/usr/bin/myapp,则可以将以下内容添加到/etc/sudoers (或任何sudoers所在的位置):

代码语言:javascript
复制
apache ALL = (root) NOPASSWD:NOEXEC: /usr/bin/myapp

这意味着用户apache可以在没有密码的情况下以root用户身份运行/usr/bin/myapp,但应用程序不能执行其他任何操作。

票数 1
EN

Stack Overflow用户

发布于 2011-03-31 18:53:14

我相信一定有更好的方法来完成你正在尝试完成的任何事情,而不是你试图创建的任何机制。

如果你只是想把消息从一个php脚本写到某个地方的一个screen会话中,试试这个:

php中的

使用追加-写入访问权限打开文件:

代码语言:javascript
复制
$handle = fopen("/var/log/from_php", "wb");

写入您的文件:

代码语言:javascript
复制
fwrite($handle, "Sold another unit to " . $customer . "\n");

screen session中的

代码语言:javascript
复制
tail -F /var/log/from_php

如果不能只在screen会话中运行tail,那么可以使用write(1)实用程序将消息写入不同的终端。有关此机制的详细信息,请参阅write(1)mesg(1)。(我不太喜欢日志文件方法,因为它是持久的,可以在以后进行搜索。但我不知道您到底想要实现什么,所以这是另一种可能比日志文件上的tail -F更好的选择。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5498572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档