bbsctl - ptt/pttbbs GitHub Wiki
bbsctl - BBS 程序執行管理程式
安全警告
!!請注意, bbsctl 是有 root set user id 的, 這可能會有安全上的問題!! [1]
其中 bbsctl 設計是只有該帳號有加入 bbsadm 這個 group 的人才能使用. (關於如何設定 group 請見 FAQ )
您應該至少要將 bbs 和 bbsadm 這兩個帳號加入 bbsadm 這個 group
安裝
bbsctl是一個很特別的程式, 安裝有點複雜.
-
先用 bbsadm 的權限在
util/下make bbsctl -
改成 root 的權限在
util/下make installbbsctl
如此會把 bbsctl 安裝到 $(BBSHOME)/bin/bbsctl 下.
程式路徑設定
我們會建議您將 bbsctl 所在目錄加進您的 $PATH 裡面,
或是建立 symbolic link 把 bbsctl 放到一個有設 $PATH 的目錄
(像是 /usr/local/bin 將是一個符合 FreeBSD / Linux 程式置放路徑的目錄)
您可以用 ln -s $(BBSHOME)/bbs/bbsctl /usr/local/bin/bbsctl
(其中 $(BBSHOME) 請用您所設的 bbs 路徑代替, 如 /home/bbs )
如此您將可以在任何一個目錄下使用 bbsctl
指令簡介
您可以直接打 bbsctl 來看有什麼功能. 主要的功能說明如下:
1. bbsctl start
用於啟動 mbbsd (須先跑 shmctl init)
以往因為要 bind port 23 須要 root 所以要手動 su ,
不過現在有 bbsctl with setuid ,
請直接使用 bbsctl start , 即可將 mbbsd 跑起來.
2. bbsctl stop
會將所有正在 listen 的 mbbsd 都砍掉
2-1. bbsctl STOP
會將所有正在 listen 和有 user 正在使用的 mbbsd 全都砍掉
3. bbsctl restart
即 bbsctl stop; bbsctl start
主要是如果程式更新的話, 可以透過這個來直接重跑.
4. bbsctl bbsadm
若該使用者有加入 bbsadm 群組, 則同於直接 su 成 bbsadm (不需密碼)
如此您可以將某些有管理權限的使用者,
透過 /etc/group 放進 bbsadm 的群組,
讓他們在 login 後可以直接用 bbsctl bbsadm 來換成 bbsadm 的權限.