#1
|
|||
|
|||
學生E-mail申請程式
http://www.iwj.com.tw/DB/dls/list.as...path=undefined
好像有版友需要~ 提供版友們參考~ 以下是他的說明~ applymail - 學生E-mail申請程式 可透過學務系統讓學生自行申請E-mail,由系統定時上傳至其它主機並開帳。 宣告:1.本程式版權所有,在非營利單位或非營利販售散佈的情況下,可自由使用、修改,但請保留版權宣告部份。 2.本程式可自http://163.20.163.1/down/下載,並保留公開散佈的權利。 程式來自 台北縣立鶯歌高職 ( http://ms3.ykvs.tpc.edu.tw/sfs2/ ) 作者 applymail 0.1 -- 曾盛如 ( sheng@ms3.ykvs.tpc.edu.tw ) 學務管理系統 校園自由軟體交流網 ( http://sfs.wpes.tcc.edu.tw ) 安裝 1.系統要求: a.本程式須配合unix或unix like系統平台並安裝php+mysql。 b.請配合學務系統。 c.請先行安裝好 (1)samba (http://us1.samba.org/samba/samba.html) (2)[X] expect-5.32.1或以上版本。 ※本程式開發環境freebsd4.6 +apache+php+mysql 2.將程式檔解開 tar xvfy applymail_0.1.tar.bz2 3.建立資料庫 mysql -u root -p sfs2 < applymail.sql 4.修改 applymail_inc.php 設定 5.設定開帳檔與上傳檔 a.預設修改 修改 util/newuser/applymail.sh 第二行工作路徑 修改 util/newuser/passwd.exp 第一行 expect 所在路徑 請於上傳主機開立帳號applymail,並設定密碼,以利開帳檔上傳。 applymail::102:0::0:0:newuser scp:/etc/newuser:/bin/tcsh 修改 util/newuser.ms2/scp_file.exp 第三行 上傳之 passwd ※工作帳號若不同請繼續修改第四行裡applymail部份。 scp路徑若不同請修改第四行。 修改 util/newuser.ms2/scp_file.sh 第二行工作路徑 b.檔案放置 util/newuser.ms2 -> 申請主機 /etc/newuser.ms2 util/newuser -> 開帳主機 /etc/newuser ※請對照後述之檔案權限。 6.加入crontab 請修改路徑,及依照想開帳的頻率來設定 a.申請主機 20,40 * * * * root /etc/newuser.ms2/scp_file.sh > /dev/null b.開帳主機 25,45 * * * * root /etc/newuser/applymail.sh > /dev/null ※請注意與申請主機的相隔時間。 7.檔案權限 /etc/newuser.ms2 drwx------ 3 nobody nogroup 512 7/11 16:22 ./ drwx------ 2 root nogroup 1536 8/22 00:20 log/ -rw------- 1 nobody nogroup 0 8/22 00:20 newuser.sh -rwx------ 1 root nogroup 201 8/22 00:23 scp_file.exp* -rwx------ 1 root nogroup 320 7/11 16:21 scp_file.sh* /etc/newuser -rwx------ 1 root wheel 369 7 11 16:47 applymail.sh* -rw-r--r-- 1 root wheel 987 7 10 22:38 index.html drwx------ 2 root wheel 1536 8 22 00:21 log/ -rwx------ 1 root wheel 182 7 10 19:55 newsql.sh* -rwx------ 1 applymail wheel 0 8 22 11:14 newuser.sh* -rwx------ 1 root wheel 435 4 7 21:26 passwd.exp* 8.補充說明 由於pw程式對於":!@"三個在中文常出現的字元,認為不合法字元(invalid character) 不予處理,請隨時注意util/log下之檔案,以及早發現無法開立之帳號。 ※若使用freebsd 請安裝usr.sbin ,修改/usr/src/usr.sbin/pw/pw_user.c : pw_checkname(u_char *name, int gecos) { int l = 0; char const *notch = gecos ? ":!@" : " ,\t:+&#%$^()!@~*?<>=|\\/\""; ^^^^^三個碼拿掉即可。 while (name[l]) { : |