หากผู้ใช้ไม่สามารถแก้ไขหรือรับรองความถูกต้องของไฟล์บน SMB ที่โฮสต์บน macOS

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

บทความนี้จัดทำขึ้นสำหรับผู้ดูแลระบบองค์กรและการศึกษา

ตรวจสอบข้อมูลเซิร์ฟเวอร์

ตรวจสอบให้แน่ใจว่าผู้ใช้มีชื่อผู้ใช้ รหัสผ่าน และชื่อโฮสต์หรือที่อยู่ IP ของเซิร์ฟเวอร์ที่ถูกต้อง

เชื่อมโยงกับไดเรกทอรีเดียวกันกับเซิร์ฟเวอร์

หากเซิร์ฟเวอร์ macOS ใช้งาน Open Directory หรือเชื่อมต่อกับ Open Directory หรือ Active Directory ให้ดำเนินการเชื่อมต่อที่ที่ผ่านการรับรองความถูกต้องกับเซิร์ฟเวอร์ไดเรกทอรีเดียวกัน วิธีนี้ช่วยให้ไคลเอนต์สามารถใช้ Kerberos และการลงนามเซสชัน การรับรองความถูกต้องโดยใช้ Kerberos ยังต้องให้คุณระบุเซิร์ฟเวอร์โดยใช้ DNS

เปิด NTLMv2 บน Open Directory

หากคุณอยู่ใน Open Directory และไคลเอนต์ไม่สามารถเชื่อมต่อกับ Open Directory Master อาจจำเป็นต้องเปิด NTLMv2

  1. กำหนดกลไกการรับรองความถูกต้องที่เปิดใช้งานสำหรับ Open Directory Master โดยใช้คำสั่งของเทอร์มินัลต่อไปนี้
    dscl /LDAPv3/127.0.0.1 -read /config/dirserv apple-enabled-auth-mech
  2. ป้อนรหัสผ่านของผู้ดูแลระบบไดเรกทอรี คุณสามารถรีเซ็ตรหัสผ่านของผู้ดูแลระบบ Open Directory ได้เมื่อต้องการ
  3. หยุดและรีสตาร์ท Open Directory ใน Server.app

หาก SMB-NTLMv2 ไม่ปรากฏในผลลัพธ์ คุณสามารถเพิ่มด้วยตนเองโดยใช้คำสั่งเทอร์มินัลต่อไปนี้

dscl -u diradmin -p /LDAPv3/127.0.0.1 -append /Config/dirserv apple-enabled-auth-mech SMB-NTLMv2

ตรวจสอบให้แน่ใจว่าผู้ใช้สามารถเข้าถึงเซิร์ฟเวอร์ SMB

  1. เรียกใช้คำสั่งเทอร์มินัลต่อไปนี้บนเซิร์ฟเวอร์ SMB เพื่อดูว่าการเข้าถึงถูกจำกัดสำหรับผู้ใช้เฉพาะหรือไม่:
    dscl . read /Groups/com.apple.access_smb
  2. กำหนด GUID ของผู้ใช้:
    dscl /Search read /Users/<username> GeneratedUID
  3. เพิ่มผู้ใช้ไปยังรายการควบคุมการเข้าถึงบริการ (SACL) ของ SMB:
    sudo dscl /Local/Default append Groups/com.apple.access_smb GroupMembership <username>
    sudo dscl /Local/Default append Groups/com.apple.access_smb GroupMembers <guid>
    

หากคุณต้องการลบ SACL ให้ใช้คำสั่งเทอร์มินัลต่อไปนี้:

sudo dscl /Local/Default delete /Groups/com.apple.access_smb

ยืนยันการเข้าถึงในการแชร์

ตรวจสอบเพื่อให้แน่ใจว่าผู้ใช้สามารถเข้าถึงการแชร์อย่างน้อยหนึ่งรายการในการตั้งค่าการแชร์ ไม่ว่าจะโดยกลุ่มหรือในฐานะผู้ใช้รายบุคคล 

ตรวจสอบ ACL การอ่าน/เขียน

หากผู้ใช้ไม่สามารถเขียนเพื่อแชร์สิ่งที่มีสิทธิ์เข้าถึง ให้ปิดการเข้าถึงของผู้ใช้ทั่วไปในการแชร์ วิธีนี้ช่วยให้แน่ใจว่าพวกเขาไม่ได้เชื่อมต่อกันในฐานะผู้ใช้ทั่วไป การเข้าถึงของผู้ใช้ทั่วไปอยู่ภายใต้ตัวเลือกการแชร์ไฟล์ขั้นสูง

หากผู้ใช้สามารถเพิ่มไฟล์ใหม่ แต่ไม่สามารถแก้ไขไฟล์ที่สร้างโดยผู้ใช้รายอื่น คุณอาจต้องสร้างรายการควบคุมการเข้าถึง (ACL) ระดับกลุ่ม ในการเพิ่ม ACL ให้ใช้บรรทัดคำสั่งต่อไปนี้และแทนที่ชื่อกลุ่มและพา ธ ไปยังจุดแชร์ด้วยค่าจริง:

sudo chmod -R +a "group:YourGroupName allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit" /Volumes/volumename/path/to/share
วันที่เผยแพร่: