open webmail 2.53 更改垃圾信處理方式設定無效
如下幾個地方我都改過,重啟httpod 連sendmail 都重啟也沒用
/etc/httpd/conf.d/openwebmail.conf
/var/www/cgi-bin/openwebmail/etc/openwebmail.conf
/var/www/cgi-bin/openwebmail/etc/openwebmail.conf.help
/var/www/cgi-bin/openwebmail/etc/defaults/openwebmail.conf
裡面每個都改成這樣了
但是用使用者一看,都還是這樣,設定無效
總不能叫我一個一個用戶手動改吧...
此問題要分兩個部份處理:
一、修改已存在各user家目錄裡的設定檔:
曾經執行過openwebmail的使用者,
在家目錄就已存了之前的預設或已修改過的設定值,
管理者只要利用以下的指令,就可以直接修改個別使用者已存的各設定檔的內容。
<pre class="c" name="code">sed -i "s/\(default_trashreserveddays\t\)\([0-9][0-9]*\)/\199/" ~USERNAME/.openwebmail/openwebmailrc
至於怎麼一次把所有使用者用置換 USERNAME 來執行此指令,應不難,在此略過。
二、修改openwebmail的程式碼,避免使用者更動該值:
除了把你在一些檔案裡,指定成你所要的預設值之外,
修改 {OPENWEBMAIL}/cgi-bin/openwebmail/openwebmail-prefs.pl 裡面的約1649行:
<pre class="c" name="code">$temphtml = popup_menu(-name=>'trashreserveddays',
-values=>[0,1,2,3,4,5,6,7,14,21,30,60,90,180,999999],
-default=>$prefs{'trashreserveddays'},
-labels=>\%dayslabels,
-override=>'1',
defined($config_raw{'DEFAULT_trashreserveddays'})?('-disabled'=>'1'):());
把 -values 那一行改為:
<pre class="c" name="code">-values=>[99],
使用者就只有99這個選項可選而無法改成其他值了。
基本上這就可以防使用者改其他值,但實際上只要知道POST的語法,還是可以改該值,只是費的功夫比較大,這就不需防了。
你好,因為第一段看不懂,我直接作了第二段了,重啟就能只剩99天的選項了,
順便把下面的廣告和病毒信設為7了看起來好像這樣就行了,還是會有其它影響呢?
第一段部份能請你一步一步說明嗎,我linux 不求甚解,能用即可,得過且過,所以所學不精,請還指導一下
第一點是說,在你還沒限制任何人的設定值為99的時候,有人執行過webmail時的預設值是0,該設定會被寫在那使用者的家目錄裡 /home/user1/.openwebmail/openwebmailrc,那個檔案裡會有 trashreserveddays 0 的內容,你只要用管理者的身分執行
<pre class="c" name="code">sed -i "s/\(default_trashreserveddays\t\)\([0-9][0-9]*\)/\199/" /home/user1/.openwebmail/openwebmailrc
就會把該值改為99,就不用開編輯器、找到那一行、再修改的動作,你只要把user1替換成不同使用者,就可以快速把各使用者的設定檔快速修改。