ลดความยุ่งยากในการใช้คลาวด์ พูดคุยกับเจ้าหน้าที่

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

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

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

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

สิ่งที่ต้องเตรียม

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

ขั้นตอนที่ 1: ติดตั้ง Role

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

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

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 ของโฟลเดอร์นั้น

ปัญหาที่พบบ่อย

ตั้งสิทธิ์ 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/

ผู้ให้บริการคลาวด์ไทย
เพื่อธุรกิจของคนไทย

"มุ่งมั่น" และ "มั่นคง"
พร้อมรับมือทุกการเติบโต
Trust Cloud
คลาว์ที่ปลอดภัย
คือรากฐานที่มั่นคง
cloud security