文件管理
# NTFS
# 介绍
NTFS是Windows中最常用的文件系统,全称为New Technology File System,即新技术文件系统。
文件系统是在分区格式化时进行创建的,它用来组织文件的存储方式、检索方式、管理方式,不同的文件系统有不同的特性。
# 常见特性
- 安全性:NTFS可以对文件或文件夹进行ACL权限控制,包括用户和组的访问权限。
- 磁盘配额:NTFS支持磁盘配额,可以限制用户或组在磁盘上存储的数据量,以便控制磁盘使用量。
- 卷影副本:该功能可以对共享文件夹进行备份和还原。
- 支持大容量:NTFS支持大容量分区和大文件,最大支持16EB的分区和64GB的大文件。
# 权限管理
# ACL(访问控制列表)
右键文件或文件夹或分区,然后选择"属性",然后切换到"安全"选项卡,展示的就是ACL访问控制列表。
NTFS的权限管理是基于ACL(访问控制列表),Access Control List)的,ACL是一种用于控制文件或资源访问权限的机制。
ACL权限控制允许系统管理员定义哪些用户或用户组可以访问特定文件、文件夹或其他资源,并定义他们可以执行的操作类型。
- 文件权限:读取、执行、写入、修改、完全控制。
- 文件夹权限:列出文件夹内容、读取、执行、写入、修改、完全控制。
- 共享文件夹权限:读取、修改、完全控制。
ACL权限控制是针对用户SID而非用户名的。所以假如我们在ACL列表中添加了指定用户的权限,然后删除了该用户,然后重新创建一个同名用户,这个新创建的同名用户也是没有权限的,因为用户SID对不上。
# 继承性
NTFS中文件权限具有继承性,子文件以及子文件夹会继承父文件夹的权限设置。
也就是说如果对一个文件夹设置了指定权限,那么该文件夹中的所有文件和文件夹都会自动继承该权限,除非针对特定的子文件或子文件夹进行了单独的权限设置。
我们可以在高级中禁用继承,此时就可以对权限进行单独设置了。
# 权限累加
当一个用户同时属于多个用户组时,其所拥有的权限是这些用户组权限的累加。
# 拒绝优先
如果存在多个权限规则,其中一个规则是拒绝访问,而另一个规则是允许访问,系统将优先遵循拒绝规则,即使有允许规则存在也会被覆盖。
因为在ACL访问列表中,拒绝权限会放到最上面,而ACL又是从上往下判断权限。
# 移动复制
文件在同一分区内移动:保持原有权限。 文件在同一分区内复制:继承目标分区或目标文件夹的权限。 文件在不同分区内移动:继承目标分区或目标文件夹的权限。 文件在不同分区内复制:继承目标分区或目标文件夹的权限。
FSMT工具可以用于文件服务器迁移,可以保持现有权限。
# ABE(基于访问权限的枚举)
ABE功能可以使我们在文件共享时,只展示用户拥有权限的文件或文件夹。
ABE功能一般默认开启,如果没有可以在"添加角色和功能"中添加:文件和存储服务->文件和iSCSI服务->文件服务器。然后在服务器控制器->文件和存储服务->共享->右击对应共享目录选择属性->启用设置基于存储的枚举。
# SMB协议
SMB(Server Message Block)是一种在计算机网络中共享文件、打印机和其他资源的通信协议。它是一种客户端/服务器协议,它允许客户端计算机请求共享资源中的文件或服务。
文件共享是SMB协议的核心功能之一,客户端计算机可以向服务器发出请求,以访问共享资源,并在需要时执行读取、写入、创建、删除等操作。
# 共享文件夹
# 介绍
Windows中的共享文件夹就是SMB协议的实现之一,Windows中所有的磁盘格式都可以设置共享文件夹。
在Windows中,我们可以通过共享文件夹的方式将文件共享给网络上的其他用户,也可以为共享文件夹设置权限。
当某个文件夹被设置为共享文件夹后,其他用户就可以通过网络来访问此文件夹内的文件、文件夹等 (前提是用户拥有该文件夹的访问权限) 。
# 共享权限
网络用户必须拥有适当的共享文件夹权限才可以通过网络访问该文件夹。
共享文件夹权限包括以下:
读取:允许查看文件名与子文件夹名、查看文件内的数据、执行程序。
写入:允许新建与删除文件和子文件夹、修改文件内的数据。
完全控制:允许更改权限,但只适用于NTFS、ReFS磁盘格式。
# 用户有效权限
共享文件夹的权限同样具备累加性,当用户隶属于的多个组有不同权限,则用户对共享文件夹的有效权限为其所以权限来源的总和。
共享文件夹的权限同样是拒绝优先,当用户权限来源中,有一个权限是被拒绝的,那么即便其他权限来源中允许了那个权限,最后用户还是没有那个权限,拒绝会在累加过程中覆盖其他所以对该权限的来源。
# 共享权限与本地权限
当将文件夹被设置为共享文件夹后,Windows会将共享权限中设置的用户权限,添加到本地权限(NTFS/ReFS权限)中去。
当网络用户通过网络访问此共享文件夹时,会取该用户的有效共享权限和有效本地权限两者之间的严格交集作为最终有效权限。
例如:
- 用户A的有效共享权限为读取,有效NTFS权限为完全控制,则用户A对该文件夹最终有效权限为两者之间的交集读取权限。
- 又或者用户A的有效共享权限有读权限,有效NTFS权限有写权限,则用户最终为没有权限。
# 创建共享文件夹
右击要共享的文件夹 -> 共享选项卡 -> 共享 -> 添加并选择用户或用户组权限 -> 共享。
只有属于Administrators组、并且拥有文件夹读权限的用户,才能将文件夹设置为共享文件夹。
如果此计算机的网络位置为公用网络,则会要求选择是否要在所有公用网络启用网络发现与文件共享。如果选择否,此计算机的网络位置会被更改为专用。
需要更改共享权限时,我们可以重新设置共享文件夹,会覆盖之前设置的权限。
# 停止共享文件夹
右击共享的文件夹 -> 共享选项卡 -> 高级共享 -> 取消勾选共享此文件夹 -> 确定。
或者可以通过net share
命令查看共享名,然后通过net share 指定共享名 /delete
命令来停止指定的共享文件夹。
高级共享也可以设置最大同时连接数。或者添加共享名,每一个共享名可以分别访问和设置权限,但其中的文件相同。
请不要将系统自动建立的隐藏的共享文件夹停止共享,否则可能会影响系统的正常运行。而且计算机重启后,系统还是会自动将它们共享。
# 隐藏共享文件夹
如果共享文件夹有特殊的使用目的,不想让用户在网络上浏览到的话,我们可以在高级共享中在共享名后加上一个$符号,就可以实现隐藏共享文件夹的目的。
例如:共享名由test改为test$,然后删除旧的共享名,此时用户就需要用地址的形式("\\192.168.1.33\test$"),来访问隐藏文件夹,而不会在网络共享中看到。
# 管理已连接用户
查看已连接用户:计算机管理 -> 共享文件夹 -> 会话。
断开用户连接:计算机管理 -> 共享文件夹 -> 会话 -> 选中指定用户 -> 右击 -> 关闭会话。
# 管理被打开文件
查看被打开的文件:计算机管理 -> 共享文件夹 -> 打开的文件。
也可以通过PowerShell命令"Get-SmbOpenFile"来查看。
中断被用户打开的文件:计算机管理 -> 共享文件夹 -> 打开的文件 -> 选中指定文件 -> 右击 -> 将打开的文件关闭。