歡迎您光臨本站 註冊首頁

強大的用戶管理軟體AUCA

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

強大的用戶管理軟體AUCA
2001-07-12 08:56

發布者:netbull 閱讀次數:156

fjxufeng(風過留楓)




ACUA是一個基於Linux系統的用戶帳戶管理工具軟體,它經常在ISP、BBS、校園遠程拔入伺服器、商用遠程拔入伺服器上。ACUA功能十分強大,使用它能夠讓你更加有效地管理各種用戶帳號。

一、ACUA所能實現的功能
通過ACUA可以實現各種訪問控制:
1) 臨時凍結某個帳戶;
2) 通過E-Mail向用戶解釋被系統踢出去的原因);
3) 當用戶可用時間快到時,給予提示;
4) 當用戶帳號快過期時,通過E-Mail給予提示;
5) 將已在系統上發獃太久的用戶斷開;
6) 對用戶實施周期限制(如每天的哪些時間可登錄,每月的哪些時間可登錄);
7) 可以設定用戶優先順序:
a. 可將用戶優先順序映射成為CPU優先順序;
b.如果系統需要踢出用戶,則先踢低優先的用戶;
8) 可以設定數據傳輸限制,可按每個帳戶、也可按每個連接會話進行限制,它可分為傳輸總數、上載總數、下載總數。
另外,通過ACUA還可以進行各種有效的用戶管理:
1) 自動刪除過期的用戶;
2) 可以臨時為用戶作一些訪問許可權增加;
3) 在新建用戶時自己做call-back驗證;
4) 能夠收集、報告所有有效用戶的狀態信息;
5) 能夠很方便地刪除已刪除用戶遺留下的文件;
6) 能夠很方便地殺死已刪除用戶遺留下的進程;

二、下載軟體
這個自由軟體源於澳大利亞,截止到筆者寫這篇文章時,最新版本是3.01版。你可以在http://acua.gist.net.au/files/下載到這個軟體。
軟體源程序包名稱是:acua-3.01-2.tar.gz,它是使用gzip壓縮過的,壓縮后大小為138K。筆者在此假設你將這個軟體下載后,存放在/usr/local目錄下。另外,如果你想使安裝更加簡單一些,可以下載RPM格式的acua-3.01.i386.rpm文件。

