預設安裝好Ubuntu之後,系統會出于安全考慮對CUPS系統進行限制,主要有以下幾點:
2、不能在其他機器上通過Web界面通路本機的http://localhost:631,以檢視列印狀态;
3、不能在其他機器上通過IPP協定來共享本機的列印機。
對上述三個問題,大家可以按照自己的需要做不同的設定:
1、造成該限制的原因很簡單,由于cupsys使用者沒有通路/etc/shadow檔案的權限,是以它無法識别使用者真僞,要解決則很簡單,隻需要将該使用者加入到passwd組中即可。指令如下:
$sudo adduser cupsys shadow
另:對列印機有管理權限的組是lpadmin組,是以如果要設立一個對CUPS系統有管理權的使用者,隻需要将該使用者加入到lpadmin組即可,假設該列印管理者是firehare,那麼隻需要下列指令:
$sudo adduser firehare lpadmin
然後輸入
$sudo /etc/init.d/cupsys force-reload
接下來我們試試在Firefox裡輸入:http://localhost:631/admin,然後輸入超級使用者或lpadmin組裡的使用者及密碼均可進入到管理界面中。
2、造成這一限制的原因有兩個:
首先,由于在/etc/cups/cupsd.conf檔案中有一行語句做了限制:
>Listen 127.0.0.1:631
這句話的意思很明顯就是隻在本機環回口上的631端口做監聽,那麼肯定其它機器是無法對其通路了,是以要将其改成:
>Port 631
這樣的話,其他機器就可以通路本機的631端口了。
其次,由于尚未對通路權限進行配置,是以如果這時從其他機器通過FireFox來通路本機的CUPS系統的Web界面時,将會出現無權檢視的提示頁面。繼續編輯cupsd.conf檔案:
>########
>######## Security Options
>
>Order Deny,Allow
>Deny From All
>#Allow From 127.0.0.1
>Allow From 192.168.0.*
将127.0.0.1注釋掉,并把你要允許通路的網段加進來即可,我這裡是192.168.0.0/24網段,如果你的網段比較小,也可以用小點的網段,在cupsd.conf檔案中允許以下格式:
# All
# None
# *.domain.com
# .domain.com
# host.domain.com
# nnn.*
# nnn.nnn.*
# nnn.nnn.nnn.*
# nnn.nnn.nnn.nnn
# nnn.nnn.nnn.nnn/mm
# nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
# @LOCAL
# @IF(name)
大家可以選擇最适合自己的。
然後别忘了重新開機服務:
再打開FireFox通路試試?是不是可以看到了網頁呢?
如果你還想在其他機器上能夠通過Web界面對本機的CUPS進行管理的話,你還可以繼續編輯cupsd.conf檔案:
>#
># You definitely will want to limit access to the administration functions.
># The default configuration requires a local connection from a user who
># is a member of the system group to do any admin tasks. You can change
># the group name using the SystemGroup directive.
>AuthType Basic
>AuthClass System
>## Restrict access to local domain
>Allow From 192.168.0.x
>#Encryption Required
下面就是純理論了!因為沒有環境,無法進行測試,不知哪位有條件的兄弟可以幫我做做測試。有什麼結果都請貼在後面!!不勝感激!!!
==================================
3、要解決這個問題,首先要能讓其他機器找到本機的列印機,如果找都找不到,又如何能夠使用呢?由于Ubuntu是将該功能另行放置在 /etc/cups/cupsd-browsing.conf檔案中的,原因是為了防止由于更新封包件而将配置覆寫,是以隻需将該檔案中的浏覽Off變成 On就可以了。如下所示:
>Browsing Off => Browsing On
雖然在Ubuntu中還有一個/usr/share/cups/enable_browsing腳本來将其設為On,不過我在做測試時卻并不能正常運作,可能是由于/usr/share/cups/browsing_status腳本的原因吧!反正所做的事都一樣,我也就沒去深究了。然後在 /etc/cups/cupsd.conf檔案中設定浏覽的廣播位址,将本地的關閉,添加192.168.0.255這個網段廣播位址:
>BrowseAddress @LOCAL => #BrowseAddress @LOCAL
>BrowseAddress 192.168.0.255
如果你的網段比較小,也可以用小點的網段,在cupsd.conf檔案中允許以下格式:
#BrowseAddress x.y.z.255
#BrowseAddress x.y.255.255
#BrowseAddress x.255.255.255
#BrowseAddress 255.255.255.255
#BrowseAddress @LOCAL
#BrowseAddress @IF(name)
然後設定允許浏覽的位址:
>#BrowseAllow address
>#BrowseDeny address
>BrowseAllow 192.168.0.*
>BrowseDeny all
>...
>#BrowseOrder allow,deny
>#BrowseOrder deny,allow
>BrowseOrder deny,allow
儲存,然後重新開機cups
這樣就應該可以提供服務了吧!
===========================
添加Windows2000或XP機器共享該列印伺服器的做法,由于Windows2000或XP都已經内建對IPP協定的支援,是以隻須簡單地在添加列印機中選添加網絡列印機,然後選Internet列印機文本框,輸入:
http://列印伺服器IP位址:631/printers/列印機名
,然後下一步,安裝該列印機的驅動即可!這樣的話,也就省了用Samba進行共享,還要起Samba服務的麻煩了!