如何:移除对版本控制文件的访问权限

更新:2007 年 11 月

作为 Team Foundation 管理员,您可能需要移除对处于版本控制下的文件的访问权限。例如,有人可能会签入已感染病毒的文件。您还可以对版本控制的文件进行永久性地销毁。有关更多信息,请参见如何:销毁受版本控制的文件

下面的过程提供有关使用用户界面或 tf 命令行实用工具移除文件的详细信息。可以通过用干净的版本覆盖有问题的版本,并将干净的版本添加到数据库来移除访问权限。通过设置读/写权限,可使文件不出现在源代码管理资源管理器中。

说明:

虽然文件以已删除的状态保留在数据库中,但不要从数据库直接移除该文件对应的行,否则可能产生意外的结果。

警告:

如果您移除“Service Accounts”安全组对处于版本控制下的文件或文件夹的“读取”权限,VersionControl.Adapter 可能无法读取该文件或文件夹。如果适配器无法将版本控制信息读入数据仓库,则适配器将在应用层事件日志中写入一条类似下面的消息:“服务帐户可能没有检索此变更集的权限”。如果没有来自文件或文件夹的版本控制信息,则数据仓库以及后续的版本控制报告可能不会完全准确。

必需的权限

若要移除对 Team Foundation 版本控制文件的访问权,您必须属于“Team Foundation Administrators”组。有关更多信息,请参见 Team Foundation Server 权限

移除对处于版本控制下的文件的访问权限

  1. 在 Visual Studio“视图”菜单上,单击“其他窗口”,然后单击“源代码管理资源管理器”。

  2. 找到并签出要移除的文件。有关更多信息,请参见如何:签出和编辑受版本控制的项

  3. 在“签出”对话框中,请验证已选择正确的文件,然后单击“选择锁定类型”选项中的“签出”。

  4. 在要覆盖最新版本的文件的位置,创建一个名称和扩展名与其相同的新文件并保存。

  5. 签入文件。有关更多信息,请参见如何:签入挂起的更改

    说明:

    您可能希望确保所有在其计算机上具有该文件本地副本的客户端用户移除了在解决方案资源管理器中对该文件的任何引用,并手动移除了其客户端计算机上该文件的任何副本。

  6. 右击文件,然后单击“属性”打开文件的“属性”对话框。在“属性”对话框中,单击“安全”选项卡并清除“继承安全设置”框。

  7. 对每个用户和组(“管理员”除外),单击“拒绝”。

  8. 对其他用户,单击“确定”将文件从源代码管理资源管理器中移除。

从命令行移除对文件的访问权限

  1. 打开命令行,并使用 tf 实用工具的 CheckOut 命令获得要移除的文件的启用写入版本。例如:

    tf checkout myfile.cs

  2. 创建新文件,并覆盖要移除的文件。

  3. 使用 CheckIn 命令替换数据库中的文件的版本。

    例如,您可能希望添加注释,描述文件已覆盖并且权限被拒绝。

    tf checkin /comment:"Overwrote bad file and denied permissions."

  4. 同时使用 permission 命令和 /deny 选项以更改用户或组对该文件的权限。

    例如,可以使用下面的命令拒绝 ADATUM 域上的组对文件的读取权限。

    tf permission /inherit:no myfile.cs

    tf permission /deny:read myfile.cs /group:ADATAUM\Group1 ADATAUM\Group2 myfile.cs

请参见

任务

如何:控制对 Team Foundation 版本控制的访问