三、 安裝軟體
這個軟體的安裝十分簡單:
1. 以root用戶登錄系統;
2. 轉到/usr/local目錄,然後解壓縮這個軟體:
cd /usr/local
tar -zxvf acua-3.01-2.tar.gz
成功執行后,會在/usr/local目錄下新生成一個acua-3.01目錄。
3. 依次輸入以下命令,進入軟體目錄,進行軟體安裝:
1)cd acua-3.01
轉入軟體目錄;
2)make dep
編譯前進行一些依賴性檢查;
3)make
開始編譯軟體,屏幕上將會出現許多以gcc開始的輸出;
4)make install
最後執行make install命令,將出現以下輸出,至此安裝完成。
strip --strip-debug libacua.so.2
strip acua_login acua_logout acua_updated acua_verify clean_proc clean_tmp acuaa
install -c -m 0755 libacua.so.2 /usr/lib
ldconfig
install -c -m 0700 acua_adduser acua_deluser acua_nounsub /usr/sbin
install -c -m 0700 acua_login acua_logout acua_updated acua_verify clean_proc cn
install -c -m 0755 acua_stats acua_bytes acua_viewRec /usr/bin
install -c -m 0755 acua /usr/bin
chmod 6755 /usr/sbin/acua_login
chmod 6755 /usr/sbin/acua_logout
chmod 6755 /usr/sbin/acua_verify
if [ -d /usr/lib/acua ]; then
rm -rf /usr/lib/acua.old ;
mv /usr/lib/acua /usr/lib/acua.old ;
fi
mkdir /usr/lib/acua
mkdir /usr/lib/acua/record
mkdir /usr/lib/acua/record/archive
chmod 755 /usr/lib/acua
install -c -m 0644 lib/* /usr/lib/acu
在預設情況下,ACUA的配置文件、E-mail消息、userbase等等都將存放在/usr/lib/acua目錄下。而ACUA的可執行文件則存放在/usr/bin、/usr/sbin目錄下,它們大都是以acua開頭的。

四、使用之前的一些說明
1.如果想要使用ACUA控制正常的tty、telnet、ssh登錄,那就必須先在用戶登錄之前運行acua_login程序。大多數人都喜歡使用bash,讓bash啟動時,會自動執行/etc/profile下的內容,我建議你在/etc/profile中加入一行:
/usr/sbin/acua_login logout
2.如果想使用其控制PPP登錄,則需在pppd啟動之前運行acua_login程序。
3.如果需要,你可以編輯acua_adduser和acua_deluser文件以適合你的系統;
4.如果需要編輯配置文件、消息文件的話,它們存放在/usr/lib/acua目錄下;
5.應確保在系統啟動時啟動acua_updated程序。

五、 軟體使用方法
ACUA軟體是由acua程序和一些相關的程序組成的。
1.acua程序使用方法
ACUA軟體最主要的一個程序就是存放在/usr/bin目錄下的acua,它的命令格式是:
acua <子命令> {參數}
下面,我們就一起來看看acua命令的子命令選項,及其功用。
註:<>代表必選項,[]代表可選項,{}代表可選0個或多個。

1) acua adduser
調用acua_adduser腳本創建一個UNIX/ACUA用戶帳號,使用時,將替換成相應的帳號。例如,我們要創建一個thing用戶,則執行命令:
acua adduser thing
這個命令除了在系統上創建這個帳號,還完成addrec命令,在ACUA上創建這個帳號。

2) acua addRec [session_limit][priority] [ph_no] {class_limit}
這個命令用來創建一個ACUA的用戶記錄。通常,我們並不直接運行這個命令,因為執行時acua adduser命令時,這個命令就已經一起執行了。但有時,你還是可以通過直接運行,完成一些特殊的任務。以下是每個參數的說明:
:用戶帳戶名。
:用戶帳戶的有效期,你可以在此通過以下格式來說明(x是一個數):
x :表示x天,
xd :表示x天,
xm :表示x個月,
xy :表示x年,
或者直接使用日期格式:yy/mm/dd
注意:如果 = 0,則這個帳號將永不遠期。而以x、xd、xm、xy這 種格式說明,表示從現在開始多少天後,多少月以後,多少年以後。
例如,我們在2000年12月3日創建的帳戶中設置了=1y,那麼,這個用戶到了2001年12月3日就會失效。
:指定這個用戶帳戶總共能夠使用多少時間。
注意:如果=-1,則表示沒有時間限制。
[session_limit]:指定用戶帳戶總共能夠使用多少session,如果沒有給出,則預設設置為。
注意:session_limit <= time_limit,如果session_limit=-1,那麼表示沒有限制。
[priority]:指定用戶帳戶的優先順序(0-7,7代表最高優先順序),預設值為4。
[ph_no]:用戶的電話號碼。
{class_limit}:最多可以給出16個值,第1個是class 0,第2個是class1……等等。

3) acua ban [-l] [-p] |
這個命令用來禁止一個電話號碼號一組電話號碼。
-l:顯示出所有被禁止的電話號碼;
-p:用來指出所有被禁號碼的前綴。
:該禁止的生效期,它的語法與acua rec相同。
:禁止一個指定的用戶,設置后,這個用戶將馬上被斷開,用戶帳號被 刪除,該電話號碼被刪除。
:指定要禁止的電話號碼。以後將沒有任何一個用戶能夠設置成為這個電話號碼。
下面就是一些使用實例:
acua ban -p 0:凡是電話號碼最前面是0的都禁止,也就是不允許外地用戶;
acua ban -p 1234567:禁止電話1234567。

4) acua bytes
這個命令通過調用一個名叫acua_bytes腳本程序,顯示出誰是傳輸數據最多的用戶。

5) acua daysleft
這個命令將告訴所有的用戶還有多少天,帳戶將過期。

6) acua delUser
這個命令將調用acua_deluser腳本,刪除一個UNIX/ACUA用戶帳號。這個腳本將使用clean-up刪除這個用戶殘留的文件,並且調用acua delrec將ACUA帳號記錄刪除。

7) acua delRec
刪除一個ACUA帳號記錄

8) acua dump {login}
這個命令將給出一個ACUA記錄的報告。如果有給出{login}的話,則只報告列出帳號名的ACUA記錄。否則就列出所有的帳號。

9) acua dumpStats [name]
這個命令將報告輸出出一個文件,如果未給出文件名,則輸出到overall文件中。

10)acua expire
這個命令用於將到期的帳戶禁止,acua_updated會周期性調用,通常你無須手動調用。

11)acua forEach {-p n} {-r n} [-u]
這個命令允許你為每一個用戶執行一個命令。如果在命令中出現「{}」符,則使用用戶代替進去。

12)acua lock
暫時凍結一個用戶帳號。

13)acua modRec
用於修改用戶的ACUA記錄信息。

14)acua pp
使用ACUA用戶記錄,處理中的預處理指令,輸出到文件中去。

15)acua purge
這個命令將刪除天沒有使用的帳號,acua_updated會自動調用。

16)acua renew {-p n} {-r n} [-c] [-d] [-t]
執行這個命令后,用戶的時間限制將重新開始計算。舉例來說,如果一個帳戶的時間限制是5天,過了兩天後,用戶應還有3天。這時如果執行這個命令后,用戶餘下的時間又有5天了。

17)acua subscribe [session_limit] [priority] {class_limit}
這個命令給用戶加上一些說明。它的參數與addrec的類似。

18)acua timeLeft
這個命令可以輸出用戶所剩餘的時間。

19)acua touch
這個命令用於修改一個用戶的「最後在線時間」,使其等於當前時間。

20)acua unBan
取消用acua ban命令設置的禁止。

21)acua unLock
為用acua lock凍結的用戶解凍。

2.相關的程序
與其相關的程序有不少,下面我們介紹一下幾個最常用到的:
1) clean_proc,存放在/usr/sbin目錄下,用來清除用戶遺留下來的進程;
2) clean_tmp,存放在/usr/sbin目錄下,用來清除用戶遺留下來的文件;
3) acua_login,存放在/usr/sbin目錄下,用來驗證用戶的登錄;
4) acua_logout:存放在/usr/sbin目錄下,用來退出登錄;
5) acua_updated,存放在/usr/sbin目錄下,監控系統,在有必要時斷開用戶的連接;
6) acua_verify,存放在/usr/sbin目錄下,用於執行一個call-back驗證;


[火星人 ] 強大的用戶管理軟體AUCA已經有447次圍觀

http://coctec.com/docs/linux/show-post-69794.html