你必須得到一個有以下功能的可執行程序:
如果在這個程序中再使用 setuid 會更好,因為每個用戶都可以用 Linux 煮咖啡了!
參考 kernel hacker's guide, 安裝一個設備驅動程序 (it could even be user space i think). 請以模塊(module)方式編譯,這樣以后每次更新的時候也用不著重新編譯內核了。 然后打入:
echo cappuccino >/dev/coffee
1 分鐘后你就會有一杯熱咖啡,注意 /dev/coffee 要設置合適的權限,具體看你是否只想讓超級用戶煮咖啡了。
這種方法有個優點就是它能用并口的 ACK 針腳來實現從咖啡機的反饋支持。所以一個智能的咖啡機有時還會中斷一下。
把它當作課外作業
如果你已經有了這個 C 程序(如上),你只需寫一個 CGI 腳本就可以開關咖啡機了。 你還需做几個漂亮的網頁,解釋一下怎么煮咖啡,然后再把它挂到 apache 服務器上.....