bat中的高级命令icacls权限批量配置

只有你想不到,没有做不到,只是在你的世界思路暂时没打通;个人认为不能单方面直接评判某种语言的功能强大于否,那是因为对它了解还不够深入,精髓部分没有完全掌握的原因。
任何语言都有其发展的优势特点,只是我们需要折中而择,物需所选,发散我们的思维,物(事物)尽(头)相通。很多事物有时我们暂时不明白的,陷入瓶颈,通过一段的摸索实践过程中(不限于对本事物),骤然发现我们已然理解了,恍然顿悟事物的奇妙,世界的奇妙,千丝万缕,甚至千头万绪,然而又在某一点上开始联成一线。
扯了这么多,说了个道理好像是瞎扯^.^下来自己再消化下,好久没写BAT命令了,开始进入主题,做个BAT演示案例。某某服务器存在批量挂码,现需清理文件中的***(替换服务器中指定文件config.php)为了防止此种情况复发,将此文件禁止写入,本案例采用1:1用BAT再现案例整个现场。
现场创建:
::Author: jerry
@echo off
set pathwww="E:\wwwroot"
for /f %%i in ( web.txt) do (
echo %%i
mkdir %pathwww%\%%i\web >>log.txt
)
echo. & pause

站点清单

创建效果一览


数据复制及替换(注意目录更换略):
::Author: jerry
@echo off
set pathwww="E:\wwwroot"
for /f %%i in ( web.txt) do (
echo %%i
xcopy "E:\bak\web\%%i.rar" /k "E:\bak\new\" /y >>log.txt
)
echo. & pause


批量建立站点用户:
::Author: jerry
@echo off
set pathwww="E:\wwwroot"
for /f %%i in ( web.txt) do (
echo %%i
net user %%i /add >>userlog.txt
)
echo. & pause

查看下创建的用户:net user

批量授权:
站点文件未授权前展示:

批量授权脚本:

@echo off
::author: by jerry
set pathwww="E:\wwwroot"
for /f "usebackq tokens=1 delims=" %%a in (web.txt) do call :qx %%a

pause
:qx
set webname=%1%
icacls %pathwww%\%webname%\web\config.php /grant %webname%:(rx)>>chmod.log
icacls %pathwww%\%webname%\web\config.php /deny %webname%:(w)>>chmod.log
echo. & pause

演示完成清理账号信息,清理站点脚本:

::Author: jerry
@echo off
set pathwww="E:\wwwroot"
for /f %%i in ( web.txt) do (
echo %%i
net user %%i /delete >>dellog.txt
rd %pathwww%\%%i /q /s
)
echo. & pause

内容也清理了:

案例按照1:1围绕从站点目录创建,数据复制(覆盖),站点用户创建,权限配置,权限更改,到站点账号及站点整体删除整个生命周期,用代码做了演示。整个操作完毕,讲了一大堆重点是icacls这个方便的高级货命令应用,平时都是点点点,很少用到它。

原文地址:https://blog.51cto.com/jdonghong/2441635

时间: 2024-10-29 19:08:05

bat中的高级命令icacls权限批量配置的相关文章

bat中rar压缩命令

bat中rar压缩命令 数据库备份,导出的dmp 文件比较大,需要压缩,压缩后大小能变为原来十分之一左右吧. 写的是批处理的语句,每天调用,自动导出dmp 文件,压缩删除原文件. 首先写下路径,先将压缩软件的路径写入系统的环境变量里,加入到path中.比如将"C:\Program Files\WinRAR\"加入到path中. 之后批处理中写好相应的处理命令: rar a -df %filename%.rar %filename%.dmp 附: 压缩参数 用法:     rar <

QT中QProcess调用命令行的痛苦经历

阅读目录 创建压缩包的方法 在QT中调用命令行 在QT中调用C++创建的dll 在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了2天仍然没找到原因,使用另外一种办法解决了. 回到顶部 创建压缩包的方法 在windows平台创建压缩包,可以直接使用rar.exe,该程序在安装winrar之后,在其安装目录下就可以找到.该程序是winrar对应的命令

bat 截取字符串(for命令) 推荐收藏

摘自:http://www.jb51.net/article/50354.htm 今天需要用批处理命令处理文件夹中的文件,需要用到bat中的for命令以及字符串截取的一些命令.在上面的链接中找到许多有用的信息,为了以后查找以及传播有用知识,摘抄在这里. 望 原著 务批判 FOR命令中有一些变量,他们的用法许多新手朋友还不太了解,今天给大家讲解他们的用法! 先把FOR的变量全部列出来: ~I - 删除任何引号("),扩展 %I %~fI - 将 %I 扩展到一个完全合格的路径名 %~dI - 仅将

Linux高级命令

在Linux 中的高级命令如下: 1.查看磁盘的空间:df    -h 2.查看内存空间:free   -h 3.查看进程:ps   -Af  |  ps   -ef 4. | 管道符 5.ip  addr:查看ip地址 6.ipdown禁用指定网卡设备 7.ipup:启用指定网卡设备 8.service  newwork  restart:重写启动网卡 9.service  network   start:启动网卡 10service  network   stop:停止网卡 11.netst

老男孩教育每日一题-2017年5月2日-Linux系统中,不小心把chmod命令的权限弄没了,怎么解决?

老男孩教育每日一题-2017年5月2日-Linux系统中,chmod命令没有执行权限(x权限)或者chmod命令文件的权限为000,怎么解决? 解决方法有两种: 方法一: [[email protected] bin]# cp cp /oldboy/chmod.new (此时复制cp命令文件命名叫chmod.new,此时chmod.new文件有就x的权限,但chmod.new不具备有chmod命令的共功能) [[email protected] bin]# cd /oldboy/ [[email

一个批量修改文件夹中文件名的命令

1. 只修改当前目录下的文件 [root]# rename -s  \.png  \_iphone.png  * 这个是修改目录下 的所有文件名,加入一个后缀 如: 1.png    ->>>   1_iphone.png 2. 递归修改当前目录下的所有子文件夹 [root]# find ./ -name  "*.png" | xargs  -I {} rename -s \.png  \_iphone.png  {} 如: 2.png    ->>>

Javascript中使用WScript.Shell对象执行.bat文件和cmd命令

Javascript中使用WScript.Shell对象执行.bat文件和cmd命令 http://www.cnblogs.com/ZHF/p/3328439.html WScript.Shell(Windows Script Host Runtime Library)是一个对象,对应的文件是C:/WINDOWS/system32/wshom.ocx,Wscript.shell是服务器系统会用到的一种组件.shell 就是“壳”的意思,这个对象可以执行操作系统外壳常用的操作,比如运行程序.读写注

Android系统篇之----Android中的run-as命令引出升降权限的安全问题(Linux中的setuid和setgid)

一.前言 最近一周比较忙,没时间写东西了,今天继续开始我们今天的话题:run-as命令,在上周的开发中,遇到一个问题,就是在使用run-as命令的时候出现了一个错误,不过当时因为工作进度的问题,这问题就搁浅没有解决,用了其他一个曲线救国的方式去解决的.那么咋们今天闲来说说Android中的run-as命令吧. 二.遇到的问题&解决问题 Android中我们知道如果设备没有root,我们想看一个应用的沙盒数据(/data/data/目录内容),在以前的方式很难办到,一般人都是选择root之后,去查

MySQL安装中无法通过命令删除原有权限的解决办法

在MySQL的安装中,出现了原有权限无法删除的情况.经过研究,需要按照以下步骤手动删除权限. 1.启动MySQL服务,service mysqld start 2.进入mysql数据库,use mysql; 3.查找host.user, select host,user from user; 4.进行手动删除,delete from user where host = xx; 5.刷新权限, select host,user from user; 6.重启服务,service mysqld re