1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
我們在這個版本裡面加入了一些好玩的東西,
最主要是希望可以偷懶做一些事情.
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
這通常都是很特別的情況才會用到.
|