หน้าเว็บ

วันอาทิตย์ที่ 27 กันยายน พ.ศ. 2552

Run Command as Other User

วิธีการที่จะสั่ง run คำสั่งใดๆ แต่ให้เสมือนว่าเป็น user คนอื่นเป็นคนสั่งทำได้โดยใช้คำสั่งดังนี้
su - username -c "commandname"
โดยหลังเครื่องหมาย "-" ตัวแรก ให้ตามด้วยเว้นวรรค ก่อนแล้วค่อยเป็น username แต่ตรง "-c" พิมพ์ติดกัน
หรือใช้คำสั่ง
sudo -u username commandname
ก็ได้เช่นเดียวกัน
สามารถทดสอบโดยเห็นผลชัดๆก็คือคำสั่ง id ซึ่งจะแสดงค่าข้อมูลของ user ที่สั่งคำสั่งขึ้นมา ดังนี้

ถ้าเป็นผู้ใช้ที่เป็น admin สั่งคำสั่ง id จะได้ผลลัพธ์
uid=1000(supasate) gid=1000(supasate) groups=4(adm),..........
เป็นต้น

แต่ถ้าต้องการให้สั่งคำสั่งในฐานะ user ธรรมดาที่ชื่อ ping
su - ping -c "id"
หรือ
sudo -u ping id
จะได้ผลลัพทธ์
uid=1001(ping) gid=1001(ping) groups=1001(ping)
เป็นต้น

ระบบที่ทดสอบ
OS:
Ubuntu 9.04 Server

ที่มา
http://ubuntuforums.org/showthread.php?t=879283

ไม่มีความคิดเห็น: