สร้าง File Server และกำหนดสิทธิ์ Share กับ NTFS ให้ถูกต้อง

เข้าใจความต่างระหว่างสิทธิ์ Share กับ NTFS ที่ทำให้คนตั้งผิดบ่อยที่สุด แล้ววางโครงสร้างโฟลเดอร์ส่วนกลางขององค์กรให้ถูกหลัก

โดย ทีมงาน THAI DATA CLOUD อัปเดต อ่าน 9 นาที เข้าชม 7 ครั้ง

แชร์FacebookXLINELinkedIn
File Server — สร้าง File Server และกำหนดสิทธิ์ Share กับ NTFS ให้ถูกต้อง
สร้าง File Server และกำหนดสิทธิ์ Share กับ NTFS ให้ถูกต้อง

คำตอบสั้น ๆ: เข้าใจความต่างระหว่างสิทธิ์ Share กับ NTFS ที่ทำให้คนตั้งผิดบ่อยที่สุด แล้ววางโครงสร้างโฟลเดอร์ส่วนกลางขององค์กรให้ถูกหลัก

คู่มือนี้อธิบาย File Server ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย

เรื่องที่ทำให้ผู้ดูแล Windows สับสนมากที่สุดคือสิทธิ์สองชุดที่ซ้อนกันอยู่ สิทธิ์ Share ซึ่งมีผลเมื่อเข้าผ่านเครือข่าย และสิทธิ์ NTFS ซึ่งมีผลเสมอไม่ว่าเข้าทางไหน เมื่อทั้งสองชั้นไม่ตรงกัน ผลลัพธ์คือสิทธิ์ที่แคบกว่าชนะเสมอ

คู่มือนี้วางโครงสร้างโฟลเดอร์ส่วนกลางขององค์กรตามแนวทางที่ใช้กันจริง คือเปิดสิทธิ์ Share ให้กว้างแล้วควบคุมทั้งหมดที่ชั้น NTFS ซึ่งจัดการง่ายกว่าและตรวจสอบได้ชัดเจนกว่า

สิ่งที่ต้องเตรียม (File Server)

  • Windows Server ที่อยู่ในโดเมน
  • กลุ่มผู้ใช้ใน Active Directory ที่แบ่งตามแผนกแล้ว
  • ดิสก์แยกสำหรับเก็บข้อมูล ไม่ควรใช้ไดรฟ์ C

ขั้นตอนที่ 1: ติดตั้ง Role (File Server)

Install-WindowsFeature -Name FS-FileServer, FS-Resource-Manager -IncludeManagementTools
Get-WindowsFeature -Name FS-*  | Where-Object Installed

ขั้นตอนที่ 2: วางโครงสร้างโฟลเดอร์ (File Server)

New-Item -Path "D:\Shares\Company" -ItemType Directory
New-Item -Path "D:\Shares\Company\Public" -ItemType Directory
New-Item -Path "D:\Shares\Company\Finance" -ItemType Directory
New-Item -Path "D:\Shares\Company\HR" -ItemType Directory
New-Item -Path "D:\Shares\Company\IT" -ItemType Directory

หลักการที่ควรยึด แชร์ที่ระดับบนสุดเพียงจุดเดียว แล้วควบคุมสิทธิ์ของแต่ละโฟลเดอร์ย่อยด้วย NTFS การสร้างแชร์แยกทุกแผนกทำให้ผู้ใช้ต้องจำหลายที่อยู่และดูแลยากขึ้น

ขั้นตอนที่ 3: สร้าง Share และตั้งสิทธิ์ Share ให้กว้าง

