可乐信息网社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2727|回复: 1

使用命令icacls来备份与恢复NTFS权限

[复制链接]
发表于 2017-10-2 01:48 | 显示全部楼层 |阅读模式
背景介绍:

蛋疼客户Windows 2008 R2移除IUSR_LCHAS028针对文件夹和文件的写权限。如下:

一共好几千条的记录。。。

可以通过使用图形界面的权限管理来完成,但teamlead非要使用命令和脚本来实现(显得高大上?)

Boss发话了,只能开搞了...........

去Google上搜了下,有相关资料。。。使用命令icacls来实现。

=======================我是分割线===========================

写了个批处理脚本,如下:
  1. ::#+-------------------------------------------------------------------+  
  2. ::#| = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = |  
  3. ::#|{>/-------------------------------------------------------------\<}|           
  4. ::#|: | Author:  Anson Liu                                                   
  5. ::#| :| Email:   liuzsz@cn.ibm.com/Anson.liu@live.com
  6. ::#| :| Date:    4:00:00 PM 1/15/2015
  7. ::#| :|
  8. ::#| :|
  9. ::#|: | Purpose:                 
  10. ::#| :|       Backup, Remove, Restore the permission for folder and file.
  11. ::#|: |                                          
  12. ::#|: |                                          
  13. ::#| :|      /^(o.o)^\    Version: 1      
  14. ::#|{>\-------------------------------------------------------------/<}|
  15. ::#| = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = |
  16. ::#+-------------------------------------------------------------------+
  17. cls
  18. @ECHO OFF
  19. CLS
  20. color 0a

  21. ::set variable for path
  22. set PATH=C:\win\                ::change to the target path according your environment
  23. set BACK_PERMISSION=c:\         ::change to the location for backup permission

  24. GOTO MENU
  25. :MENU
  26. ECHO.
  27. ECHO.               =-=-=-=-=Manage the permission for folder and file=-=-=-=-=
  28. ECHO.
  29. ECHO.                       1  Backup the permission
  30. ECHO.
  31. ECHO.                       2  Remove the permission
  32. ECHO.
  33. ECHO.                       3  Restore the permission
  34. ECHO.
  35. ECHO.                       4  Exit
  36. ECHO.
  37. ECHO.
  38. ECHO.
  39. echo.                Choose the number:
  40. set /p  ID=
  41. if "%id%"=="1"  goto cmd1
  42. if "%id%"=="2" goto cmd2
  43. if "%id%"=="3" goto cmd3
  44. IF "%id%"=="4"  exit
  45. PAUSE
  46. :cmd1
  47. echo Backup the permission
  48. c:\windows\system32\icacls.exe %PATH%*  /save %bACK_PERMISSION%\win_backuppemission.txt /T
  49. goto MENU
  50. :cmd2
  51. echo Remove the permission
  52. c:\windows\system32\icacls.exe %PATH%  /remove chris /T
  53. GOTO MENU
  54. :cmd3
  55. echo Restore the permission
  56. c:\windows\system32\icacls.exe %PATH%  /restore %bACK_PERMISSION%\win_backuppemission.txt
  57. GOTO MENU
复制代码

注意

::set variable
set PATH=C:\win\                        设置为需要移除的文件夹
set BACK_PERMISSION=c:\          这个为权限备份位置



c:\windows\system32\icacls.exe %PATH%*  /save %bACK_PERMISSION%\win_backuppemission.txt /T

这条命令备份win文件夹及下面子文件夹和文件的权限。

c:\windows\system32\icacls.exe %PATH%  /remove chris /T

此条命令是移除Chris针对win文件夹,子文件夹及文件的所有权限。


c:\windows\system32\icacls.exe %PATH%  /restore %bACK_PERMISSION%\win_backuppemission.txt

还原用户Chris对win文件夹,子文件夹及文件的权限。


 楼主| 发表于 2017-10-2 03:00 | 显示全部楼层

======================================================================

1、强制将当前目录下的所有文件及文件夹、子文件夹下的所有者更改为管理员组(administrators)命令:takeown /f * /a /r /d y

2、将所有d:\documents目录下的文件、子文件夹的NTFS权限修改为仅管理员组(administrators)完全控制(删除原有所有NTFS权限设置):
cacls d:\documents\*.* /T /G administrators:F
3、在原有d:\documents目录下的文件、子文件夹的NTFS权限上添加管理员组(administrators)完全控制权限(并不删除原有所有NTFS权限设置):
cacls d:\documents\*.* /T /E /G administrators:F
4、取消管理员组(administrators)完全控制权限(并不删除原有所有NTFS权限设置):
cacls \\Server\Documents\%username%\我的文档 /t /e /r "mddq\domain admins"
cacls \\Server\Documents\%username%\桌面 /t /e /r "mddq\domain admins"


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|可乐信息网社区 ( 新ICP备10003818号 )

GMT+8, 2024-12-28 02:16 , Processed in 0.078125 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表