<ก่อนหน้านี้ | Contents | ถัดไป>
su – เรียกใช้เชลล์ด้วยผู้ใช้ทดแทนและรหัสกลุ่ม
การขอ su คำสั่งใช้เพื่อเริ่มเชลล์ในฐานะผู้ใช้รายอื่น ไวยากรณ์คำสั่งมีลักษณะดังนี้:
ซู [-[l]] [ผู้ใช้งาน]
ซู [-[l]] [ผู้ใช้งาน]
หากรวมตัวเลือก "-l" ไว้ เซสชันของเชลล์ที่เป็นผลลัพธ์คือ a ล็อกอินเชลล์ สำหรับผู้ใช้ที่ระบุ ซึ่งหมายความว่าสภาพแวดล้อมของผู้ใช้ถูกโหลดและไดเร็กทอรีการทำงานจะเปลี่ยนเป็นโฮมไดเร็กทอรีของผู้ใช้ มักจะเป็นสิ่งที่เราต้องการ หากไม่ได้ระบุผู้ใช้ จะถือว่า superuser โปรดสังเกตว่า (แปลก) ตัว “-l” อาจย่อมาจาก “-” ซึ่งเป็นวิธีที่ใช้บ่อยที่สุด ในการเริ่มเชลล์สำหรับ superuser เราจะทำสิ่งนี้:
[me@linuxbox ~]$ ซู - รหัสผ่าน: [root@linuxbox ~]#
[me@linuxbox ~]$ ซู - รหัสผ่าน: [root@linuxbox ~]#
หลังจากป้อนคำสั่ง เราจะได้รับพร้อมท์ให้ใส่รหัสผ่านของ superuser หากป้อนสำเร็จ จะมีข้อความแจ้งเชลล์ใหม่ปรากฏขึ้นเพื่อระบุว่าเชลล์นี้มีสิทธิ์ผู้ใช้ระดับสูง (# ต่อท้ายแทนที่จะเป็น “$”) และไดเร็กทอรีการทำงานปัจจุบันคือไดเร็กทอรีหลักสำหรับ superuser (โดยปกติ /ราก). เมื่ออยู่ในเชลล์ใหม่ เราสามารถดำเนินการคำสั่งในฐานะผู้ใช้ระดับสูงได้ เมื่อเสร็จแล้ว ให้ป้อน "exit" เพื่อกลับไปยังเชลล์ก่อนหน้า:
[root @ linuxbox ~] # ทางออก
[me@linuxbox ~]$
[root @ linuxbox ~] # ทางออก
[me@linuxbox ~]$
นอกจากนี้ยังสามารถดำเนินการคำสั่งเดียวแทนที่จะเริ่มคำสั่งแบบโต้ตอบใหม่โดยใช้ su ทางนี้:
ซู -c 'คำสั่ง'
ซู -c 'คำสั่ง'
เมื่อใช้แบบฟอร์มนี้ บรรทัดคำสั่งเดียวจะถูกส่งไปยังเชลล์ใหม่เพื่อดำเนินการ จำเป็นต้องใส่คำสั่งในเครื่องหมายคำพูด เนื่องจากเราไม่ต้องการให้ส่วนขยายเกิดขึ้นในเชลล์ของเรา แต่อยู่ในเชลล์ใหม่:
[me@linuxbox ~]$ su -c 'ls -l /root/*'
รหัสผ่าน:
-rw------- 1 รูทรูท 754 2007-08-11 03:19 /root/anaconda-ks.cfg
/root/Mail: ทั้งหมด 0 [me@linuxbox ~]$
[me@linuxbox ~]$ su -c 'ls -l /root/*'
รหัสผ่าน:
-rw------- 1 รูทรูท 754 2007-08-11 03:19 /root/anaconda-ks.cfg
/root/Mail: ทั้งหมด 0 [me@linuxbox ~]$