Chuyển tới nội dung chính

Triển khai và Phân quyền File Server trên Windows Server

Giới Thiệu

File Server là một thành phần cốt lõi trong bất kỳ môi trường doanh nghiệp nào, cung cấp một vị trí tập trung để lưu trữ, quản lý và chia sẻ tệp tin. Việc triển khai một File Server đúng cách, đặc biệt là thiết lập phân quyền chuẩn, là yếu tố then chốt để đảm bảo bảo mật dữ liệu, tính toàn vẹn và hiu quả hoạt động. Hướng dẫn này sẽ đưa bạn qua các bước cần thiết để thiết lập File Server trên Windows Server và cấu hình phân quyền một cách chuyên nghiệp.

📋 Thời gian: 60 phút | Độ khó: Trung bình

Yêu Cầu

Để thực hiện hướng dẫn này, bạn cần có:

  • Một máy chủ chạy hệ điều hành Windows Server (2016, 2019 hoặc 2022).
  • Máy chủ đã được cài đặt, cấu hình địa chỉ IP tĩnh và tốt nhất là đã tham gia vào một miền (Domain) Active Directory.
  • Tài khoản quản trị (Administrator) trên máy chủ hoặc tài khoản có quyền cài đặt vai trò/tính năng.
  • Hiểu biết cơ bản về Windows Server và khái niệm về Active Directory (nếu server đã join domain).

Các Bước Thực Hiện

Bước 1: Cài đặt vai trò File Server

Đầu tiên, chúng ta cần cài đặt vai trò "File Server" trên Windows Server.

  1. Mở Server Manager.
  2. Nhấp vào Manage > Add Roles and Features.
  3. Trong cửa sổ "Add Roles and Features Wizard", nhấp Next cho đến khi bạn đến mục Server Roles.
  4. Chọn File and Storage Services, sau đó mở rộng nó và chọn File Server. ⚠️ Đảm bảo bạn chỉ chọn "File Server" để giữ cho cài đặt gọn gàng. Các tùy chọn khác như "File Server Resource Manager" hoặc "DFS Namespaces" có thể được thêm sau nếu cần.
  5. Nhấp Next cho đến khi đến màn hình Confirmation, sau đó nhấp Install.
  6. Chờ quá trình cài đặt hoàn tất và nhấp Close.
# Cài đặt vai trò File Server bằng PowerShell
Install-WindowsFeature -Name FS-FileServer -IncludeManagementTools

# Kiểm tra trạng thái cài đặt
Get-WindowsFeature -Name FS-FileServer

Bước 2: Tạo thư mục chia sẻ (Shared Folder)

Chúng ta sẽ tạo một thư mục riêng biệt để chứa tất cả dữ liệu được chia sẻ, thường là trên một ổ đĩa không phải ổ đĩa hệ thống (ví dụ: ổ D: hoặc E:).

  1. Mở File Explorer.
  2. Điều hướng đến ổ đĩa bạn muốn tạo thư mục chia sẻ (ví dụ: D:).
  3. Tạo một thư mục mới, ví dụ: D:\Shares.
  4. Bên trong thư mục D:\Shares, tạo các thư mục con cho các phòng ban hoặc mục đích cụ thể, ví dụ: D:\Shares\Sales, D:\Shares\Marketing, D:\Shares\Public.
# Tạo thư mục chia sẻ bằng PowerShell
New-Item -Path "D:\Shares" -ItemType Directory
New-Item -Path "D:\Shares\Sales" -ItemType Directory
New-Item -Path "D:\Shares\Marketing" -ItemType Directory
New-Item -Path "D:\Shares\Public" -ItemType Directory

Bước 3: Cấu hình phân quyền NTFS

Đây là bước quan trọng nhất để đảm bảo bảo mật. Quyền NTFS kiểm soát những gì người dùng có thể làm với tệp và thư mục trên ổ đĩa cục bộ.

💡 Nguyên tắc vàng: Sử dụng nhóm bảo mật (Security Groups) thay vì gán quyền trực tiếp cho người dùng cá nhân. Điều này giúp quản lý dễ dàng hơn rất nhiều.

  1. Chuột phải vào thư mục gốc chia sẻ (ví dụ: D:\Shares) và chọn Properties.
  2. Chuyển sang tab Security.
  3. Nhấp vào Advanced.
  4. Nhấp Disable inheritance và chọn Convert inherited permissions into explicit permissions on this object. ⚠️ Việc này sẽ xóa tất cả các quyền được kế thừa từ thư mục cha.
  5. Xóa tất cả các quyền không cần thiết, chỉ giữ lại SYSTEM (Full Control) và Administrators (Full Control).
    • UsersAuthenticated Users thường bị xóa ở cấp gốc để tránh cấp quyền quá rộng.
  6. Thêm các nhóm bảo mật cần thiết. Ví dụ:
    • Tạo các nhóm trong Active Directory: SG_Shares_Sales_RW (Read/Write), SG_Shares_Marketing_RW, SG_Shares_Public_RO (Read Only).
    • Thêm Domain Admins (Full Control) nếu cần thiết cho việc quản trị chung.
    • Đối với thư mục D:\Shares:
      • Thêm Domain Admins với quyền Full Control.
      • Thêm Creator Owner với quyền Special (chỉ áp dụng cho Subfolders and files) để cho phép người tạo tệp/thư mục có quyền sở hữu.
    • Đối với thư mục D:\Shares\Sales:
      • Thêm SG_Shares_Sales_RW với quyền Modify.
      • Thêm SG_Shares_Sales_RO (nếu có) với quyền Read & Execute.
    • Lặp lại cho các thư mục con khác (Marketing, Public).
  7. Sau khi cấu hình, nhấp ApplyOK.
