使用 PHP + shell 生成 一键设置权限的脚本。
linux 系统 支持PHP脚本一键设置环境。shell脚本一键设置环境。那么 我今天 使用 PHP + shell 生成 一键设置权限的脚本。
举例子:linux服务器 一键配置discuz网站环境权限
在linux服务器上 安装网站。最主要的是权限问题。(随话说 linux 系统较安全)
1. 第一次安装discuzX3.1论坛程序

2. 会出现以上的情况,那你是一个一个 chmod 777 文件/目录 还是使用脚本。一键搞定?
3. linux 系统 支持PHP脚本一键设置环境。shell脚本一键设置环境。那么 我今天 使用 PHP + shell 生成 一键设置权限的脚本。
4. PHP 代码如下:
- <?php
- $str = "#!/bin/sh\n";
- $shell = 'chmodfile.sh';
- $dir = array(
- './config/config_global.php'
- ,'./config/config_ucenter.php'
- ,'./config'
- ,'./data'
- ,'./data/cache'
- ,'./data/avatar'
- ,'./data/plugindata'
- ,'./data/download'
- ,'./data/addonmd5'
- ,'./data/template'
- ,'./data/threadcache'
- ,'./data/attachment'
- ,'./data/attachment/album'
- ,'./data/attachment/forum'
- ,'./data/attachment/group'
- ,'./data/log'
- ,'./uc_client/data/cache'
- ,'./uc_server/data/'
- ,'./uc_server/data/cache'
- ,'./uc_server/data/avatar'
- ,'./uc_server/data/backup'
- ,'./uc_server/data/logs'
- ,'./uc_server/data/tmp'
- ,'./uc_server/data/view'
- );
- foreach(dirasdirasval){
- str.="chmod777".str.="chmod777".val."\n";
- }
- file_put_contents(shell,shell,str);
5. 生成的shell 命令代码如下:
- #!/bin/sh
- chmod 777 ./config/config_global.php
- chmod 777 ./config/config_ucenter.php
- chmod 777 ./config
- chmod 777 ./data
- chmod 777 ./data/cache
- chmod 777 ./data/avatar
- chmod 777 ./data/plugindata
- chmod 777 ./data/download
- chmod 777 ./data/addonmd5
- chmod 777 ./data/template
- chmod 777 ./data/threadcache
- chmod 777 ./data/attachment
- chmod 777 ./data/attachment/album
- chmod 777 ./data/attachment/forum
- chmod 777 ./data/attachment/group
- chmod 777 ./data/log
- chmod 777 ./uc_client/data/cache
- chmod 777 ./uc_server/data/
- chmod 777 ./uc_server/data/cache
- chmod 777 ./uc_server/data/avatar
- chmod 777 ./uc_server/data/backup
- chmod 777 ./uc_server/data/logs
- chmod 777 ./uc_server/data/tmp
- chmod 777 ./uc_server/data/view
使用 PHP + shell 生成 一键设置权限的脚本。的更多相关文章
- Shell文件权限和脚本执行
一.预备知识 1.shell的作用 2.常识 (1)Tab键自动补全 使用Terminal时,输入命令的前几个字母,敲tab会自动补全命令或文件名.目录等. 好处:操作速度更快:不容易出错: ...
- unity3d在菜单栏,一键设置Player setting及自动打包并设置apk的存储位置
项目进行中,领导要求能够进行一键设置Player settings及自动打包并设置apk的位置,所以自己就上网搜索了很多大神的文章.最后是完成了领导需要的功能,在这里记录并分享一下(此项指针对安卓ap ...
- Shell记录-Shell命令(文件权限)
chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. 1. 命令格式 ch ...
- 【SQLSERVER】如何设置权限用户
一.设置权限用户的意义 SQLSERVER 数据库有两个登录方式,一个是 Windows 身份验证方式 ,另一个是 SQLSERVER 身份验证方式(sa用户): 1, Windows 身份验证方式, ...
- Shell之用户与权限
用户与组 早期Linux系统设计为了能够实现多用户.多进程高效的利用服务器资源,在此种情况下,为了能够保证用户与用户之间的文件不被随意的访问及修改.删除等操作,用户.组的管理能在某种程序上实现管理用户 ...
- shell中系统任务设置
shell中系统任务设置 1.系统启动流程 启动计算机的硬件(BIOS) 读取时间 选择对应的启动模式(USB HDD EFI) 如果是Linux系统,回去找/boot目录.引导这个系统启动 计算机系 ...
- powershell批量设置权限
批量设置权限 $acl=get-acl .\demo Get-ChildItem .\Documents -Recurse -Force|Set-Acl -AclObject $acl
- Q: ossfs挂载时如何设置权限?
Q: ossfs挂载时如何设置权限? 如果要允许其他用户访问挂载文件夹,可以在运行ossfs的时候指定allow_other参数: ossfs your_bucket your_mount_point ...
- 微信支付(20140923更新)商户支付密钥key的生成与设置
微信支付(0923更新)商户支付密钥key的生成与设置 说明:新版微信支付,用户必须授权登录才能支付.需要商家自己设置商户号支付密钥. 设置商户号支付密钥方法如下: 1. 申请通过审核后,打开微信发来 ...
随机推荐
- Android系统中setprop,getprop,watchprops命令的使用(转载)
转自:http://blog.csdn.net/yao_guet/article/details/6531241 在android系统中,有一些初始化的配置文件,例如: /init.rc /defau ...
- Ruby Numeric类
Numeric类 Numeric ---------> Integer ---------> Fixnum ...
- bzoj 1699: [Usaco2007 Jan]Balanced Lineup排队【st表||线段树】
要求区间取min和max,可以用st表或线段树维护 st表 #include<iostream> #include<cstdio> using namespace std; c ...
- bzoj 3205: [Apio2013]机器人【dfs+斯坦纳树+spfa】
第一次听说斯坦纳树这种东西 先dfs预处理出来dis[i][j][k]表示格子(i,j)向k方向转移能到哪,记忆话搜索预处理,注意如果有环的话特判一下 设f[i][j][x][y]表示复合机器人i-j ...
- 【POJ - 1321】棋盘问题 (dfs)
棋盘问题 Descriptions: 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘 ...
- linux的SHELL编程
管道 | 特殊的重定向 前一个命令的输出作为后一个命令的输入; 管道连接的命令数没有限制; who|wc−l统计用户数ps |sort|more 按序显示当前进程名 字符:具有特定作用的特殊字符 ,& ...
- 题解报告:hdu 2057 A + B Again
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2057 问题描述 我们的HDOJ必须有许多A + B问题,现在又有新的问题出现. 给你两个十六进制整数, ...
- Hackonacci Matrix Rotations 观察题 ,更新了我的模板
https://www.hackerrank.com/contests/w27/challenges/hackonacci-matrix-rotations 一开始是没想到观察题的.只想到直接矩阵快速 ...
- ASP.NET Core MVC使用MessagePack配合前端fetch交换数据
1.安装Nuget包 - WebApiContrib.Core.Formatter.MessagePack https://www.nuget.org/packages/WebApiContrib.C ...
- mysql 判断字符串是否为其他字符串的子集
1.mysql 提供单个用逗号隔开判断某个字符串是否包含在其他字符串的之内:FIND_IN_SET('需要匹配的字符串','源字符串'); demo: select FIND_IN_SET('111' ...