New-SmbShare -Name "Company" -Path "D:\Shares\Company" `
  -FullAccess "CORP\Domain Admins" `
  -ChangeAccess "CORP\Domain Users" `
  -FolderEnumerationMode AccessBased

Get-SmbShare -Name "Company" | Format-List
Get-SmbShareAccess -Name "Company"

-FolderEnumerationMode AccessBased คือ Access-Based Enumeration ซึ่งทำให้ผู้ใช้เห็นเฉพาะโฟลเดอร์ที่ตัวเองมีสิทธิ์เข้า แผนกอื่นจะไม่เห็นแม้แต่ชื่อโฟลเดอร์ของแผนกการเงิน ควรเปิดเสมอ

ขั้นตอนที่ 4: ตั้งสิทธิ์ NTFS ซึ่งเป็นตัวควบคุมจริง

เริ่มจากตัดการสืบทอดสิทธิ์และล้างสิทธิ์เดิมออกก่อน

icacls "D:\Shares\Company" /inheritance:d
icacls "D:\Shares\Company" /remove:g "BUILTIN\Users"
icacls "D:\Shares\Company" /remove:g "CREATOR OWNER"

# ให้ทุกคนเข้าถึงโฟลเดอร์บนสุดได้ แต่ไม่ให้ไล่ลงไปโดยอัตโนมัติ
icacls "D:\Shares\Company" /grant "CORP\Domain Users:(RX)"
icacls "D:\Shares\Company" /grant "CORP\Domain Admins:(OI)(CI)F"

ตั้งสิทธิ์รายแผนก

icacls "D:\Shares\Company\Finance" /inheritance:d
icacls "D:\Shares\Company\Finance" /remove:g "CORP\Domain Users"
icacls "D:\Shares\Company\Finance" /grant "CORP\Finance:(OI)(CI)M"

icacls "D:\Shares\Company\HR" /inheritance:d
icacls "D:\Shares\Company\HR" /remove:g "CORP\Domain Users"
icacls "D:\Shares\Company\HR" /grant "CORP\HR:(OI)(CI)M"

icacls "D:\Shares\Company\Public" /grant "CORP\Domain Users:(OI)(CI)M"

ความหมายของรหัส (OI) คือสืบทอดให้ไฟล์ (CI) คือสืบทอดให้โฟลเดอร์ย่อย M คือ Modify ซึ่งอ่านเขียนลบได้แต่เปลี่ยนสิทธิ์ไม่ได้ และ F คือ Full Control

อย่าให้ผู้ใช้ทั่วไปได้ F เพราะจะแก้สิทธิ์และเปลี่ยนเจ้าของไฟล์ได้ ซึ่งทำให้ระบบสิทธิ์พังโดยไม่มีใครรู้

ขั้นตอนที่ 5: ตรวจสิทธิ์ที่มีผลจริง

icacls "D:\Shares\Company\Finance"
Get-Acl "D:\Shares\Company\Finance" | Format-List

ตรวจสิทธิ์ที่ผู้ใช้คนหนึ่งได้รับจริงผ่านหน้าต่างคุณสมบัติของโฟลเดอร์ แท็บ Security ปุ่ม Advanced แล้วเลือก Effective Access ซึ่งจะรวมผลของทั้งสองชั้นและกลุ่มทั้งหมดที่ผู้ใช้สังกัดให้เห็นชัดเจน

ขั้นตอนที่ 6: ตั้งโควตาพื้นที่

Install-WindowsFeature -Name FS-Resource-Manager -IncludeManagementTools

New-FsrmQuotaTemplate -Name "แผนก 100GB" -Size 100GB `
  -Threshold (New-FsrmQuotaThreshold -Percentage 85), `
             (New-FsrmQuotaThreshold -Percentage 95)

New-FsrmQuota -Path "D:\Shares\Company\Finance" -Template "แผนก 100GB"
Get-FsrmQuota | Select-Object Path, Size, Usage

ตั้งการปิดกั้นไฟล์ที่ไม่ควรเก็บบนเซิร์ฟเวอร์

New-FsrmFileScreen -Path "D:\Shares\Company" `
  -IncludeGroup "Audio and Video Files", "Executable Files"

ขั้นตอนที่ 7: เปิด Shadow Copy ให้ผู้ใช้กู้ไฟล์เองได้

ลดงานของฝ่าย IT ได้มาก เพราะผู้ใช้กู้ไฟล์ที่ลบไปเองได้จากแท็บ Previous Versions

vssadmin add shadowstorage /for=D: /on=D: /maxsize=15%
vssadmin create shadow /for=D:
vssadmin list shadows

ตั้งเวลาให้สร้างอัตโนมัติวันละสองครั้งผ่าน Task Scheduler หรือผ่านแท็บ Shadow Copies ในคุณสมบัติของไดรฟ์

