标签: file-permissions

当文件由死域中的用户拥有时,如何在命令行重置文件所有权?

我想讲一个故事,所以如果你想了解问题的实质,请跳到水平线。

原标题:来自死域的僵尸不会给我我的文件!

我在恢复一些旧存档磁带时遇到了问题,其中文件和文件夹由不再存在的域中不再存在的用户拥有。

这些磁带包含在 Windows 2000、2003、2008、2012 R2(甚至可能有一些 NT4)中从本地 NTFS 卷和 CIFS NAS 存储阵列备份的文件,我正在 Windows Server 2022 中恢复它们。

在过去,保留文件所有权很有用,因为这是许多类型文件的唯一作者记录。

但在 2000 年代初的一段时期内,离开公司的员工的 Active Directory 帐户似乎被删除而不是被禁用。当然,他们拥有这些磁带上的文件和文件夹。

很久以后,域进行了重命名,由于用户已被删除,因此无法将其 SID 添加到 SID 历史记录中,无论如何,其范围都是未知的。


不管怎样,今天我正在从这些旧磁带中恢复文件,Windows 正在恢复去年的旧 DACL 和所有者。大错误:我不仅无法以管理员身份访问这些文件和文件夹,而且无法强制继承这些文件和文件夹的权限,甚至无法使用 icacls 和提升的命令提示符重置所有者。

icacls <folder> /setowner Administrators /t /c
icacls <folder> /reset /t /c
Run Code Online (Sandbox Code Playgroud)

我还有一个使用 xcacls.vbs 的脚本,可以让我重置文件夹的所有者。

这对于不属于僵尸的文件有效,但 Windows 拒绝访问很多很多文件。

但是,我能够在文件资源管理器 GUI 中重置所有者,并将新所有者推送到下面的所有内容。“替换所有子对象权限等..”然后替换权限。然后我就可以删除整个内容。

现在,我可以重新开始,而无需恢复 DACL 或所有者 - 但随后,原始的非僵尸作者将不得不被遗忘。(备份软件与此无关)。

icacls并且xcacls不会清理所有者和 DACL,即使有高程也是如此。但我可以在文件资源管理器中集体完成它!有没有办法使用命令提示符更有选择性地执行此操作?


更新:好的,所以 @u1686_grawity 的答案让我走上了正确的道路。我能够使用 takeown 删除文件并重新开始。

问题是,takeown /r它是一个生硬的工具,并且只拥有所有文件和文件夹的所有权。我可以直接从磁带恢复文件,而无需恢复其原始 ACL 和所有者。目标是通过重置 ACL 保留原始文件所有权(尽可能)。

对于更具选择性的内容,我将输出重定向 …

command-line windows-server file-permissions

9
推荐指数
1
解决办法
1745
查看次数

Windows XP 无法访问 Windows 7 共享文件夹

我有一个小型企业网络,那里有一台集中式成像机。这台机器然后有一个包含所有存储图像的共享文件夹。原来成像机是XP的,共享文件夹很容易被大家访问。但是,我们最近不得不将该机器升级到安装了 Win7 的新机器。XP 计算机无法再访问相同的共享文件夹。我还假设本地防火墙没有引起问题,因为以前连接很好。

我得到的确切错误:

“网络路径不可访问”

我采取的步骤:

  1. 关闭两台电脑的防火墙
  2. 确保“everone”和特定用户连接具有完全权限
  3. 我可以net view从命令提示符运行命令并查看成像机器
  4. 我无法从 XP 成功 ping 'imaging.domain.localhost'
  5. 我可以从XP ping 成像机(win7)的具体IP地址
  6. 我无法从另一台 Win7 机器访问共享文件夹
  7. 我可以通过 IP 地址连接:\192.168.1.1

注意:这是加入域

更新:

尽管静态 ip 地址和 NAT 路由表似乎可以解决这种情况,但每当我使用主机名 (\imaging) 与 ip 地址 (\192.168.1.1) 时,ip 地址都会立即解析,而“映像”大约需要 30 秒到 1分钟

有什么建议?

windows-7 windows-xp shared-folders file-permissions

8
推荐指数
1
解决办法
2万
查看次数

无法删除 flash9.ocx

确实有点巫毒。

买了一个新的启动驱动器,是时候使用旧驱动器来存储数据了。我想我可以通过擦除不需要的系统文件夹来节省一些时间,而不是备份、格式化和恢复。哇!

我有一个绝对不会被删除的 Adob​​e 文件。G:\Windows\SysWOW64\Macromed\Flash\flash9.ocx - 尽管它可能以不同的文件名开头。我能够重命名它,很奇怪。

需要明确的是,该驱动器当前是从外部插入的。所以我可以启动计算机,然后插入这个驱动器,并立即尝试删除。“正在使用的文件”框显示“无法完成操作,因为该文件已在另一个程序中打开”。

我会在这一点上格式化,但这是我的白鲸,我必须知道 Adob​​e 是否插入了一些讨厌的小注册表黑客 - 或者其他什么 - 使这变得不可能。

因为我确定它会出现,我已经取得了文件的所有权 - 这是阻止我删除驱动器上任何其他内容的技巧 - 文件权限的完全权利,你说出来,我已经摆弄了与文件本身。

我将尝试从系统驱动器中卸载闪存,以防正确对齐行星。有时我希望我不那么固执,并且已经可以格式化了。

adobe-flash file-permissions

8
推荐指数
1
解决办法
1万
查看次数

Bash:文件写入权限被拒绝

我遵循了有关“如何使用 LKM 在 C 程序中创建 Linux Proc 文件”的教程指南

我已经成功地制作了我的模块并加载了它。现在我想回显到我的 proc 文件以确保调用应该调用的方法。

我试过了:

$ echo "hello" > /proc/procEntry123       # But it says permission is denied!
$ sudo echo "hello" > /proc/procEntry123  # Same error message.
Run Code Online (Sandbox Code Playgroud)

如何提升权限以回显到此文件?我是该系统的唯一用户和管理员。

linux sudo file-permissions proc

8
推荐指数
1
解决办法
2万
查看次数

Windows 文件访问被拒绝

我似乎对“Windows 上的访问被拒绝”有一个普遍的问题。它每次都会表现出来,例如:

  • 我的 bat 文件调用编译器在磁盘上创建一个文件
  • 我的 bat 文件重命名了一个文件
  • 但是我也有文件下载(FireFox)到 Windows 桌面,如果我尝试删除文件,Windows 会给我“拒绝访问”。
  • 尝试禁用 AVG + 在 AVG resident shield 中进行例外处理

(我已尝试使用任务管理器 + Winternals 进程资源管理器检查是否应该导致锁定的进程仍在运行中。)

  • Windows 7的。
  • 我的用户帐户是管理员。
  • 所有文件均由同一用户帐户创建。

问题是最近出现的,但我昨天首先注意到的一些事情(当我再次开始调用我已经使用多年的 .bat 文件时)

我试过了:

  • 以“以管理员身份运行”启动例如 Windows 资源管理器,但这没有区别
  • 右键单击 - 属性 - 安全性和更改权限/所有权(尝试此操作时我也遇到“拒绝访问”,因此这无济于事)

如果我尝试更改“锁定”文件的安全性,这是一个屏幕截图。(这里的问题是每次创建文件时都会连续发生锁定)

例子

如果我继续点击,它表明我不是所有者?相反,我看到了:“无法显示当前所有者”

如果我尝试更改所有权,我会收到“拒绝访问”(没有权限)

当我刚刚创建它时,这让我感到困惑。(是的,通过 .bat 文件调用创建该文件的可执行文件。但所有这些都在我的管理员用户帐户下运行。)

认为这是某种奇怪的问题,在文件被 .bat 文件尝试删除后,某处保留了文件句柄一段时间...

我试图在 .bat 文件发出删除指令后 5 分钟走开。(暂停 .bat 脚本)返回时(几分钟后)文件消失了。(这让我花了一些时间才注意到,因为我偶然发现了这一点,但似乎我可以重复一遍)

所以所有问题的原因可能是文件不知何故处于一种神秘的状态,文件已被安排删除,但它只是非常缓慢?(因此对文件执行的所有其他操作也表现得非常奇怪。)

我不知道为什么会这样(尝试禁用例如 AVG),但我想这可以解释突然出现的问题吗?

windows-7 file-permissions

8
推荐指数
1
解决办法
4187
查看次数

没有删除权限的创建文件/文件夹权限

有没有一种方法可以为 Windows 7 中的用户设置创建文件/文件夹权限,而无需为文件夹授予删除权限?

我不希望用户删除该文件夹中的任何文件,但他应该能够创建新文件、重命名它们并将新文件复制到该文件夹​​中。这在 Windows 中可能吗?

windows-7 file-permissions

8
推荐指数
2
解决办法
5万
查看次数

无法删除字体文件

我的桌面上有 3 个字体文件,我暂时放置在那里以对它们进行一些测试。我使用手提箱融合“临时”安装了它们。

从那以后,我无法从我的计算机中删除这些字体。手提箱 Fusion 显示它们未激活,并且我没有打开任何程序(重新启动后),但我无法删除这些文件。

控制面板字体窗口中,这些字体上显示有一个快捷箭头符号(这是什么意思?)。我使用Nirsoft的“打开文件查看器”查看它们是否打开并显示它们是打开的,并且该进程显示为“系统进程”

我还尝试从控制面板中删除它们。它要求确认删除,所以我确认,但它实际上并没有删除。

我该怎么做才能删除这些字体文件?我使用的是 Windows 10 Pro 64 位。

fonts file-permissions windows-10

8
推荐指数
2
解决办法
4万
查看次数

如何在 Windows 10 中更改文件的所有权 - “访问被拒绝”

我有一个由程序创建的文件,显然与系统和 Google Backup & Sync 的交互以某种方式扰乱了文件的所有者和权限。(所有者显示为“未知”或“无法显示当前所有者”,具体取决于我查看的位置。)

我需要收回该文件的所有权。

标准方法(从文件资源管理器右键单击,属性,安全选项卡,高级,更改所有者)不起作用,因为我没有执行此操作的权限。基本上我需要在自己的系统上具有超级用户访问权限,这样我就可以覆盖操作系统的想法并实际管理文件。

有人有线索吗?重新启动似乎可以解决问题,但这是一个蹩脚的解决方案。如果有帮助的话,我在这个系统上有一个 Cygwin shell。我宁愿不必下载任何特殊的实用程序,除非来源非常值得信赖。

编辑问题再次出现。到目前为止,我无法设置有问题文件的所有者:

C:\Users\Brenden>icacls "C:\Users\Brenden\Google Drive\proj\tempj8\build   \classes\quicktest\AbstractTest.class" /SETOWNER "%username%" /c
C:\Users\Brenden\Google Drive\proj\tempj8\build\classes\quicktest\AbstractTest.class: Access is denied.
Successfully processed 0 files; Failed processing 1 files

C:\Users\Brenden>
Run Code Online (Sandbox Code Playgroud)

该命令也失败:

C:\WINDOWS\system32>takeown /F "C:\Users\Brenden\Google Drive\proj\tempj8\build\classes\quicktest\AbstractTest.class"
ERROR: Access is denied.

C:\WINDOWS\system32>
Run Code Online (Sandbox Code Playgroud)

windows file-permissions windows-10

8
推荐指数
2
解决办法
3万
查看次数

com.apple.quarantine 无处不在,我该如何阻止它?

不知何故,在某个时刻,我相信最近,我的系统决定将 com.apple.quarantine 属性添加到某些文件中。这是相当痛苦的,并且阻止我运行我在自己的编辑器中编写的脚本(BBEdit,我已经使用了很多年,直到最近几天)。我找到了问题(xattrs)并将 BBEdit 添加到系统偏好设置 > 安全和隐私 > 隐私 > 全磁盘访问。现在新文件就可以了。

为了追踪我运行的其他文件,/usr/bin/find ~ -xattrname com.apple.quarantine但文件相当多,所以我将其重定向到桌面上的一个文件。

该文件有130M大。

我注意到那里有很多 git 对象文件,但文件数量多得荒唐。这是正常的吗?如果不是,而且我认为这是不正确的,我怎样才能阻止这种情况再次发生?

  • 例如,我应该添加到gitFull Disk Access
  • Full Disk Access减轻应用程序负担的正确权限是吗?
  • 我是否必须对所有下载任何内容的应用程序执行此操作?
  • 怎么现在突然就成了问题了?

我将通过运行xattr -rd com.apple.quarantineDIR 来解决这个问题,但我不完全确定我应该运行它,~尽管它已经让我很恼火,希望它从任何东西中消失,甚至是真正的病毒。

这不是重复的我应该对 com.apple.quarantine 做什么?由于范围和上下文,我认为这种情况发生在奇怪的下载上是正常的,而不是我的整个帐户(而且我还没有检查过)。

任何帮助或见解将不胜感激。

security permissions file-permissions macos-mojave macos-catalina

8
推荐指数
1
解决办法
6525
查看次数

我可以单独使用 NTFS 在 LAN 上共享文件夹吗?

我在此处此处此处进行了多次搜索,其中包括许多关于 SE 的回复,以尝试解决一个简单的问题:

在只有 Windows NTFS 的环境中,如果我想单独使用 NTFS 在局域网上共享文件夹,我可以这样做吗?

我发现的所有结果似乎都没有解决这个问题。微软的文档也没有解决这个问题 - 从文件服务器上的共享和 NTFS 权限(强调我的):

可以通过两组权限条目来确定对文件服务器上文件夹的访问权限:对文件夹设置的共享权限和对文件夹设置的 NTFS 权限(也可以对文件设置)。共享权限通常用于管理具有 FAT32 文件系统的计算机,或其他不使用 NTFS 文件系统的计算机。

共享权限和 NTFS 权限是相互独立的,两者都不会改变对方。共享文件夹的最终访问权限是通过考虑共享权限和 NTFS 权限条目来确定的。然后应用更严格的权限。

粗体的句子令人困惑。例如,如果Share permissions are often used for managing computers with FAT32 file systems这并不意味着,在仅 NTFS 的环境中,我不需要共享权限,我只能依赖 NTFS 权限?

8 年前在 TechNet 上发布了一个类似的问题,但大多数答案只是恢复到上面Microsoft 文档,只有一个答案似乎表明可以仅使用 NTFS

使用 ntfs 权限,您需要知道目录的路径并拥有该目录的权限。另请注意,使用标准 Windows 服务器安装时,所有服务器驱动器都有一个默认的管理共享(c$、d$、e$ 等)。因此,例如对于安全的安全模型,我将执行以下操作:

  1. 删除所有管理共享(c$、d$ 等)
  2. 从包含用户数据的目录中删除所有人
  3. 现在返回并为相关目录设置 ntfs …

windows-7 ntfs network-shares file-permissions windows-10

8
推荐指数
3
解决办法
3383
查看次数