บันทึกการเผยแพร่ ownCloud Classic ฉบับปัจจุบันระบุว่าเวอร์ชัน 11.0.1 เป็นเวอร์ชันที่มีการปรับปรุงด้านความปลอดภัยและแนะนำให้ทำการอัปเกรด การเผยแพร่เวอร์ชันหลัก 11.0.0 ยังได้เพิ่มเวอร์ชัน PHP ขั้นต่ำเป็น 8.3 และลบคุณสมบัติที่เลิกใช้งานแล้ว ดังนั้นผู้ดูแลระบบที่อัปเกรดจากเวอร์ชัน 10.x ควรตรวจสอบความเข้ากันได้ของ PHP และแอปพลิเคชันก่อน ขั้นตอนการทำงานของ SMB/CIFS ยังคงเป็นการเชื่อมต่อพื้นที่จัดเก็บข้อมูลภายนอก คู่มือนี้อ้างอิงจากเอกสารประกอบ SMB ของ ownCloud Server 10.16 และป้ายกำกับเมนูหรือการพึ่งพาอาจแตกต่างกันในเวอร์ชัน 11.x
ในการเชื่อมต่อไฟล์แชร์ Samba หรือ Windows ให้เปิดใช้งานการสนับสนุนพื้นที่จัดเก็บข้อมูลภายนอก ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ ownCloud สามารถติดต่อกับเซิร์ฟเวอร์ SMB ได้ และเพิ่มการเมานต์ SMB/CIFS จากการตั้งค่าพื้นที่จัดเก็บข้อมูลของผู้ดูแลระบบ วิธีนี้จะสร้างรายการพื้นที่จัดเก็บข้อมูลระยะไกลภายใน ownCloud โดยจะไม่เมานต์ไฟล์แชร์ในระบบไฟล์ Linux /etc/fstabควรใช้วิธีนี้เมื่อผู้ใช้ควรเข้าถึงไฟล์ผ่านหน้าไฟล์ของ ownCloud และสิทธิ์การเข้าถึงควรถูกควบคุมโดยการเมานต์ของ ownCloud และบัญชี SMB
สิ่งที่คุณต้องเตรียมก่อนเริ่ม
สิทธิ์การเข้าถึงระดับผู้ดูแลระบบไปยัง ownCloud Server และเซิร์ฟเวอร์ไฟล์ SMB ชื่อหรือที่อยู่ DNS ของเซิร์ฟเวอร์ SMB ชื่อไฟล์ที่แชร์ โฟลเดอร์ย่อย (ถ้ามี) และโดเมนหรือเวิร์กกรุ๊ปที่จำเป็นสำหรับการเข้าสู่ระบบ บัญชี SMB เฉพาะที่มีสิทธิ์อ่านหรือเขียนเฉพาะที่ผู้ใช้ ownCloud ต้องการเท่านั้น บัญชีดังกล่าวต้องได้รับอนุญาตจาก ACL ของการแชร์และระบบไฟล์บนเซิร์ฟเวอร์ SMB ด้วย นโยบายเส้นทางเครือข่ายและไฟร์วอลล์ที่อนุญาตให้โฮสต์ ownCloud เข้าถึงเซิร์ฟเวอร์ SMB ได้ แพ็คเกจ ownCloud ของคุณต้องการการสนับสนุน SMB สำหรับการติดตั้งแบบแมนนวลบน Linux คู่มือ ownCloud ที่เกี่ยวข้องอาจต้องการsmbclientโมดูล PHP เพิ่มเติม อิมเมจคอนเทนเนอร์และการติดตั้งแบบแพ็คเกจอาจมีส่วนประกอบที่จำเป็นแตกต่างกัน โปรดตรวจสอบคู่มือสำหรับเวอร์ชัน ownCloud และ PHP ของคุณอย่างถูกต้อง แทนที่จะคัดลอกคำสั่งแพ็คเกจเก่า
เอกสารของ ownCloud มีวิธีการทดสอบการเข้าถึงผ่านบรรทัดคำสั่งก่อนการกำหนดค่าพื้นที่จัดเก็บข้อมูลภายนอก ในการติดตั้งบนระบบ Linux ที่smbclientมีฟังก์ชันนี้ ให้ทดสอบการค้นหาเซิร์ฟเวอร์และข้อมูลรับรองก่อน การขอรหัสผ่านเป็นการโต้ตอบ ดังนั้นรหัสผ่านจึงไม่ถูกบันทึกไว้ในประวัติคำสั่งของเชลล์
smbclient -L fileserver.example.com -U 'CORP/owncloud-reader'
หากวิธีนี้ไม่ได้ผล ให้แก้ไขปัญหา DNS, การกำหนดเส้นทาง, ไฟร์วอลล์, ไวยากรณ์โดเมน หรือสิทธิ์การเข้าถึงไฟล์ที่แชร์ ก่อนที่จะแก้ไขปัญหา ownCloud เซิร์ฟเวอร์ที่ไม่สามารถเข้าถึงไฟล์ที่แชร์ได้จะไม่สามารถทำให้ผู้ใช้สามารถเข้าถึงไฟล์นั้นได้
เปิดใช้งานการรองรับพื้นที่จัดเก็บข้อมูลภายนอกในแอปก่อนเพิ่มการเชื่อมต่อ SMB/CIFS ในการตั้งค่าพื้นที่จัดเก็บข้อมูลของผู้ดูแลระบบ
เชื่อมต่อแชร์ SMB/CIFS ใน ownCloud
1. เปิดใช้งานการรองรับอุปกรณ์จัดเก็บข้อมูลภายนอก
ลงชื่อเข้าใช้ในฐานะผู้ดูแลระบบ ownCloud เปิดการตั้งค่า > แอป ค้นหาการสนับสนุนพื้นที่จัดเก็บข้อมูลภายนอก และเปิดใช้งานหากยังไม่ได้เปิดใช้งาน จากนั้นเปิดหน้าการจัดการพื้นที่จัดเก็บข้อมูล ซึ่งโดยทั่วไปคือการตั้งค่า > ผู้ดูแลระบบ > พื้นที่จัดเก็บข้อมูล หรือเทียบเท่าในเวอร์ชันนั้นๆ หากจำเป็นต้องมีการเชื่อมต่อพื้นที่จัดเก็บข้อมูลภายนอกที่ผู้ใช้สร้างขึ้น ให้เปิดใช้งาน การตั้งค่า อนุญาตให้ผู้ใช้เชื่อมต่อพื้นที่จัดเก็บข้อมูลภายนอก แยกต่างหาก หลังจากตรวจสอบสิทธิ์การเข้าถึงเครือข่ายที่การตั้งค่านี้มอบให้แก่ผู้ใช้แล้ว
สำหรับไดรฟ์ที่ใช้ร่วมกันซึ่งมีการจัดการจากส่วนกลาง ให้กำหนดค่าในหน้าจัดเก็บข้อมูลของผู้ดูแลระบบ ไดรฟ์ของผู้ดูแลระบบสามารถใช้งานได้โดยค่าเริ่มต้นสำหรับผู้ใช้ทุกคน ดังนั้น ให้จำกัดช่อง " ใช้ งานได้สำหรับ" ให้เฉพาะบุคคลหรือกลุ่มที่ต้องการก่อนที่จะมั่นใจว่าเนื้อหาในไดรฟ์นั้นเป็นส่วนตัว
2. เพิ่มแบ็กเอนด์ SMB/CIFS
ในตารางพื้นที่จัดเก็บข้อมูลภายนอก ให้เลือกSMB / CIFS จากเพิ่มพื้นที่จัดเก็บข้อมูล ป้อนชื่อโฟลเดอร์ ที่เข้าใจง่าย เช่นProjectsชื่อนี้คือจุดเชื่อมต่อที่ผู้ใช้เห็นใน ownCloud ไม่ใช่ชื่อแชร์ของเซิร์ฟเวอร์ SMB
เลือก SMB / CIFS เป็นแบ็กเอนด์พื้นที่จัดเก็บข้อมูลภายนอก การดำเนินการนี้จะเพิ่มแถวการเชื่อมต่อซึ่งฟิลด์การเชื่อมต่อจะขึ้นอยู่กับวิธีการตรวจสอบสิทธิ์
3. ป้อนชื่อเซิร์ฟเวอร์และเส้นทางการแชร์
กรอกข้อมูลในช่องที่แสดงสำหรับแบ็กเอนด์ SMB ในคู่มือ ownCloud 10.16 ข้อมูลเหล่านี้ได้แก่ URL ของเซิร์ฟเวอร์ ชื่อแชร์ โฟลเดอร์ย่อยระยะไกล ผู้ใช้หรือกลุ่มที่ได้รับอนุญาตให้ใช้การเชื่อมต่อ และโดเมน (หากจำเป็น) ตัวอย่างเช่น เซิร์ฟเวอร์ชื่อfileserver.example.comแชร์ชื่อprojectsและโฟลเดอร์ย่อยชื่อteamจะทำให้โฟลเดอร์ย่อยระยะไกลนั้นปรากฏอยู่ภายใต้จุดเชื่อมต่อ ownCloud ปล่อยให้โฟลเดอร์ย่อยระยะไกลอยู่ที่รูทเริ่มต้นเมื่อต้องการเชื่อมต่อแชร์ทั้งหมด
ป้อนค่าเซิร์ฟเวอร์ในรูปแบบที่ช่องข้อมูลกำหนดไว้ในเวอร์ชันของคุณ ห้ามวาง URL ของ ownCloud ที่ผู้ใช้เห็นโดยตรง หรือพาธภายในเครื่อง เช่น/mnt/shareลงในช่องเซิร์ฟเวอร์ SMB หาก Active Directory ต้องการโดเมน ให้ใช้ช่องโดเมน หรือรูปแบบโดเมนและชื่อผู้ใช้ที่ระบุไว้สำหรับวิธีการตรวจสอบสิทธิ์ที่คุณเลือก
เชื่อมโยงชื่อโฟลเดอร์ ownCloud กับเซิร์ฟเวอร์ แชร์ และโฟลเดอร์ย่อย (ถ้ามี) โดยชื่อโฟลเดอร์ที่แสดงคือชื่อโฟลเดอร์ที่ผู้ใช้เปิดอยู่
4. เลือกวิธีการส่งข้อมูลประจำตัว
เลือกวิธีการตรวจสอบสิทธิ์ที่ตรงกับรูปแบบบัญชี บัญชีบริการที่จัดการจากส่วนกลางจะมีประโยชน์เมื่อควรใช้งานไฟล์ที่แชร์เดียวกันสำหรับผู้ใช้กลุ่มหนึ่ง ป้อนชื่อผู้ใช้และรหัสผ่านในการกำหนดค่า SMB และเพิ่มโดเมนเฉพาะเมื่อเซิร์ฟเวอร์ไฟล์ต้องการเท่านั้น จัดเก็บรหัสผ่านไว้ในขั้นตอนการกำหนดค่าที่ได้รับการป้องกันของ ownCloud และใช้บัญชีเฉพาะแทนการเข้าสู่ระบบผู้ดูแลระบบส่วนบุคคล
วิธีการ " บันทึกข้อมูลประจำตัวการเข้าสู่ระบบในเซสชัน" จะใช้ข้อมูลประจำตัวการเข้าสู่ระบบ ownCloud ของผู้ใช้แต่ละคนสำหรับการแชร์ระยะไกล และจะไม่เก็บข้อมูลเหล่านั้นไว้บนเซิร์ฟเวอร์ ownCloud ได้ระบุข้อควรพิจารณาที่สำคัญไว้ดังนี้: การแชร์การเชื่อมต่อโดยตรงและการสแกนไฟล์ในพื้นหลังจะไม่ทำงานตามปกติ เนื่องจาก ownCloud ไม่เก็บข้อมูลประจำตัวสำหรับการจัดเก็บไว้ สำหรับการเข้าถึงแบบทีมร่วมกันหรือการดำเนินการอัตโนมัติในพื้นหลัง ให้เลือกวิธีการรับรองข้อมูลประจำตัวที่รองรับซึ่งเก็บข้อมูลประจำตัวที่จำเป็นไว้อย่างปลอดภัยแทน
จัดเตรียมบัญชี SMB เฉพาะ และเพิ่มโดเมนเฉพาะเมื่อการตั้งค่าการตรวจสอบสิทธิ์ของเซิร์ฟเวอร์ไฟล์ต้องการเท่านั้น
5. จำกัดการเข้าถึงและตั้งค่าตัวเลือกการติดตั้ง
ใช้ตัวเลือก "ใช้งานได้สำหรับ" เพื่อเลือกผู้ใช้หรือกลุ่ม ownCloud ที่ควรเห็นการเชื่อมต่อ หลีกเลี่ยงการปล่อยให้การเชื่อมต่อของผู้ดูแลระบบใช้งานได้สำหรับทุกคนเมื่อไฟล์ที่แชร์มีข้อจำกัด สิทธิ์การเข้าถึงของเซิร์ฟเวอร์ SMB ยังคงมีผลบังคับใช้ ผู้ใช้ ownCloud ไม่สามารถเข้าถึงไฟล์ได้มากกว่าที่บัญชี SMB และ ACL ของเซิร์ฟเวอร์อนุญาต
เปิดตัวเลือกของเมานต์เพื่อตั้งค่าเป็นอ่านอย่างเดียว เมื่อผู้ใช้ควรเรียกดูหรือดาวน์โหลดไฟล์โดยไม่เปลี่ยนแปลงไฟล์ระยะไกล การแชร์เมานต์ภายนอกถูกปิดใช้งานโดยค่าเริ่มต้นในตัวเลือกเมานต์ผู้ดูแลระบบของ ownCloud เปิดใช้งานการแชร์ เฉพาะเมื่อผู้ใช้ควรแชร์ไฟล์จากเมานต์นี้ผ่าน ownCloud และรูปแบบการอนุญาตของคุณอนุญาต การเลือกผู้ใช้ในฟิลด์ความพร้อมใช้งานของเมานต์และการเปิดใช้งานการแชร์ไฟล์เป็นการตัดสินใจที่แยกจากกัน
จำกัดการเข้าถึงแบบผู้ดูแลระบบให้เฉพาะผู้ใช้หรือกลุ่ม ownCloud ที่มีสิทธิ์เข้าถึงไฟล์ระยะไกลเท่านั้น ตั้งค่าการเมานต์เป็นแบบอ่านอย่างเดียวเมื่อไม่ต้องการแก้ไข และตัดสินใจแยกต่างหากว่าผู้ใช้สามารถแชร์ไฟล์จากที่เมานต์นี้ได้หรือไม่
6. ตรวจสอบสถานะการเมานต์
ช่องที่จำเป็นต้องกรอกจะถูกทำเครื่องหมายไว้ในตารางพื้นที่จัดเก็บข้อมูลของผู้ดูแลระบบ และ ownCloud จะบันทึกการเชื่อมต่อหลังจากที่ได้ป้อนข้อมูลการกำหนดค่าที่จำเป็นแล้ว จุดสถานะสีเขียวแสดงว่าพื้นที่จัดเก็บข้อมูลภายนอกพร้อมใช้งาน ไอคอนสีแดงหรือสีเหลืองหมายความว่า ownCloud ไม่สามารถเชื่อมต่อได้ โปรดตรวจสอบชื่อโฮสต์ แชร์ โฟลเดอร์ย่อย ข้อมูลรับรอง สิทธิ์ของบัญชี และความพร้อมใช้งานของเครือข่ายอีกครั้ง เอกสารระบุว่าปัญหาการเชื่อมต่ออาจทำให้การเชื่อมต่อถูกทำเครื่องหมายว่าไม่พร้อมใช้งานเป็นเวลาสิบนาที คลิกไอคอนสถานะหรือโหลดหน้าผู้ดูแลระบบใหม่เพื่อลองอีกครั้งหลังจากแก้ไขสาเหตุแล้ว
ตรวจสอบการเชื่อมต่อในฐานะผู้ดูแลระบบและผู้ใช้
เปิดหน้า ownCloud Files ในฐานะผู้ใช้ในกลุ่มที่ได้รับอนุญาต และตรวจสอบว่าโฟลเดอร์ที่เชื่อมต่อปรากฏขึ้นหรือไม่ ทดสอบด้วยไฟล์ที่ไม่เป็นอันตราย: เปิดหรือดาวน์โหลดไฟล์ที่มีอยู่ จากนั้น หากการเชื่อมต่อมีจุดประสงค์เพื่อให้สามารถเขียนได้ ให้สร้างหรืออัปโหลดไฟล์ทดสอบขนาดเล็ก เปลี่ยนชื่อไฟล์ แล้วลบออก ตรวจสอบว่าการเปลี่ยนแปลงเดียวกันปรากฏบนเซิร์ฟเวอร์ SMB หรือไม่ หากการเชื่อมต่อเป็นแบบอ่านอย่างเดียว ให้ตรวจสอบว่าการอ่านทำงานได้ และการเขียนถูกบล็อกตามที่คาดไว้
สำหรับการวินิจฉัยปัญหาผ่านบรรทัดคำสั่งoccเครื่องมือของ ownCloud สามารถแสดงรายการการเชื่อมต่อภายนอกและตรวจสอบการเชื่อมต่อโดยใช้ ID ได้ เรียกใช้คำสั่งโดยใช้บัญชีของเว็บเซิร์ฟเวอร์และจากไดเร็กทอรีการติดตั้ง ownCloud ปรับเปลี่ยนบัญชีและเส้นทางให้เหมาะสมกับระบบของคุณ ก่อนอื่นให้รับ ID การเชื่อมต่อจริงจากรายการ จากนั้นตรวจสอบ ID นั้น อย่าเปิดเผยรหัสผ่านการเชื่อมต่อในเอาต์พุตคำสั่งที่แชร์
cd /var/www/owncloud
sudo -u www-data ./occ files_external:list
sudo -u www-data ./occ files_external:verify 3
ตัวเลขดัง3กล่าวเป็นเพียงตัวอย่างเท่านั้น โปรดแทนที่ด้วย ID ที่ได้จากfiles_external:listผลลัพธ์ของคุณเอง ในกรณีของคอนเทนเนอร์ ให้รันoccโดยใช้คำสั่งคอนเทนเนอร์ที่ระบุไว้ในเอกสารของการติดตั้งใช้งาน แทนที่จะสันนิษฐานว่าโฮสต์มีพาธหรือผู้ใช้เว็บเดียวกัน
ในฐานะผู้ใช้ที่ได้รับอนุญาต โปรดยืนยันว่าไดรฟ์ที่เชื่อมต่อปรากฏในโฟลเดอร์ไฟล์ และทดสอบการเข้าถึงโดยใช้ไฟล์ที่ไม่สำคัญ ใช้ ID การเมานต์จากผลลัพธ์ของ files_external:list เมื่อเรียกใช้ files_external:verify; เส้นทางและบัญชีบริการอาจแตกต่างกันไปตามการติดตั้ง
แก้ไขปัญหาโดยระบุจุดที่เกิดความเสียหาย
สิ่งที่คุณเห็น สิ่งที่ต้องตรวจสอบ SMB / CIFSหายไปจากรายการแบ็กเอนด์ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานการรองรับพื้นที่จัดเก็บข้อมูลภายนอกและแบ็กเอนด์ SMB แล้ว จากนั้นตรวจสอบการพึ่งพาของแพ็กเกจ ownCloud และรันไทม์ PHP ของคุณ รีสตาร์ท PHP หรือเว็บเซอร์วิสที่เกี่ยวข้องหลังจากเปลี่ยนโมดูล PHP แล้ว smbclientไม่สามารถแสดงรายการเซิร์ฟเวอร์หรือแชร์ได้ตรวจสอบชื่อเซิร์ฟเวอร์จากโฮสต์ ownCloud, ไฟร์วอลล์และการกำหนดเส้นทาง, ข้อมูลประจำตัว, ไวยากรณ์โดเมน และสิทธิ์การเข้าถึงทั้งบนโฟลเดอร์ที่แชร์และไฟล์ที่อยู่ภายใน แถวการติดตั้งจะยังคงเป็นสีแดงหรือสีเหลือง ตรวจสอบ URL ของ SMB ชื่อแชร์ โฟลเดอร์ย่อยระยะไกล บัญชี และเส้นทางเครือข่ายอีกครั้ง หากโฮสต์ใช้ SELinux โปรดตรวจสอบคำแนะนำอย่างเป็นทางการของ ownCloud เกี่ยวกับ SELinux สำหรับการเข้าถึงเครือข่ายขาออกก่อนที่จะเปลี่ยนแปลงนโยบาย ฐานยึดเป็นสีเขียว แต่ผู้ใช้ไม่สามารถมองเห็นได้ ตรวจสอบ ช่อง " ใช้งานได้สำหรับ ผู้ใช้/กลุ่ม" และยืนยันว่าบุคคลนั้นเป็นสมาชิกของกลุ่มนั้นจริง ๆ การเข้าถึงของผู้ดูแลระบบและการเข้าถึงส่วนบุคคลมีขอบเขตที่แตกต่างกัน ไฟล์ที่เพิ่มโดยตรงบนเซิร์ฟเวอร์ SMB จะไม่ปรากฏขึ้นทันที ownCloud อาจตรวจจับการเปลี่ยนแปลงระยะไกลทั้งหมดพร้อมกันไม่ได้ โดยเฉพาะอย่างยิ่งการเปลี่ยนแปลงที่อยู่ลึกเข้าไปในโครงสร้างโฟลเดอร์ โปรดตรวจสอบคำแนะนำเกี่ยวกับการทำงานเบื้องหลังของพื้นที่จัดเก็บข้อมูลภายนอกและข้อจำกัดในการตรวจสอบสิทธิ์สำหรับกลไกที่คุณเลือก
ข้อจำกัดที่ต้องวางแผน
การเชื่อมต่อภายนอกผ่าน SMB/CIFS เป็นการเชื่อมต่อแบบเรียลไทม์กับเซิร์ฟเวอร์อื่น ไม่ใช่การคัดลอกข้อมูลภายใน ownCloud หากเซิร์ฟเวอร์ SMB ไม่พร้อมใช้งาน การเชื่อมต่อก็อาจไม่พร้อมใช้งานใน ownCloud ด้วยเช่นกัน การเปลี่ยนแปลงหรือลบการเชื่อมต่อภายนอกไม่ได้หมายความว่าจะลบรายการเมตาเดต้าทั้งหมดที่เกี่ยวข้องกับการกำหนดค่าเก่าออกไป ดังนั้นควรหลีกเลี่ยงการลบและสร้างการเชื่อมต่อใหม่ซ้ำๆ ในระหว่างการทดสอบ
การเลือกวิธีการตรวจสอบสิทธิ์ส่งผลต่อระบบอัตโนมัติ ข้อมูลรับรองเฉพาะเซสชันจะไม่สามารถใช้งานได้ในกระบวนการทำงานเบื้องหลังในลักษณะเดียวกับข้อมูลรับรองบริการที่จัดเก็บไว้ นอกจากนี้ การเปลี่ยนแปลงที่ทำโดยตรงผ่านไคลเอ็นต์ SMB อื่นอาจไม่แสดงผลทันทีในมุมมองไฟล์ของ ownCloud หากต้องการการค้นหา การแชร์ หรือการเข้าถึงต่อผู้ใช้ที่เชื่อถือได้ในเบื้องหลัง โปรดทดสอบพฤติกรรมเหล่านั้นอย่างละเอียดกับแบ็กเอนด์และเวอร์ชัน ownCloud ที่เลือกก่อนการใช้งานจริง
เอกสารทางการ
เอกสารนี้ได้รับการตรวจสอบเมื่อวันที่ 6 ตุลาคม 2569 ความสัมพันธ์ของแพ็กเกจและป้ายชื่อเมนูอาจแตกต่างกันไปตามเวอร์ชันของ ownCloud, การแจกจ่าย Linux และอิมเมจคอนเทนเนอร์ โปรดปฏิบัติตามคู่มือการติดตั้งและการดูแลระบบที่ตรงกับเวอร์ชันที่คุณใช้งาน