หากคุณไม่สามารถเข้าสู่ระบบ Nextcloud ด้วยบัญชีผู้ดูแลระบบได้อีกต่อไป คำสั่งฝั่งเซิร์ฟเวอร์occสามารถรีเซ็ตรหัสผ่านของบัญชีนั้นได้โดยไม่ต้องใช้เว็บoccอินเทอร์เฟซ คืออินเทอร์เฟซบรรทัดคำสั่งของ Nextcloud สำหรับการดูแลระบบ การรีเซ็ตจะเปลี่ยนรหัสผ่านบัญชี Nextcloud เท่านั้น จะไม่เปลี่ยนรหัสผ่านการเข้าสู่ระบบ Linux รหัสผ่านฐานข้อมูล หรือรหัสผ่านแผงควบคุมโฮสติ้งของคุณ
คู่มือนี้ใช้คู่มือการดูแลระบบ Nextcloud 35 ฉบับปัจจุบัน ซึ่งเผยแพร่เมื่อวันที่ 6 ตุลาคม 2026 คำสั่งพื้นฐานมีความเสถียรในหลายเวอร์ชัน แต่เส้นทางการติดตั้ง คำสั่ง PHP บัญชีบริการ และเวิร์กโฟลว์คอนเทนเนอร์อาจแตกต่างกันไป โปรดใช้ค่าตัวอย่างหลังจากตรวจสอบวิธีการติดตั้งอินสแตนซ์ของคุณเองแล้วเท่านั้น
สิ่งที่คุณต้องเตรียมก่อนทำการรีเซ็ต
สิทธิ์ในการเข้าถึงเชลล์ไปยังเซิร์ฟเวอร์หรือคอนเทนเนอร์ที่รันแอปพลิเคชัน PHP ของ Nextcloud เส้นทางไฟล์ระบบไปยังตำแหน่งติดตั้ง Nextcloud ซึ่งก็คือไดเร็กทอรีที่เก็บoccไฟล์ นั้นไว้ รหัสบัญชี Nextcloud ที่ต้องการเปลี่ยนรหัสผ่าน รหัสบัญชีต้องไม่ใช่admin. บัญชีผู้ใช้ระบบปฏิบัติการที่ใช้โดยเว็บเซิร์ฟเวอร์หรือรันไทม์ PHP บน Debian และ Ubuntu มักจะเป็นwww-data; ระบบอื่นๆ อาจใช้บัญชีผู้ใช้อื่น รหัสผ่านใหม่ที่ไม่ซ้ำกันซึ่งจัดเก็บไว้ในโปรแกรมจัดการรหัสผ่าน
เรียกใช้งานoccในฐานะผู้ใช้ HTTP ซึ่งเป็นบัญชีระบบปฏิบัติการที่ใช้เรียกใช้งานเว็บแอปพลิเคชัน เพื่อให้การเป็นเจ้าของไฟล์และสิทธิ์การเข้าถึงมีความสอดคล้องกัน คู่มือของ Nextcloud ได้ระบุข้อกำหนดนี้ไว้ อย่าเรียกใช้คำสั่งในฐานะ root โดยค่าเริ่มต้นเพียงเพราะคุณมีสิทธิ์ sudo
ขั้นตอนที่ 1: ค้นหาโปรแกรมติดตั้งและบัญชีที่เหมาะสม
เชื่อมต่อผ่าน SSH หรือเปิดเชลล์ที่ให้บริการโดยสภาพแวดล้อมโฮสติ้งของคุณ ย้ายไปยังไดเร็กทอรีการติดตั้ง Nextcloud เส้นทางการติดตั้งทั่วไปคือ `/etc/nextcloud/` /var/www/nextcloudแต่แพ็กเกจ อุปกรณ์ คอนเทนเนอร์ และบริการโฮสต์อาจใช้เส้นทางที่แตกต่างกัน
cd /var/www/nextcloud
ls -l occ
คำสั่งที่สองควรแสดงoccไฟล์ หากไม่แสดง ให้หยุดและค้นหาไดเร็กทอรีแอปพลิเคชันที่แท้จริงแทนที่จะลองเดาเส้นทาง หากคุณมีชื่อบัญชีที่แตกต่างกัน ให้แทนที่adminในคำสั่งถัดไปด้วยรหัสผู้ใช้ Nextcloud ที่ถูกต้อง รหัสผู้ใช้ไม่จำเป็นต้องเป็นชื่อที่แสดงหรือที่อยู่อีเมล
ขั้นตอนที่ 1: ยืนยันไดเร็กทอรีการติดตั้ง Nextcloud และชื่อผู้ใช้บัญชีที่ถูกต้องก่อนเรียกใช้คำสั่ง occ
ขั้นตอนที่ 2: เรียกใช้การรีเซ็ตรหัสผ่านแบบโต้ตอบ
สำหรับการติดตั้งระบบปฏิบัติการ Debian หรือ Ubuntu ทั่วไปที่ใช้เว็บเซิร์ฟเวอร์ ให้www-dataรันคำสั่งนี้จากไดเร็กทอรี Nextcloud:
sudo -E -u www-data php occ user:resetpassword admin
www-dataหากเซิร์ฟเวอร์ของคุณใช้ผู้ใช้ HTTP ที่แตกต่างกัน ให้แทนที่ด้วยadminรหัสบัญชีที่คุณยืนยันแล้ว หากคุณยังไม่ได้อยู่ในไดเร็กทอรีการติดตั้ง ให้ใช้เส้นทางแบบเต็ม:
sudo -E -u www-data php /var/www/nextcloud/occ user:resetpassword admin
Nextcloud จะแจ้งให้คุณป้อนรหัสผ่านใหม่และขอให้คุณยืนยัน โดยปกติแล้วตัวอักษรของรหัสผ่านจะไม่ปรากฏขณะที่คุณพิมพ์ ซึ่งเป็นพฤติกรรมปกติ ป้อนรหัสผ่านเดียวกันทั้งสองครั้ง ข้อความแสดงความสำเร็จจะยืนยันว่า Nextcloud ยอมรับการรีเซ็ตแล้ว
ขั้นตอนที่ 2: เรียกใช้คำสั่งรีเซ็ตแบบโต้ตอบโดยใช้บัญชีเว็บเซิร์ฟเวอร์ และป้อนรหัสผ่านใหม่สองครั้ง
ขั้นตอนที่ 3: ใช้ตัวแปรสภาพแวดล้อมเฉพาะสำหรับการทำงานอัตโนมัติเท่านั้น
Nextcloud ยังรองรับ--password-from-envการทำงานแบบสคริปต์ด้วย โดยจะอ่านรหัสผ่านจากOC_PASSตัวแปรสภาพแวดล้อม หลีกเลี่ยงการใส่รหัสผ่านจริงลงในบรรทัดคำสั่ง ประวัติคำสั่งเชลล์ สคริปต์ที่บันทึกไว้ในระบบควบคุมเวอร์ชัน หรือบันทึกการแชร์เทอร์มินัลโดยตรง
สำหรับการใช้งานเชลล์แบบครั้งเดียว คุณสามารถป้อนรหัสลับโดยไม่ต้องแสดงผล ส่งออกรหัสลับ เรียกใช้คำสั่งที่ระบุไว้ และจากนั้นล้างรหัสลับได้:
read -s OC_PASS
export OC_PASS
sudo -E -u www-data php occ user:resetpassword --password-from-env admin
unset OC_PASS
หลังจากนั้นread -sให้พิมพ์รหัสผ่านใหม่แล้วกด Enter; ข้อมูลที่ป้อนจะยังคงซ่อนอยู่-Eตัวเลือกนี้ขอให้ sudo รักษาความปลอดภัยของสภาพแวดล้อม แต่ นโยบาย sudo ในเครื่องอาจจำกัดพฤติกรรมนั้น หากคำสั่งรายงานว่าข้อมูลOC_PASSหายไปหรือว่างเปล่า ให้ใช้การรีเซ็ตแบบโต้ตอบแทน หรือปฏิบัติตามขั้นตอนการจัดการความลับของแพลตฟอร์มของคุณ อย่าปิดใช้งานการป้องกันของ sudo เพียงเพื่อให้สคริปต์ทำงานได้
สำหรับการรีเซ็ตแบบสคริปต์ Nextcloud รองรับตัวเลือก password-from-environment; ห้ามใส่รหัสผ่านจริงในคำสั่งหรือบทความ
ขั้นตอนที่ 4: ตรวจสอบว่าบัญชีสามารถเข้าสู่ระบบได้หรือไม่
เปิด URL ของ Nextcloud ตามปกติในหน้าต่างเบราว์เซอร์แบบส่วนตัว หรือออกจากระบบในเซสชันปัจจุบัน จากนั้นเข้าสู่ระบบอีกครั้งด้วยรหัสบัญชีเดิมและรหัสผ่านใหม่ การเข้าสู่ระบบสำเร็จเป็นการยืนยันว่าข้อมูลประจำตัวใช้งานได้ผ่านเว็บแอปพลิเคชัน ไม่ใช่แค่ว่าคำสั่ง CLI ทำงานได้เท่านั้น หากองค์กรของคุณใช้ปัจจัยการตรวจสอบสิทธิ์แบบที่สอง โปรดดำเนินการตรวจสอบสิทธิ์ตามปกตินั้นด้วยเช่นกัน
ขั้นตอนที่ 4: ทดสอบข้อมูลประจำตัวใหม่บนหน้าเข้าสู่ระบบ Nextcloud ตามปกติ
ปัญหาที่พบบ่อยและวิธีรับมือ
Could not open input file: occหรืออาจเกิดข้อผิดพลาดไฟล์หาย: คุณอาจอยู่ในไดเร็กทอรีที่ไม่ถูกต้องหรือใช้เส้นทางที่ไม่ถูกต้อง ค้นหาoccไฟล์ที่ติดตั้งแล้วและเรียกใช้คำสั่งอีกครั้งที่นั่นข้อผิดพลาดเกี่ยวกับสิทธิ์การเข้าถึงหรือความเป็นเจ้าของ: ตรวจสอบบัญชีเว็บเซิร์ฟเวอร์/PHP สำหรับระบบปฏิบัติการของคุณ และเรียกใช้คำสั่งโดยใช้บัญชีนั้น อย่าเปลี่ยนความเป็นเจ้าของแบบวนซ้ำเพื่อแก้ไขปัญหาอย่างรวดเร็ว เพราะอาจทำให้เกิดปัญหาการเข้าถึงที่กว้างขึ้นได้“ผู้ใช้ไม่มีอยู่จริง” หรือข้อผิดพลาดบัญชีที่คล้ายกัน: ยืนยันรหัสบัญชี รวมถึงการใช้ตัวพิมพ์ใหญ่และตัวพิมพ์เล็กในกรณีที่เกี่ยวข้อง ห้ามใช้ที่อยู่อีเมลแทน เว้นแต่ว่านั่นคือรหัสบัญชีที่ถูกต้องphpหากไฟล์ PHP หายไปหรือเลือกเวอร์ชัน PHP ไม่ถูกต้อง: ให้ใช้ไฟล์ไบนารี PHP CLI ที่รองรับโดยการติดตั้ง Nextcloud และแพลตฟอร์มโฮสติ้งของคุณ เซิร์ฟเวอร์หนึ่งเครื่องอาจมีการติดตั้ง PHP มากกว่าหนึ่งเวอร์ชัน ดังนั้นอย่าคิดว่าคำสั่งเริ่มต้นจะตรงกับเวอร์ชันเว็บรันไทม์เสมอไปเซิร์ฟเวอร์ทำงานบน Docker, Nextcloud AIO, Snap หรือ appliance: รันoccในสภาพแวดล้อมของแอปพลิเคชันและปฏิบัติตามขั้นตอนคำสั่งอย่างเป็นทางการของการติดตั้งนั้นๆ เส้นทางโฮสต์ ชื่อคอนเทนเนอร์ และผู้ใช้รันไทม์จะแตกต่างกัน คำสั่งระดับโฮสต์ที่คัดลอกมาจากการติดตั้งต้นทางอาจกำหนดเป้าหมายไปยังระบบไฟล์ที่ไม่ถูกต้องบัญชีนี้ได้รับการจัดการโดย LDAP หรือ Active Directory: ระบบเหล่านี้สามารถเป็นแหล่งควบคุมข้อมูลประจำตัวของบัญชีได้ การรีเซ็ตรหัสผ่าน Nextcloud ในเครื่องอาจไม่สามารถอัปเดตรหัสผ่านที่จัดการจากภายนอกได้ โปรดปฏิบัติตามขั้นตอนการรีเซ็ตของผู้ดูแลระบบไดเร็กทอรี และตรวจสอบการกำหนดค่าผู้ให้บริการข้อมูลประจำตัวของคุณคุณไม่มีสิทธิ์เข้าถึงเชลล์: ลองใช้ลิงก์รีเซ็ต mật khẩu ในหน้าเข้าสู่ระบบ หากบัญชีของคุณมีที่อยู่อีเมลที่ใช้งานได้บันทึกไว้ใน Nextcloud หรือขอให้ผู้ดูแลระบบ Nextcloud คนอื่นหรือผู้ให้บริการโฮสติ้งของคุณรีเซ็ตให้
สิ่งที่ควรหลีกเลี่ยงหลังการฟื้นตัว
อย่าแก้ไขฐานข้อมูล Nextcloud โดยตรงเพื่อแทนที่แฮชรหัสผ่าน อย่าเปลี่ยนรหัสผ่านระบบปฏิบัติการโดยหวังว่าจะรีเซ็ตผู้ใช้ Nextcloud เก็บรักษารหัสผ่านใหม่ไว้เป็นความลับ ลบข้อมูลลับชั่วคราวใดๆ ออกจากสภาพแวดล้อมเชลล์ และจัดเก็บไว้ในโปรแกรมจัดการรหัสผ่านของคุณ หากคุณสงสัยว่าข้อมูลประจำตัวเก่าถูกเปิดเผย ให้ตรวจสอบการเข้าถึงผ่านกระบวนการรักษาความปลอดภัยปกติขององค์กรของคุณ
เอกสารอ้างอิงอย่างเป็นทางการ
เอกสารของ Nextcloud อธิบายตัวเลือกการกู้คืนและขั้นตอนการกู้คืนรหัสผ่านผู้ดูแลระบบที่หายไปไว้ใน หัวข้อ "การรีเซ็ตรหัสผ่านผู้ดูแลระบบที่หายไป" คำสั่งที่รองรับ การแจ้งให้ป้อนรหัสผ่าน และตัวเลือกตัวแปรสภาพแวดล้อมจะอธิบายไว้ในหัวข้อ "คำสั่งผู้ใช้และกลุ่ม" และ"การใช้คำสั่ง occ "