- @echo off
- cls
- echo ##########################################################
- echo # #
- echo # 设置磁盘权限
- echo 项: #
- echo # #
- echo # 1 如需使用PHP请先使用“服务器自主管理工具箱”安 #
- echo # 装再使用此程序设置权限,若手动安装PHP则需手动 #
- echo # 给PHP目录加上USERS的读权限再使用此脚本。 #
- echo # #
- echo # 2 此脚本只给了网站目录IIS访问帐户的修改权限, #
- echo # 如需要使用.net需手动加上IIS_WPG组的权限。 #
- echo # #
- echo # 3 此脚本只适用于网站服务。 #
- echo # #
- echo # 4 添加修改权限方法:右键目录叵文件--属性--安全 #
- echo # 选择用户,在下方法勾上需要的权限。点击添加-- #
- echo # 高级--立即查找,选择用户名确定即可添加用户 #
- echo # #
- echo ##########################################################
- echo.
- rem ====================================得到IUSER帐户
- net user|find /v "命令成功完成"> %windir%\temp\isUser1.txt 2>nul
- echo.> %windir%\temp\isUser.txt 2>nul
- set webUser=
- for /f "skip=4 tokens=1" %%i in (%windir%\temp\isUser1.txt) do echo %%i>> %windir%\temp\isUser.txt 2>nul
- for /f "skip=4 tokens=2" %%i in (%windir%\temp\isUser1.txt) do echo %%i>> %windir%\temp\isUser.txt 2>nul
- for /f "skip=4 tokens=3" %%i in (%windir%\temp\isUser1.txt) do echo %%i>> %windir%\temp\isUser.txt 2>nul
- for /f "skip=1" %%i in (%windir%\temp\isUser.txt) do call:GetIusr %%i
- set /p webUser=输入网站访问帐号(为空则使用默认帐号[%webUser%]):
- del /f /q %windir%\temp\isUser1.txt
- del /f /q %windir%\temp\isUser.txt
- goto endGetIusr
- :GetIusr
- set webUser1=%1
- if /i %webUser1:~0,5%==IUSR_ set webUser=%1
- goto :eof
- :endGetIusr
- REM ===============================获取C盘文件列表
- set /a No=0
- set /a No1=0
- set /p=初始化程序... <nul
- set 退格=
- echo y|cacls c:\ /g administrators:f > nul 2>nul
- cacls c:\ /g system:f /e > nul 2>nul
- dir /s /b c:\ > %windir%\temp\cacls.txt 2>nul
- dir /s /b %windir%\ > %windir%\temp\cacls1.txt 2>nul
- for /f "tokens=1,2 delims=:" %%a in ('findstr /n ".*" "%windir%\temp\cacls.txt"') do set /a totalNo=%%a
- for /f "tokens=1,2 delims=:" %%a in ('findstr /n ".*" "%windir%\temp\cacls1.txt"') do set /a totalNo1=%%a+13
- set /p=ok < nul
- echo.
- REM ===============================开始设置C盘权限
- set isGoOn=Y
- set /p isGoOn=是否设置C盘权限(Y/N)[Y]:
- if /i "%isGoOn%"=="N" goto endSetC
- set /p=初始化C盘权限... 0/%totalNo%<nul
- for /f "tokens=* delims=" %%i in (%windir%\temp\cacls.txt) do call:setAcl "%%i"
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=初始化C盘权限... OK <nul
- echo.
- set /p=设置C盘权限细节... 0/%totalNo1%<nul
- for /f "tokens=* delims=" %%i in (%windir%\temp\cacls1.txt) do call:addUsers "%%i"
- cacls "%windir%" /t /g Users:r /e /c > nul 2> nul
- set /a No1+=1
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
- cacls "C:\Program Files\Common Files\ODBC" /g Users:r /e /c > nul 2> nul
- set /a No1+=1
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
- cacls "C:\Program Files\Common Files\Services" /g Users:r /e /c > nul 2> nul
- set /a No1+=1
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
- cacls "C:\Program Files\Common Files\System" /g Users:r /e /c > nul 2> nul
- set /a No1+=1
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
- cacls "C:\Program Files (x86)\Common Files\ODBC" /g Users:r /e /c > nul 2> nul
- set /a No1+=1
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
- cacls "C:\Program Files (x86)\Common Files\Services" /g Users:r /e /c > nul 2> nul
- set /a No1+=1
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
- cacls "C:\Program Files (x86)\Common Files\System" /g Users:r /e /c > nul 2> nul
- set /a No1+=1
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
- cacls "%windir%\temp" /g Users:c /e /c > nul 2> nul
- set /a No1+=1
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
- cacls "%windir%\System32\cmd.exe" /r Users /e /c > nul 2> nul
- set /a No1+=1
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
- cacls "%windir%\System32\cacls.exe" /r Users /e /c > nul 2> nul
- set /a No1+=1
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
- cacls "%windir%\System32\net.exe" /r Users /e /c > nul 2> nul
- set /a No1+=1
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
- cacls "%windir%\System32\regsvr32.exe" /r Users /e /c > nul 2> nul
- set /a No1+=1
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
- cacls "c:\php5" /r Users /e /c > nul 2> nul
- set /a No1+=1
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置C盘权限细节... OK <nul
- echo.
- goto endSetC
- :setAcl
- set /a No+=1
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=初始化C盘权限... %No%/%totalNo%<nul
- set tmpPath=%1
- echo y|cacls %1 /g administrators:f > nul 2>nul
- cacls %1 /g system:f /e > nul 2>nul
- goto :eof
- :addUsers
- set /a No1+=1
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
- cacls %1 /g Users:r /e > nul 2>nul
- goto :eof
- :endSetC
- REM ========================设置其它盘权限
- set DiskStr=DEFGHIJKLMNOPQRSTUVWXYZ
- set /a DiskNo=23
- :GoOnSetDisk
- set thisDisk=%DiskStr:~0,1%
- set DiskStr=%DiskStr:~1%
- set /a DiskNo-=1
- set isGoOn=Y
- set /p isGoOn=是否设置%thisDisk%盘权限(Y/N)[Y]:
- if /i "%isGoOn%"=="N" goto SetOtherDisk
- set /p=设置%thisDisk%盘权限... <nul
- dir /s /b %thisDisk%:\ > %windir%\temp\cacls.txt 2> nul
- set /a totalNo=0
- set /a No=0
- for /f "tokens=1,2 delims=:" %%a in ('findstr /n ".*" "%windir%\temp\cacls.txt"') do set /a totalNo=%%a+1
- for /f "tokens=* delims=" %%i in (%windir%\temp\cacls.txt) do call:setDisk "%%i"
- echo y|cacls %thisDisk%:\ /g administrators:f > nul 2>nul
- cacls %thisDisk%:\ /g system:f /e > nul 2>nul
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置%thisDisk%盘权限... OK <nul
- echo.
- if %DiskNo% GTR 0 goto GoOnSetDisk
- goto endSetDisk
- :SetOtherDisk
- set isSetOther=Y
- set /p isSetOther=是否设置其它盘权限(Y/N)[Y]:
- if /i "%isSetOther%"=="N" goto endSetDisk
- goto :GoOnSetDisk
- :setDisk
- set /a No+=1
- echo y|cacls %1 /g administrators:f > nul 2>nul
- cacls %1 /g system:f /e > nul 2>nul
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置%thisDisk%盘权限... %No%/%totalNo%<nul
- goto :eof
- :endSetDisk
- REM =======================设置网站目录权限
- tony.rings> %windir%\temp\webDir.txt 2>nul
- : addWebDir
- set WebDir=
- set /p WebDir=添加网站目录(为空则添加结束):
- if "%WebDir%"=="" goto endAddWebDir
- echo %WebDir%>> %windir%\temp\webDir.txt 2>nul
- goto addWebDir
- :endAddWebDir
- for /f "tokens=* delims=" %%i in (%windir%\temp\webDir.txt) do call:setWebDir "%%i"
- goto endSetWebDir
- :setWebDir
- set /a No=1
- set /a totalNo=1
- set /p=设置%1权限... <nul
- dir /s /b %1> %windir%\temp\webSubDir.txt 2>nul
- for /f "tokens=1,2 delims=:" %%a in ('findstr /n ".*" "%windir%\temp\webSubDir.txt"') do set /a totalNo=%%a+1
- cacls %1 /t /g %webUser%:c /e /c > nul 2> nul
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置%1权限... 1/%totalNo% <nul
- for /f "tokens=* delims=" %%i in (%windir%\temp\webSubDir.txt) do call:setWebSubDir "%%i" %1
- goto :eof
- :setWebSubDir
- set /a No+=1
- cacls %1 /t /g %webUser%:c /e /c > nul 2> nul
- set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格 %%退格%%退格%%退格%%退格%%退格%<nul
- set /p=设置%2权限... %No%/%totalNo% <nul
- goto :eof
- :endSetWebDir
- del /f /q %windir%\temp\cacls1.txt
- del /f /q %windir%\temp\cacls.txt
- del /f /q %windir%\temp\webDir.txt
- del /f /q %windir%\temp\webSubDir.txt
- echo .
- echo 恭喜您,设置完成! 请按任意键退出程序!
- pause > nul
转载于:https://blog.51cto.com/datarecovery/190547