首页 > 其他分享 >【总结】带权限复制或转移目录

【总结】带权限复制或转移目录

时间:2023-06-13 13:32:18浏览次数:37  
标签:文件 文件夹 复制 共享 权限 目录 日志

目录权限

NTFS权限:文件夹属性中的安全选项卡中对应的ACL;可以通过xcopy方法/RoboCopy和fsmgmt迁移工具以及ntbackup工具/Windows Server Backup工具等进行迁移。

也可以使用第三方工具fastcopy/teracopy等也都是极好用的工具。

SHARE权限:permcopy是将文件夹的共享权限拷贝给目标文件夹。

目录权限的基本规则:

当您使用 Windows Explorer 复制或移动文件和文件夹时,在这些文件或文件夹上设置的权限可能会发生改变。

例如,当您在一个 NTFS 文件系统卷内或在两个 NTFS 卷之间复制一个文件时,Windows 将把它当作一个新文件。作为一个新文件,它将具有目标文件夹的权限,您将成为“创建者/所有者”。

可以使用Xcopy 命令/robocopy命令等结合自身的参数复制文件并保留已明确应用于这些文件的现有权限。

注意:记得之前xcopy在执行过程中占用内存到4G后就会出现进程卡死的问题;不知道现在是什么情况;我再测试的时候数据没有这么大,没有出现卡死的情况。

目录迁移-带权限

xcopy语法

xcopy \\192.168.1.100\testdir D:\testdir /O /X /E /H /K
或者
xcopy \\192.168.1.100\testdir \\192.168.1.200\testdir /O /X /E /H /K

#源目录下的所有内容(文件/目录/快捷方式)全部都会原样复制过去

【总结】带权限复制或转移目录_权限

这些开关具有下列作用: /E - 复制文件夹和子文件夹,包括空文件夹。 /H - 还复制隐藏文件和系统文件。 /K - 复制属性。一般情况下,Xcopy 将重置只读属性。 /O - 复制文件所有权和 ACL 信息。 /X - 复制文件审核设置(暗含 /O)。

注意:此操作过程不会覆盖继承的权限。使用带 /O /X /E /H /K 开关的 Xcopy 命令复制文件时,将应用下面的继承权限:

  • 直接分配到文件和文件夹的安全设置将被保留。
  • 从源父文件夹中继承的安全设置将丢失。
  • 目标文件夹的安全设置将被继承。
  • 当您将文件或文件夹移动到 FAT 卷时,这些文件夹和文件将丢失它们的 NTFS 权限,因为 FAT 卷不支持 NTFS 权限。

其他可能有用的参数:

/C: 可选: 即使有错误,也继续复制

/Y:不用提示你输入YES

/B: 复制符号链接和连接本身

/J: 可选,如果确认文件里面是大文件就用这个

RoboCopy语法

ROBOCOPY一个老工具了,属于XCOPY加强版,支持多线程,断点传,支持权限复制,支持限定层次拷贝(例如:你想拷贝n层,n层之下的子文件夹不拷贝,或者想复制一定层数的结构)

ROBOCOPY也提供差异同步的功能(默认是增量;例如原文件被删除了,在目标中这个删除的文件是不会被同步删除的;这点要注意,但我们可以通过参数/MIR开关控制);因此使用ROBOCOPY进行大量数据迁移时可以考虑分2个阶段:

  • 复制阶段
  • 同步差异阶段

用法 :

ROBOCOPY source destination [file [file]...] [options]

源 :: 源目录(驱动器:\路径或\\服务器\共享\路径)。
目标 :: 目标目录(驱动器:\路径或\\服务器\共享\路径)。
文件 :: 要复制的文件(名称/通配符: 默认为 "*.*")。

注意:源目录或者目标目录若名字带空格,全部加“” ,例子: “//192.168.1.100/temp share”

参数

描述

<source>

指定源目录的路径。

<destination>

指定目标目录的路径。

<file>

指定要复制的一个或多个文件。 支持通配符(* 或 ?)。 如果未指定此参数,*.* 将用作默认值。

<options>

指定要与 robocopy 命令结合使用的选项,包括复制、文件、重试、日志记录和作业选项。

