你必须得到一个有以下功能的可执行程序:
如果在这个程序中再使用 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 服务器上.....