# Ví dụ cấu hình quyền NTFS cho D:\Shares
# Bước 1: Vô hiệu hóa kế thừa và chuyển quyền thành tường minh
$Path = "D:\Shares"
$Acl = Get-Acl $Path
$Acl.SetAccessRuleProtection($true, $true) # Disable inheritance, keep existing as explicit

# Xóa quyền không mong muốn (ví dụ: Users)
# Lặp qua các Access Rule và xóa những cái không cần thiết
$Acl.Access | Where-Object {$_.IdentityReference.Value -like "*BUILTIN\Users*"} | ForEach-Object {$Acl.RemoveAccessRule($_)}
$Acl.Access | Where-Object {$_.IdentityReference.Value -like "*Authenticated Users*"} | ForEach-Object {$Acl.RemoveAccessRule($_)}

# Thêm quyền cho Domain Admins (Full Control)
$DomainName = (Get-ADDomain).NetBIOSName
$DomainAdmins = New-Object System.Security.Principal.NTAccount("$DomainName\Domain Admins")
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule(
$DomainAdmins,
"FullControl",
"ContainerInherit,ObjectInherit",
"None",
"Allow"
)
$Acl.AddAccessRule($AccessRule)

# Thêm quyền Creator Owner (Modify cho Subfolders and files)
$CreatorOwner = New-Object System.Security.Principal.NTAccount("Creator Owner")
$AccessRuleCO = New-Object System.Security.AccessControl.FileSystemAccessRule(
$CreatorOwner,
"Modify",
"ContainerInherit,ObjectInherit",
"NoPropagateInherit", # Only apply to subfolders and files
"Allow"
)
$Acl.AddAccessRule($AccessRuleCO)

# Áp dụng ACL đã sửa đổi
Set-Acl -Path $Path -AclObject $Acl

# Ví dụ thêm quyền cho thư mục D:\Shares\Sales
$PathSales = "D:\Shares\Sales"
$AclSales = Get-Acl $PathSales
$AclSales.SetAccessRuleProtection($true, $false) # Disable inheritance, remove all inherited permissions

$SalesRWGroup = New-Object System.Security.Principal.NTAccount("$DomainName\SG_Shares_Sales_RW")
$AccessRuleSalesRW = New-Object System.Security.AccessControl.FileSystemAccessRule(
$SalesRWGroup,
"Modify",
"ContainerInherit,ObjectInherit",
"None",
"Allow"
)
$AclSales.AddAccessRule($AccessRuleSalesRW)
Set-Acl -Path $PathSales -AclObject $AclSales

Bước 4: Cấu hình phân quyền Share (SMB)

Quyền Share kiểm soát ai có thể truy cập thư mục qua mạng.

  1. Chuột phải vào thư mục gốc chia sẻ (ví dụ: D:\Shares) và chọn Properties.
  2. Chuyển sang tab Sharing.
  3. Nhấp vào Advanced Sharing....
  4. Chọn Share this folder.
  5. Nhấp vào Permissions.
  6. Xóa nhóm Everyone.
  7. Thêm nhóm Authenticated Users với quyền Full Control. 💡 Tại sao Full Control cho Authenticated Users? Quyền Share chỉ là lớp đầu tiên. Quyền NTFS mới là lớp bảo mật chi tiết. Việc cấp Full Control cho Authenticated Users ở cấp Share cho phép tất cả người dùng đã xác thực truy cập qua mạng, sau đó quyền NTFS sẽ lọc và điều chỉnh quyền truy cập thực tế. Điều này đơn giản hóa việc quản lý quyền Share. Nếu bạn muốn kiểm soát chặt chẽ hơn ở cấp Share, bạn có thể thêm các nhóm bảo mật cụ thể (ví dụ: SG_Shares_All_Users) với quyền Change hoặc Read tùy theo nhu cầu.
  8. Nhấp ApplyOK cho tất cả các cửa sổ.
# Tạo một thư mục chia sẻ SMB bằng PowerShell
# Lưu ý: Nếu thư mục đã được chia sẻ, lệnh này sẽ cập nhật quyền
New-SmbShare -Name "Shares" -Path "D:\Shares" -FullAccess "Authenticated Users" -Force