例子1-复制:

这个一般用来完成首次复制。

robocopy \\192.168.11.100\share01 D:\DistDir /E /ZB /COPYALL /MT:64  /LOG+:xml_log_20230612.txt /R:5 /W:5

【总结】带权限复制或转移目录_服务器_02

参数:

/E : 文件夹、子文件夹、空文件夹

/ZB: 这里是核心

/Z:在可重新启动模式下,断点续传,复制的时候建议采用,实际上它会拖慢速度,大家自行考虑加不加。

/B:官方的解释如下

  • / Z :: 在可重新启动模式下复制文件。
  • /B :: 在备份模式下复制文件。
  • /ZB :: 使用可重新启动模式;如果拒绝访问,请使用备份模式。

重要:如果你不加这个/B,带域名用户和OU的NTFS权限根本没有转移过来!!这个我测试了N遍,这个/B,是robocopy真正核心的的命令。就算你后面的是 /copyall,没有这个/B,域权限根本过不来。

/COPYALL : 复制权限的核心命令。

官方解释:/COPY:复制标记:: 要复制的文件内容(默认为 /COPY:DAT)。 (复制标记: D=数据,A=属性,T=时间戳)。 (S=安全=NTFS ACL,O=所有者信息,U=审核信息)。 /SEC :: 复制具有安全性的文件(等同于 /COPY:DATS)。 /COPYALL :: 复制所有文件信息(等同于 /COPY:DATSOU)。 /NOCOPY :: 不复制任何文件信息(与 /PURGE 一起使用)。

总之复制的时候就是完全复制就好了 /COPYALL

/MT:64 默认好像8线程,最大不超过128;好像没什么用。

/LOG:xml_log_20230612.txt 此处建议,每一个文件夹用一个日志名,这个文件日志在哪里?拷贝完有提示,很明显。

作用:不会在你的命令提示行符输出执行结果,而是存储到一个指定的日志文件里面去,看上去像程序卡了,对于大的文件夹,文件扫描目录也会花很多时间。

/LOG+:代表追加的意思,如果日志文件已经存在则会将新的日志附加到现有日志中。

日志文件内容:

【总结】带权限复制或转移目录_权限_03

/R:5 /W:5 指定失败时的重试次数和等待重试的间隔时间。

/r:指定复制失败时的重试次数。 n 的默认值为 1,000,000(100 万次重试)。

/w:指定等待重试的间隔时间,以秒为单位。 n 的默认值为 30(等待 30 秒)。

例子2-同步

robocopy \\192.168.1.10\share01 D:\DistDir /E /ZB /COPYALL /MT:64 /LOG+:xml_log_20230613.txt /R:5 /W:5 /MIR

/MIR:这个是完全同步,因为ROBOCOPY是增量的,所以在复制的过程中,如果用户有删除文件,需要保证和旧的服务器完全一样,所以要加/MIR保证两边完全一致。

加或不加/MIR只会影响源目录中被删除的文件会不会在目标目录同步删除;其他都一样。

其他:

RoboCopy设计了非常复杂的参数选项,有特殊需求的朋友可以直接参考官网对参数的说明:

https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/robocopy


Permcopy语法

对于有安全权限的共享文件夹的迁移,可以用Xcopy或Robocopy等工具复制到目标机器上后,再用Permcopy.exe把SHARE权限复制过去.Permcopy在resource kit的工具光盘中有.

1)可以首先利用Xcopy或其他方法把该共享文件(包括所有内容)拷贝至目标机器

2)在目标机器上,共享拷贝过来的文件夹。

3)利用permcopy 把共享权限设置拷贝过去:

Permcopy \\源机器名 共享文件夹名 \\目标机器名 共享文件夹名

同服务器共享文件夹位置的修改

实际上Windows的共享文件夹设定是保存在注册表中的,我们在同文件服务器迁移和不同文件服务器间迁移时可以利用这一点完成共享目录设定的迁移。

注册表位置:

计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares

【总结】带权限复制或转移目录_权限_04

把path修改为目标路径就可以了。

【总结】带权限复制或转移目录_迁移_05

