0Pricing
Ansible Academy · บทเรียน

การยกระดับสิทธิ์ด้วย become

เรียกใช้งานเป็น root ด้วย sudo

การยกระดับสิทธิ์ด้วย become เป็นบทเรียน Ansible Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ansible Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน

งานบางอย่างต้องใช้สิทธิ์ root

การติดตั้งแพ็กเกจหรือเริ่มบริการใหม่มักต้องใช้สิทธิ์ root Ansible จัดการเรื่องนี้ด้วยการยกระดับสิทธิ์ ไม่ใช่การเข้าสู่ระบบด้วย root แยกต่างหาก 🔐

เปิดใช้ด้วย become

เพิ่มแฟล็ก --become ซึ่งมักเขียนย่อเป็น -b เพื่อเรียกใช้คำสั่งเฉพาะกิจด้วยสิทธิ์ที่สูงขึ้นบนโฮสต์ระยะไกล

ansible all -b -m package -a "name=git state=present"

sudo คือวิธีเริ่มต้น

โดยค่าเริ่มต้น become จะใช้ sudo เพื่อยกระดับสิทธิ์ ซึ่งทำงานได้บนระบบ Linux ส่วนใหญ่โดยไม่ต้องตั้งค่าเพิ่มเติม

ansible web -b -m service -a "name=nginx state=restarted"

ยกระดับเป็น root โดยค่าเริ่มต้น

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

เปลี่ยนผู้ใช้ด้วย become_user

ใช้ --become-user เพื่อเปลี่ยนเป็นผู้ใช้อื่นที่ไม่ใช่ root เช่น ใช้บัญชี postgres หรือ deploy ในการติดตั้งไฟล์

ansible db -b --become-user postgres -m command -a "psql -c '\\l'"

เลือกวิธีการ

แฟล็ก --become-method ใช้เลือกวิธียกระดับสิทธิ์ เช่น sudo, su หรือ doas โดยขึ้นอยู่กับสิ่งที่โฮสต์ของคุณอนุญาต

ansible all -b --become-method su -m ping

ถามรหัสผ่าน sudo

หาก sudo ขอรหัสผ่าน ให้เพิ่ม --ask-become-pass ซึ่งมักเขียนย่อเป็น -K แล้ว Ansible จะถามคุณหนึ่งครั้งก่อนเริ่มทำงาน

ansible all -b -K -m package -a "name=vim state=present"

สามส่วนที่ควรจำ

การยกระดับสิทธิ์มีตัวควบคุมสามอย่าง: become ใช้เปิดการทำงาน, become_user ใช้กำหนดผู้ใช้ และ become_method ใช้กำหนดวิธี ทั้งสามอย่างนี้ครอบคลุมโฮสต์ได้ทุกแบบ

ใช้คีย์เดียวกันในเพลย์บุ๊ก

แฟล็กเหล่านี้สอดคล้องกับคำสั่งกำกับ: become: true, become_user และ become_method ซึ่งคุณจะนำกลับมาใช้ภายในเพลย์บุ๊กในภายหลัง

become: true

เชื่อมต่อก่อน แล้วยกระดับสิทธิ์

Ansible จะเข้าสู่ระบบในฐานะผู้ใช้ SSHของคุณก่อน จากนั้นจึงยกระดับสิทธิ์บนโฮสต์ ผู้ใช้ทั้งสองเป็นคนละขั้นตอนกัน จึงไม่ควรสับสน

ansible web -u deploy -b -m ping

ยกระดับสิทธิ์เมื่อจำเป็นเท่านั้น

ไม่ต้องใช้ become กับงานที่อ่านข้อมูลอย่างเดียว เช่น การ ping หรือการรวบรวมข้อมูลระบบ ให้ใช้เฉพาะกับการดำเนินการที่ต้องใช้สิทธิ์สูงขึ้นจริง ๆ

ตรวจสอบอย่างรวดเร็ว

เมื่อใช้ become วิธีการยกระดับสิทธิ์เริ่มต้นคืออะไร

สรุป

ขณะนี้คุณสามารถเปลี่ยนเป็น root ได้อย่างปลอดภัย: become เปิดใช้การยกระดับสิทธิ์, become_user กำหนดเป้าหมาย และ -K ใช้ถามรหัสผ่าน 🔐

คำถามที่พบบ่อย

บทเรียน “การยกระดับสิทธิ์ด้วย become” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การยกระดับสิทธิ์ด้วย become” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ansible Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การยกระดับสิทธิ์ด้วย become”

เรียกใช้งานเป็น root ด้วย sudo คุณปฏิบัติ Ansible Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ansible Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ansible Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การยกระดับสิทธิ์ด้วย become” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Ansible Academy นี้ได้ไหม

ได้ บทเรียน Ansible Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. กายวิภาคของคำสั่ง ansible
  2. รูปแบบเป้าหมาย: all, web และ host1
  3. เรียกใช้คำสั่งเชลล์ด้วย command และ shell
  4. การยกระดับสิทธิ์ด้วย become
← กลับไปที่ Ansible Academy