เอกสาร

เริ่มต้นอย่างรวดเร็ว + คำอธิบายฟังก์ชันของแต่ละส่วนและแต่ละอุปกรณ์ (อัปเดตต่อเนื่อง)

คำอธิบายการใช้งานเซิร์ฟเวอร์คลาวด์รายใหญ่ (ผู้ใช้ที่ไม่ใช่ root)

นี่คือสถานการณ์อะไร

เซิร์ฟเวอร์คลาวด์ของบริษัทใหญ่ เช่น Tencent Cloud, Alibaba Cloud, Huawei Cloud เพื่อความปลอดภัยห้ามล็อกอินด้วย root โดยค่าเริ่มต้น ใช้ได้แค่ผู้ใช้ทั่วไป (Ubuntu ใช้ ubuntu, Debian ใช้ admin, CentOS ใช้ centos) ผู้ใช้ทั่วไปเหล่านี้มักอยู่ในกลุ่ม sudo และตั้งค่า sudo แบบไม่ต้องใส่รหัสผ่าน ไว้โดยค่าเริ่มต้น (คือรันคำสั่ง sudo แล้วไม่ต้องกรอกรหัสผ่าน)

มีความหมายอย่างไรต่อแผงควบคุม

เมื่อล็อกอินเซิร์ฟเวอร์ด้วยผู้ใช้ทั่วไป การดำเนินการทั้งหมดในแผงควบคุมที่ «ต้องใช้สิทธิ์ผู้ดูแลระบบ» — เปลี่ยนแหล่ง ติดตั้ง Docker ติดตั้งซอฟต์แวร์ ตั้งค่าไฟร์วอลล์ ฯลฯ — แผงควบคุมจะเติมคำนำหน้า sudo เพื่อยกระดับสิทธิ์ให้อัตโนมัติ คุณไม่ต้องตั้งค่าเพิ่มเติมใด ๆ ใช้งานปกติได้เลย

แผงควบคุมจัดการอัตโนมัติอย่างไร

แผงควบคุมมีกลไกยกระดับสิทธิ์อัจฉริยะในตัว จะตัดสินและจัดการให้อัตโนมัติ:

1. ระบุตัวตนผู้ใช้ปัจจุบัน: หลังเชื่อมต่อจะตัดสินอัตโนมัติว่าล็อกอินด้วย root หรือผู้ใช้ทั่วไป

2. ตรวจหา sudo แบบไม่ต้องใส่รหัสผ่าน: กรณีผู้ใช้ทั่วไปจะตรวจหาอัตโนมัติว่ารองรับ sudo แบบไม่ต้องใส่รหัสผ่านหรือไม่ (ผลถูกแคช ไม่ตรวจซ้ำ)

3. ยกระดับสิทธิ์อัตโนมัติ: กับ «คำสั่งประเภทดำเนินการที่ต้องใช้ root» (apt-get install, yum/dnf install, systemctl, เขียน /etc/, nginx -s reload, ขอใบรับรอง ฯลฯ) จะเติมคำนำหน้า sudo -n sh -c '...' ให้อัตโนมัติ

4. คำสั่งอ่านอย่างเดียวไม่รบกวน: คำสั่งดู/ตรวจสอบอย่าง cat, whoami, pwd, command -v จะไม่ถูกเติม sudo รันตามเดิม

5. ผู้ใช้ root ไม่กระทบเลย: เมื่อล็อกอินด้วย root คำสั่งจะคืนค่าตามเดิม พฤติกรรมไม่เปลี่ยนเลย

เวลาเพิ่มเซิร์ฟเวอร์กรอกอย่างไร

ช่องแนะนำให้กรอก
ชื่อผู้ใช้ชื่อผู้ใช้ทั่วไป เช่น ubuntu / centos / admin
วิธีรับรองตัวตนรหัสผ่าน หรือ คีย์ส่วนตัว (คลาวด์รายใหญ่มักให้คู่คีย์เป็นค่าเริ่มต้น แนะนำให้ใช้คีย์ส่วนตัว)

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

กรณีใดจะล้มเหลว

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

หากคุณต้องการให้ผู้ใช้ทั่วไปใช้ sudo แบบไม่ต้องใส่รหัสผ่านได้เช่นกัน รันบนเซิร์ฟเวอร์ได้ดังนี้:

# เพิ่มผู้ใช้ปัจจุบันเข้ากลุ่ม sudo (ถ้ายังไม่ได้เพิ่ม)
sudo usermod -aG sudo <username>
# ตั้งค่า sudo แบบไม่ต้องใส่รหัสผ่าน (แก้ไข sudoers)
echo "<username> ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/<username>

ข้อควรระวัง

1. ผู้ใช้เริ่มต้นของคลาวด์รายใหญ่ (ubuntu / centos / admin) ล้วนเป็น sudo แบบไม่ต้องใส่รหัสผ่าน ใช้งานได้ตามปกติทันที

2. หากไม่แน่ใจว่าผู้ใช้ของเซิร์ฟเวอร์คืออะไร ล็อกอินเซิร์ฟเวอร์แล้วรัน whoami เพื่อดูชื่อผู้ใช้ปัจจุบัน

3. การยกระดับสิทธิ์ของแผงควบคุมมุ่งเฉพาะ «คำสั่งประเภทดำเนินการ» ฟังก์ชันดูข้อมูล/มอนิเตอร์ไม่ได้รับผลกระทบ