然后重启下服务器(或者重启下server服务也是一样的),可以看到共享就转移到我们新设定的位置了;并且share权限也是过来的。


标签:文件,文件夹,复制,共享,权限,目录,日志
From: https://blog.51cto.com/mlxia/6469134

相关文章

  • WebRTC十周年、Space X成功对接国际空间站、TikTok复制品Zynn或有快手支持|Decode the
    >>顺便祝大家六一快乐<<DecodetheWeek≠音视频技术周刊 01 SpaceX载人飞船首发成功并与国际空间站对接北京时间5月31日,SpaceX首次载人火箭发射成功,而这只是SpaceX创始人ElonMusk庞大的商业航天计划中的一环。在经历19个小时的飞行后,SpaceX龙飞船与国际空间站成功对接,对接......
  • Spring下的权限框架 spring security总结
    Spring下的权限框架springsecurity总结[code]springsecurity总结首先导入springsecurity所需要的jar包spring-security-core-2.0.5.RELEASE.jarspring-security-core-tiger-2.0.5.RELEASE.jar一.配置过滤器在web.xml中定义如下过滤器<filter><fil......
  • node express mvc router 简单目录结构笔记
          只用来参考的  app.jsconstexpress=require('express');constmorgan=require('morgan');consttourRouter=require('./routes/tourRoutes');constuserRouter=require('./routes/userRoutes');constapp=e......
  • 强制位权限
    当程序需要读取限制访问权限的文件时,一般都会通过合理的设计,使用seteuid()来达到访问受限文件的目的。为什么不用setuid()e呢?先以普通用户的身份来说,普通用户执行setuid()e,通常是返回失败的,即使在执行成功的情况下,也是相当于只执行了seteuid()。以root用户的身份来说,执行setuid......
  • OpenIddict应用权限
    @@openiddictImplicit OpenIddict包括一个代号为“应用程序权限”的内置功能, 允许控制和限制每个注册的客户端应用程序能够使用的OAuth2.0/OpenIDConnect功能。目前支持4类权限:端点权限。授予类型权限。范围权限。响应类型权限(在OpenIddict3.0中引入)。端点......
  • js实现复制粘贴
    在一些页面里,有时候会需要用户点击按钮或者控件需要把一些文字内容写入用户设备的剪切板里。在js中如何通过代码实现?接下来是两种实现方法!使用document.execCommandAPI注意document.execCommandAPI是同步执行,如果数据量大可能会阻塞页面加载,这种办法能兼容老版本浏览器和大......
  • minio查询桶中文件,桶目录中文件
    文章目录前言一、文件桶中的文件夹是什么?二、文件查询1.桶中文件查询2.桶中文件夹中的文件查询总结前言文章再续,书接上文minio进阶分页查询说到了文件,可以实现分页查询,然后上次查询的是桶中的文件列表,这次遇到了需要数据隔离的文件,也就是需要在桶中再次建立文件夹;然后查......
  • 2020-09-10 mysql主从复制
    mysql主从复制解决问题:高并发,灾难恢复,读写分离,故障转移mysql01mysql02数据实时同步:是通过执行的dmlsql语句(包括增删改),写入到二进制日志binlog文件中,来实现数据同步的.从数据库开启一个io线程读取主数据库中的binlog文件,读取到后,开启一个sql线程,执行binlog文件.达......
  • 基于LDAP&&Role-based Authorization Strategy实现Jenkins团队权限管理
    在实际工作中,存在多个团队都需要Jenkins来实现持续交付,但是又希望不同团队之间进行隔离,每个项目有自己的view,只能看到自己项目的jenkinsjob.但是,jenkins默认的权限管理体系不支持用户组或角色的配置,这里利用Role-basedAuthorizationStrategy实现上述目的权限角色配置直接跳过......
  • 目录-理解ASP.NET Core
    《理解ASP.NETCore》基于.NET5&.NET6进行整理,旨在帮助大家能够对.NET&ASP.NETCore框架有一个清晰的认识。目录Startup中间件(Middleware)依赖注入(DependencyInjection)主机(Host)配置(Configuration)选项(Options)路由(Routing)文件服务器(FileServer)日......