我們在這個版本裡面加入了一些好玩的東西, 最主要是希望可以偷懶做一些事情. bbsctl ------ bbsctl是一個很特別的程式, 安裝有點複雜. 1.先用 bbsadm 的權限在 util/下 make bbsctl 2.改成 root 的權限在 util/下 make installbbsctl 如此會把 bbsctl 安裝到 $(BBSHOME)/bin/bbsctl下. 我們會建議您將 bbsctl 所在目錄加進您的 path 裡面, 或是建立 symbolic link把 bbsctl 放到一個有設 path 的目錄 (像是 /usr/local/bin 將是一個符合 FreeBSD程式置放路徑的目錄) 您可以用 ln -s $(BBSHOME)/bbs/bbsctl /usr/local/bin/bbsctl (其中 $(BBSHOME) 請用您所設的 bbs路徑代替, 如 /home/bbs) 如此您將可以在任何一個目錄下使用 bbsctl !!請注意, bbsctl 是有 root setuid的, 這可能會有安全上的問題!! 其中 bbsctl 設計是只有該帳號有加入 bbsadm 這個 group的人才能使用. (關於如何設定 group請見 FAQ) 您應該至少要將 bbs和 bbsadm 這兩個帳號加入 bbsadm 這個 group 您可以直接打 bbsctl 來看有什麼功能. 主要的功能說明如下: 1.bbsctl start 用於啟動 mbbsd (須先跑 uhash_loader) 以往因為要 bind port 23 須要 root 所以要手動 su , 不過現在有 bbsctl with setuid , 請直接使用 bbsctl start , 即可將 mbbsd跑起來. 2.bbsctl stop 會將所有正在 listen 的 mbbsd都砍掉 3.bbsctl restart 即 bbsctl stop; bbsctl start 主要是如果程式更新的話, 可以透過這個來直接重跑. 4.bbsctl bbsadm 若該使用者有加入 bbsadm 群組, 則同於直接 su 成 bbsadm (不須密碼) 如此您可以將某些有管理權限的使用者, 透過 /etc/group 放進 bbsadm 的群組, 讓她們在 login後可以直接用 bbsctl bbsadm來換成 bbsadm 的權限. shmctl ------ 這隻程式主要是外部用來輔助 shared-memory正常運作的. 1.shmctl utmpfix 將 shared-memory中 utmp 不正確的 record 清掉. 建議至少每小時跑一次. 另外可以用這個來外部設定 idle 多久後就踢人. Makefile of mbbsd/ ------------------ 1.make all 自動加上 -O 的最佳化參數 2.make DEBUG=1 一般用來 debug的情況下會用到, 會開啟一些 DEBUG的程式碼, gcc不用 -O 而改加上 -g , menu title 顯示目前的 pid, 以方便用 gdb來 attach. 3.make NO_FORK=1 這通常都是很特別的情況才會用到.