ย้ำกับผู้ใช้เสมอว่า Shadow Copy ไม่ใช่การสำรองข้อมูล เพราะอยู่บนดิสก์เดียวกัน ต้องมีการสำรองข้อมูลออกนอกเครื่องแยกต่างหาก

ขั้นตอนที่ 8: บันทึกว่าใครเข้าถึงอะไร

# ดูใครเปิดไฟล์อยู่
Get-SmbOpenFile | Select-Object ClientUserName, Path
Get-SmbSession | Select-Object ClientComputerName, ClientUserName

# บังคับปิดไฟล์ที่ค้าง
Close-SmbOpenFile -FileId 123456 -Force

สำหรับโฟลเดอร์ที่มีข้อมูลอ่อนไหว เปิดการตรวจสอบการเข้าถึงผ่าน Group Policy ในหมวด Audit Object Access แล้วตั้ง Auditing ที่แท็บ Security ของโฟลเดอร์นั้น

ปัญหาที่พบบ่อยเกี่ยวกับ File Server

ตั้งสิทธิ์ NTFS ให้แล้วแต่ยังเข้าไม่ได้

สิทธิ์ Share ที่แคบกว่ากำลังจำกัดอยู่ ตรวจด้วย Get-SmbShareAccess -Name "Company" ตามแนวทางในคู่มือนี้ควรให้ Domain Users มีสิทธิ์ Change ที่ชั้น Share แล้วคุมจริงที่ NTFS

ผู้ใช้เห็นโฟลเดอร์ของแผนกอื่น

ยังไม่ได้เปิด Access-Based Enumeration แก้ด้วย Set-SmbShare -Name "Company" -FolderEnumerationMode AccessBased

สิทธิ์หายหลังย้ายไฟล์

การย้ายภายในไดรฟ์เดียวกันจะพาสิทธิ์เดิมไปด้วย ส่วนการคัดลอกจะรับสิทธิ์ของปลายทาง หากต้องการรักษาสิทธิ์ตอนคัดลอกให้ใช้ robocopy /COPYALL

robocopy D:\Old D:\Shares\Company\Finance /E /COPYALL /R:1 /W:1 /LOG:C:\move.log

ผู้ใช้ลบไฟล์ของคนอื่นได้

สิทธิ์ Modify รวมสิทธิ์ลบด้วย หากต้องการให้ลบได้เฉพาะไฟล์ของตัวเอง ให้ตั้งสิทธิ์แบบละเอียดโดยไม่ให้ Delete Subfolders and Files ที่ระดับโฟลเดอร์ และใช้ CREATOR OWNER กำหนดสิทธิ์เต็มเฉพาะไฟล์ที่ผู้ใช้สร้างเอง

ต้องการวางระบบไฟล์ส่วนกลางพร้อมการสำรองข้อมูล ติดต่อ THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/

สรุปขั้นตอน File Server

ทบทวน File Server ทั้งหมดตามลำดับ ก่อนนำไปใช้กับระบบจริง

  1. ติดตั้ง Role (File Server)
  2. วางโครงสร้างโฟลเดอร์ (File Server)
  3. สร้าง Share และตั้งสิทธิ์ Share ให้กว้าง
  4. ตั้งสิทธิ์ NTFS ซึ่งเป็นตัวควบคุมจริง
  5. ตรวจสิทธิ์ที่มีผลจริง
  6. ตั้งโควตาพื้นที่
  7. เปิด Shadow Copy ให้ผู้ใช้กู้ไฟล์เองได้
  8. บันทึกว่าใครเข้าถึงอะไร

เมื่อทำครบทุกข้อแล้ว File Server จะพร้อมใช้งาน หากผลลัพธ์ไม่เป็นไปตามที่คาด ให้ย้อนกลับไปดูหัวข้อปัญหาที่พบบ่อยด้านบน ซึ่งรวบรวมกรณีที่พบจริงจากการใช้งาน File Server ไว้แล้ว

อ่านเพิ่มเติมเกี่ยวกับ File Server

แชร์FacebookXLINELinkedIn

มีคำถามเรื่องบริการ? ติดต่อทีมงาน