所以我想阻止自己写入文件夹中的一些文件。我总是使用我比较的back_up文件夹,将数据传输到目标项目。问题是,有时候我会编辑备份文件。有什么方法可以拒绝我自己的编辑/写入权限吗?我不希望重命名/删除文件。设置文件夹只读标志是绝对没有的 - 之后我可以再次编辑/删除文件(至少在Win 8.1中)。这对我来说非常重要 - 因为现在我已经破坏了许多back_up文件,这给我带来了很多麻烦。有任何想法吗?
我正在运行最新版本的Windows 8.1 x64。
所以我想阻止自己写入文件夹中的一些文件。我总是使用我比较的back_up文件夹,将数据传输到目标项目。问题是,有时候我会编辑备份文件。有什么方法可以拒绝我自己的编辑/写入权限吗?我不希望重命名/删除文件。设置文件夹只读标志是绝对没有的 - 之后我可以再次编辑/删除文件(至少在Win 8.1中)。这对我来说非常重要 - 因为现在我已经破坏了许多back_up文件,这给我带来了很多麻烦。有任何想法吗?
我正在运行最新版本的Windows 8.1 x64。
Answers:
原始答案:
如果是NTFS,则可以使用文件系统安全功能。
编辑文件夹的“安全”选项卡,我假设您之前没有更改它们:删除“经过身份验证的用户”,它可能会警告您必须首先禁用继承,在“高级”选项中执行此操作。
确保UAC已启用。
现在,当您尝试编辑/添加/删除该文件夹中的任何内容时,UAC会警告您,您甚至可以将其设置为更高级别,每次都必须输入密码。
编辑: 上述方法是一个简单易懂的指南,仅适用于Windows Vista并需要管理员权限,以及未经过回放的文件/文件夹安全设置。
但是,如果您了解其背后的原理,则可以在任何用户帐户上使用NTFS的几乎任何Windows版本上执行此操作。
假设您的正常工作帐户是A,另一个“安全”帐户是B,您可以将文件夹所有者设置为B并为其授予完全权限(不要忘记检查“使用此对象的可继承权限替换所有子对象权限” “),然后将帐户A添加为只读,现在您只能使用帐户B写入,同时仍然在日常帐户A中读取/使用它。
如果没有管理员权限,则无法从访问列表中删除管理员,也不能更改所有者(如果是管理员)。但该方法应该仍然有效,如果您创建文件夹,所有者应默认为您。
PS。以上都是基于我的经验,如果您有更好的方法,欢迎咨询。
罗密欧是正确的,您可以通过属性将您的单个文件设置为只读,但您将无法保护它不被删除。
如果您想快速将多个文件更改为只读,还有一个建议。
打开命令提示符并输入命令 attrib +r [path]
利用通配符 *
它是包含文件的单个文件夹。每次我进行更改时,我都会“另存为”并增加版本号。然而, 有时我不小心点击“保存”并覆盖我的文件 - 史蒂芬 Vascellaro
如何使文件夹中的文件只读可访问
您可以使用 ICACLS 并明确拒绝 写属性 对特定文件夹中的所有文件的权限,并防止您自己(或任何安全组)覆盖或修改这些文件,但仍允许读取权限打开它们。
下面是环境的批处理脚本 %userdomain%\%username%
用于定义当前域(或本地计算机名称)和用户名签名到您执行批处理脚本的计算机上的变量(即 <domain>\<username>
)拒绝访问该帐户;如果需要,这可以很容易地被任何有效的域安全组名称替换(即 <domain>\<securitygroupname>
)。
替换的值 Folder=
变量是完全显式文件夹路径(或UNC路径)到您需要的位置,以使只读的现有文件可访问。
@ECHO ON
SET Folder=C:\Users\User\Desktop\Test
SET Security=%userdomain%\%username%
ICACLS "%Folder%\*" /deny "%Security%":(OI)(WA)
EXIT
如果查看文件ACL权限,您将看到 写属性 现在应用于显式拒绝 这个文件夹和文件 。
这是一个包含V1,V2等测试文档的文件夹,它已经运行了批处理脚本。
如果您尝试保存文件,则会弹出另存为对话框,如果您尝试使用相同的文件名覆盖已存在的文件,您将收到拒绝访问错误消息,因为该文件对于此只能是只读的帐户。
您只需执行另存为,为文件指定一个不同的名称,但要锁定所有要读取的文件只能访问的文件夹,这就是您将数字增加一个或其他任何内容的位置。
此文件夹中的任何新保存的文件现在都具有 写属性 一旦具有新文件名的文件保存到此文件夹,这些权限限制将立即生效。
/deny Sid:perm explicitly denies the specified user access rights. An explicit deny ACE is added for the stated permissions and the same permissions in any explicit grant are removed. WA - write attributes inheritance rights may precede either form and are applied only to directories: (OI) - object inherit
Write Attributes
ACE来了 夹 ,但随着 Apply to: Files only
设置。这将影响所有当前和未来的文件,并且永远不需要重新运行脚本以将ACE应用于单个文件。
Deny Delete
高手。虽然没有办法通过在文件夹级别设置的NTFS权限提前执行此操作,但这将满足无法删除/重命名现有文件的请求。
右键单击文件夹,属性,属性下面,设置ReadOnly,Apply。
这将使此文件夹中的所有文件(以及选择的子文件夹)仅用于读取。当您尝试保存R / O文件时,软件将为您提供另存为不同的名称