เรียกใช้คำสั่งในฐานะผู้ใช้อื่นครั้งเดียว:
sudo -u www-data php script.php
root
นี้จะทำงานถ้าคุณเป็น
สำหรับ php ที่ทำงานอยู่เสมอwww-data
มีความเป็นไปได้หลายอย่าง คุณสามารถสร้าง shellpper แบบเรียบง่าย หาก/usr/bin/php
เป็นเพียงลิงค์อ่อน/usr/bin/php5
หรือที่คล้ายกันนั่นจะทำให้ง่ายขึ้น เพียงแทนที่ soft-link (ไม่ใช่ไฟล์php5
) ด้วยสคริปต์เช่นนี้:
#!/bin/sh
sudo -u www-data php5 $*
return $?
ที่ไม่ได้ทดสอบว่า นอกจากนี้โปรดทราบว่าสิ่งนี้จะพยายามเรียกใช้php5
ในฐานะผู้ใช้www-data
เสมอแม้ว่าผู้ใช้root
อาจไม่ได้รับอนุญาตและอาจไม่ได้รับอนุญาต และอาจไม่ใช่สิ่งที่คุณต้องการ บริการที่ติดตั้งบางอย่างอาจประสบปัญหาเมื่อพยายามเรียกใช้งาน php
โซลูชัน (น่าจะดีกว่า) ที่จะนำไปใช้เฉพาะกับรูทอาจเป็นการปล่อยซอฟต์ลิงค์ไว้/usr/bin/php
ตามลำพังและวางสคริปต์ไว้/root/bin
แทน แล้วเพิ่มโฟลเดอร์นั้นไปยังเส้นทางผ่านทาง.bashrc
, .profile
หรือคล้ายกัน หากคุณมี/etc/skel/.profile
นั่นอาจชี้ให้เห็นวิธีการทำ:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
ครั้งนี้อยู่ในของคุณ.bashrc
, .profile
หรือคล้ายกันทุกเปลือกใหม่ที่คุณเปิดจะช่วยให้คุณสามารถดำเนินการใด ๆ โดยตรง executables (+ x) ใน$HOME/bin
( /root/bin
ราก)
คำแนะนำ: คุณอาจต้องการตั้งชื่อสคริปต์ของ wrapper phpwww
เพื่อให้คุณระบุphp script.php
หรือphpwww script.php
ตัดสินใจอย่างชัดเจนว่าคุณต้องการ php ปกติหรือ sudo'ed
อีกวิธีคือนามแฝงง่ายๆ สถานที่แห่งนี้ในของคุณ.bashrc
, .profile
หรือคล้ายกัน:
alias phpwww='sudo -u www-data php'