# Hoặc nếu muốn kiểm soát chặt chẽ hơn ở cấp Share:
# New-SmbShare -Name "Shares" -Path "D:\Shares" -ReadAccess "Domain Users" -ChangeAccess "Domain Admins" -FullAccess "Enterprise Admins" -Force

# Kiểm tra quyền Share
Get-SmbShareAccess -Name "Shares"

Bước 5: Kiểm tra quyền truy cập

Sau khi cấu hình, hãy kiểm tra từ một máy client để đảm bảo mọi thứ hoạt động đúng như mong đợi.

  1. Từ một máy tính client đã join domain, mở File Explorer.
  2. Trong thanh địa chỉ, gõ \\<IP_Server_hoặc_Ten_Server>\Shares (ví dụ: \\FS01\Shares).
  3. Thử truy cập các thư mục con (Sales, Marketing, Public) bằng các tài khoản người dùng khác nhau thuộc các nhóm bảo mật đã cấu hình.
  4. Kiểm tra khả năng tạo, sửa, xóa tệp tin và thư mục.

✅ Nếu bạn không thể truy cập hoặc gặp lỗi "Access Denied" khi đáng lẽ phải có quyền, hãy chuyển sang phần Troubleshooting.

Troubleshooting

  • Lỗi "Access Denied":
    • Kiểm tra quyền NTFS: Đây là nguyên nhân phổ biến nhất. Đảm bảo người dùng/nhóm của họ có đủ quyền NTFS trên thư mục và các tệp tin bên trong.
    • Kiểm tra quyền Share: Đảm bảo người dùng/nhóm của họ có quyền truy cập ở cấp độ Share.
    • Kế thừa quyền: Đôi khi quyền bị kế thừa từ thư mục cha không mong muốn. Kiểm tra lại cài đặt "Disable inheritance" ở Bước 3.
    • Hiệu lực quyền: Quyền hiệu lực là sự kết hợp của quyền Share và quyền NTFS. Quyền hạn chế nhất sẽ được áp dụng.
    • Tắt UAC (User Account Control): Trên máy chủ, UAC có thể gây ra vấn đề với quyền truy cập mạng cho các tài khoản cục bộ. Tuy nhiên, trong môi trường Domain, hãy ưu tiên giải quyết bằng quyền.
  • Không thấy thư mục chia sẻ qua mạng:
    • Firewall: Kiểm tra Windows Firewall trên File Server. Đảm bảo các quy tắc "File and Printer Sharing (SMB-In)" đã được bật.
    • Dịch vụ Server: Đảm bảo dịch vụ "Server" đang chạy.
    • Tên chia sẻ: Kiểm tra lại tên chia sẻ có đúng không (\\ServerName\ShareName).
  • Tốc độ truy cập chậm:
    • Mạng: Kiểm tra kết nối mạng giữa client và server (cáp, switch, tốc độ).
    • Hiệu suất Server: Kiểm tra CPU, RAM, IOPS của ổ đĩa trên File Server.
    • Antivirus: Phần mềm diệt virus có thể quét và làm chậm truy cập.
    • Cấu hình SMB: Đảm bảo các tính năng SMB (như SMB Multichannel) được cấu hình đúng.

Kết Luận

Việc triển khai một File Server và thiết lập phân quyền chuẩn là một nhiệm vụ quan trọng để duy trì môi trường dữ liệu an toàn và hiệu quả. Bằng cách tuân thủ các bước đã hướng dẫn, bạn có thể xây dựng một hệ thống lưu trữ tệp tin mạnh mẽ và dễ quản lý.

Best Practices:

  • Sử dụng Security Groups: Luôn gán quyền cho nhóm thay vì người dùng cá nhân để dễ dàng quản lý và mở rộng.
  • Nguyên tắc Least Privilege: Cấp cho người dùng và nhóm quyền tối thiểu cần thiết để thực hiện công việc của họ.
  • Tổ chức thư mục hợp lý: Có một cấu trúc thư mục rõ ràng và nhất quán giúp người dùng dễ dàng từm kiếm và quản trị viên dễ dàng quản lý quyền.
  • Backup định kỳ: Đảm bảo dữ liệu trên File Server được sao lưu thường xuyên và có kế hoạch khôi phục thảm họa.
  • Giám sát truy cập (Audit): Cấu hình kiểm toán để theo dõi ai đang truy cập, sửa đổi hoặc xóa tệp tin quan trọng. Điều này giúp phát hiện các hoạt động đáng ngờ và tuân thủ các quy định.
  • DFS Namespaces: Đối với các môi trường lớn hơn hoặc có nhiều File Server, hãy xem xét sử dụng DFS Namespaces để tạo một không gian tên thống nhất, độc lập với vị trí vật lý của dữ liệu.

Xem thêm: