设置让php能够以root权限来执行exec() 或者 shell_exec()
一、查看启动你php的进程的用户是谁。
可以通过在命令行执行:ps -ef | grep php来看。或者在php中执行 echo exec('whoami') 来查看。centos下默认会是nobody。 nobody默认没有任何权限。
此时先自己添加一个用户和组。
/usr/sbin/groupadd xxxx
/usr/sbin/useradd -g xxxx -s /bin/bash xxxx
加完用户后、vim /etc/passwd 里面就可以看到你添加的用户了。
二、修改php启动用户为您刚添加的用户
找到你得php安装的地方的php-fpm.conf 。打开配置文件、编辑里面的 user = xxxx; group = xxxx; (xxxx为您刚才添加的用户)
重启php-fpm(service php-fpm restart)
重复上面查看php启动进程的用户、应该已经变了。
三、添加刚才的用户xxxx到sudoers里面
visudo //修改/etc/sudoers的内容
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
xxxx ALL=(ALL) ALL //新添加这一行
%xxxx ALL=(ALL) NOPASSWD: ALL //设置xxxx组下面的用户使用sudo不需要输入密码
四、到这里已经可以正常在exec中使用sudo your command来执行命令了!!!!
设置让php能够以root权限来执行exec() 或者 shell_exec()的更多相关文章
- 设置用户sudo -s拥有root权限
开通普通用户的ROOT权限,上线了可以禁止用户使用root权限 修改配置文件 vi etc/sudoers 在 root ALL=(ALL) ALL那么你就在下边再加一条配置:hjd ALL=( ...
- 使用fakeroot模拟root权限执行程序(转)
Hack #57: 使用fakeroot模拟root权限执行程序 fakeroot是什么 例如Debian在生成package的时候,编译完之后,不能立刻在当前环境执行make install,需要执 ...
- Android权限说明 system权限 root权限
原文链接:http://blog.csdn.net/rockwupj/article/details/8618655 Android权限说明 Android系统是运行在Linux内核上的,Androi ...
- Ubuntu16.04 启用root权限
装了Ubuntu 16.04之后想使用超级权限对系统进行操作 使用命令 su - 切换超级用户,提示输入密码,却怎么都不对,网上找的资料说是没有启用root权限,于是根据网上提供的方法启用root权限 ...
- 小米Play获取ROOT权限的经验
小米Play通过什么方式开通了Root权限?大家知道,android机器有Root权限,一旦手机开通了root相关权限,就能够实现更多的功能,举个栗子大家企业的营销部门,使用一些营销应用都需要在Roo ...
- Linux下在root权限下临时使用其它用户运行命令
一.简述 当我们在使用Linux时,经常需要在root权限下执行某些命令,或者在/etc/rc.d/rc.local中写一些角本.而如果某些角本必须使用非root用户时,直接su是不行的,比如Elas ...
- android手机抓wireshark包的步骤-tcpdump(需root权限)
1. 先给手机刷root权限,执行命令: adb root adb remount ok后:把tcpdump放到c盘根目录下:C:\ 2. 执行命令: adb push c:/tcpdump ...
- Debian下无root权限使用Python访问Oracle
这篇文章的起因是,在公司的服务器上没有root权限,但是需要使用 Python 访问 Oracle,而不管是使用 pip 安装组件还是安装 Oracle 的 client,都需要相应权限.本文即解决该 ...
- Atitit godaddy 文件权限 root权限设置
Atitit godaddy 文件权限 root权限设置 1. ubuntu需要先登录,再su切换到root1 2. sudo 授权许可使用的su,也是受限制的su1 3. ubuntu默认吗roo ...
随机推荐
- CentOS 7使用通过二进制包安装MySQL 5.7.18
安装依赖 yum install -y libaio 下载 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux- ...
- Bootstrap入门学习(三)——简单项目
此样例来自Bootstrap官网提供的入门级模版.仅仅有主要的东西:引入了预编译版的 CSS 和 JavaScript 文件,页面仅仅包括了一个 container 元素. 引入Bootstrap 创 ...
- 视频监控系统:C/S & B/S
近期一直和视频监控打交道.也做了大量的工作.当中包括了监控系统的两种模式实现: 1.C/S架构 C/S架构,主要是Android系统下监控client设计,基于VLC实现,可直接观看IP摄像机RTSP ...
- Memcache 分布式高可用集群介绍
分布式缓存需考虑如下三点: 1.缓存本身的水平线性扩展的问题. 2.缓存大病罚下的本身性能问题. 3.避免缓存的单点鼓掌问题. 分布式缓存存在的问题: 1.内存本身的管理问题.内存的分配,管理和回收机 ...
- 《Go学习笔记 . 雨痕》反射
一.类型(Type) 反射(reflect)让我们能在运行期探知对象的类型信息和内存结构,这从一定程度上弥(mi)补了静态语言在动态行为上的不足.同时,反射还是实现元编程的重要手段. 和 C 数据结构 ...
- 基于ASP.NET WebAPI OWIN实现Self-Host项目实战
引用 寄宿ASP.NET Web API 不一定需要IIS 的支持,我们可以采用Self Host 的方式使用任意类型的应用程序(控制台.Windows Forms 应用.WPF 应用甚至是Windo ...
- DbContextScope,A simple and flexible way to manage your Entity Framework DbContext instances,by mehdime
DbContextScope A simple and flexible way to manage your Entity Framework DbContext instances. DbCont ...
- [经使用有效]Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法
sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法 最近几天从网上找了几个asp.net的登录案例想要研究研究代码,结果在用 Sql Server2005附 ...
- Linux内存管理学习2 —— head.S中的段页表的建立
作者 彭东林 pengdonglin137@163.com 平台 TQ2440 Qemu+vexpress-ca9 Linux-4.10.17 正文 继续分析head.S: 此时r2存放的是设备树镜像 ...
- AngularJS的增删改查、state嵌套案例,不涉及服务端
本篇实践一个案例,大致是:左边有导航菜单,右边显示列表,并可对列表项编辑或删除,也可添加新的列表项.借此,可体会到:如何组织可扩展的AngualrJS文件结构,如何点击左侧菜单项右侧显示相应内容,an ...