thinkphp 中调用root权限python脚本

默认thinkphp使用apache用户,没有权限执行具有root权限的后台脚本,需要使用sudo。

root权限下修改/etc/sudoers

  1. 添加文件的写权限:chmod u+w /etc/sudoers
  2. 编辑/etc/sudoers文件,找到这一 行:"root ALL=(ALL) ALL"
  3. 在起下面添加"apache ALL=(ALL)       NOPASSWD: ALL",然后保存退出。
  4. 撤销文件的写权限:chmod u-w /etc/sudoers

ok,这样在php就可以通过sudo 直接调用脚本了

thinkphp 中调用root权限python脚本

时间: 2024-10-10 11:52:15

thinkphp 中调用root权限python脚本的相关文章

cocoa中获得root权限的几种方法

目前我所知道的,在cocoa中获得root权限的方法有3种: 1. 通过AuthorizationCopyRights函数 2. 在UI上添加一个锁的样子的控件,然后通过开关这个锁来获取root权限 3. 直接调用Applescript来以root权限执行脚本 其中方法1和2一般用来执行一个shell脚本或者一个可执行文件,方法3则直接执行一个applescript脚本. 当然方法1和2也可以执行一个保存的applescript脚本,方法3也可以用applescript脚本来执行shell或可执

android中获取root权限的方法以及原理(转)

一. 概述 本文介绍了android中获取root权限的方法以及原理,让大家对android 玩家中常说的“越狱”有一个更深层次的认识. 二. Root 的介绍 1. Root 的目的 可以让我们拥有掌控手机系统的权限,比如删除一些system/app下面的无用软件,更换开关机铃声和动画,拦截状态栏弹出的广告等. 2. Root的原理介绍 谷歌的android系统管理员用户就叫做root,该帐户拥有整个系统至高无上的权利,它可以访问和修改你手机几乎所有的文件,只有root才具备最高级别的管理权限

在android程序中调用shell命令与脚本

最近做android的一个功能就是调用shell命令来进行一些系统级别的操作,比如说是关机开机之类的,现在总结一下具体的用法以及遇到的坑(基于我所用到的,没用到的我就不说了) (1) Runtime.getRuntime().exec("ls"); 这是最简单的一种,你输入后就能就会执行ls命令,如果要获得输出的话可以这样写 Process p = Runtime.getRuntime().exec("ls"); String data = null; Buffer

Shell 脚本中调用另一个 Shell 脚本的三种方式

主要以下有几种方式: Command Explanation fork 新开一个子 Shell 执行,子 Shell 可以从父 Shell 继承环境变量,但是子 Shell 中的环境变量不会带回给父 Shell. exec 在同一个 Shell 内执行,但是父脚本中 exec 行之后的内容就不会再执行了 source 在同一个 Shell 中执行,在被调用的脚本中声明的变量和环境变量, 都可以在主脚本中进行获取和使用,相当于合并两个脚本在执行.   第一种:fork 特点:会生成子PID而且可重

查找计算机中文件位置的python脚本

有时想查找某个文件时,却忘记了文件在计算机中存放的位置,这是一个经常遇到的问题. 当然如果你使用windows 7的话,可以直接用右上角的搜索框来搜索. 最近在学习python,正好拿这个来练练手,写一个查找文件的脚本. 主要思路是遍历目录下所有的文件和子目录,与要查找的文件对比,如果匹配就放入查找结果. 1 import os,sys,pprint,time 2 def find(pattern,directory): 3 found =[] #Store the result 4 patte

个人工作中ssd、audio python脚本总结

1.os.system(cmd)或者os.popen(cmd)调用外部命令 cmd中需要注意特殊字符的转义功能,如: USBSTOR\DISK&VEN_GENERIC-&PROD_SD/MMC&REV_1.00\20100818841300000&0 &在批处理中会将前段与后段分割,使用^&可避免转义: 或者整个字符串使用""括起来 同理,如果字符中有‘<','>',无需转义时使用^<,^>

ThinkPHP中:RBAC权限控制的实习步骤

使用版本ThinkPHP3.1.3 第一步,建表及数据 第二步,建关联模型 第三步,控制器使用关联模型.配置文件 第四步,模板显示数据 第一步,建表及数据 在数据库中,建立一个companysvn数据库,库下建立五张表 建表好导入数据的代码如下 1 # -------------------------------------------------------- 2 # Host: 127.0.0.1 3 # Server version: 5.0.45-community-nt-log 4

在java中调用python方法

1.http://sourceforge.net/projects/jython/下载jython包,把其中的jython.jar添加到工程目录 示例: 1.摘自:http://blog.csdn.net/anbo724/article/details/6608632 1.在java类中直接执行python语句 import javax.script.*; import org.python.util.PythonInterpreter; import java.io.*; import sta

shell调用python脚本,并且向python脚本传递参数

1.shell调用python脚本,并且向python脚本传递参数: shell中: python test.py $para1 $para2 python中: import sys def main($canshu1, $canshu2) ..... main(sys.argv[1], sys.argv[2]) 2.使用shell调用python中的函数: python脚本如下: test.py: import ConfigParser config = ConfigParser.Config