這個算是rhce課程的篇外篇,Samba除了提供文件共享外,也可以像windows下的共享一樣提供打印機共享。在進一步深入之前,先了解下CUPS服務,cups作為Linux下管理打印的服務應用,其支持IPP、LPD、SMB和JetDirect接口。cups服務本身也可以實現打印共享,不過在windows下增加cups共享打印機的步驟相對不麻煩,可以利用Samba先連接本地cups服務,再由samba提供打印共享服務。
一、cups服務配置
1、安裝cups相關軟件包
# yum -y install cups
2、編輯cups服務配置
# vim /etc/cups/cupsd.conf #將Listen localhost:631修改為 Listen 0.0.0.0:631 //監聽所有IP #默認是不允許遠程主機瀏覽器打開訪問的,這里將allow、deny順序對調下,或者后面加allow from * <Location /> #Order allow,deny //默認配置部分 Order deny,allow //修改后的內容 </Location> #設置admin項只允許某台主機或某段主機訪問 <Location /admin> Order deny,allow deny from all allow from 192.168.1.* </Location>
3、防火牆配置
# firewall-cmd --permanent --add-port=631/tcp # firewall-cmd --reload
4、瀏覽器配置新增打印機
可以通過lpadmin命令新增打印機,也可以通過瀏覽器輸入http://IP:631后訪問,如下圖:
通過add printer增加打印機后(增加時會讓輸入主機的root用戶名和密碼),可以通過最上面的prints項,查看當前打列機列表:
二、Samba服務配置
按照上兩篇的介紹開啟Samba服務,在global 全局配置中開啟如下兩行(默認這兩行是開啟的):
security = user map to guest = Bad User load printers = yes cups options = raw
並在共享項中啟用如下部分(默認配置中也存在):
[printers] comment = All Printers path = /var/spool/samba browseable = no guest ok = no writable = no printable = yes
配置完成后,systemctl retart nmb smb ,重啟這兩個服務使新的配置生效。在windows主機上通過運行中輸入\\192.168.1.200即可查看當前的共享項,可以從中找到當前共享的打印主機列表:
雙擊打印機,確定安裝相應的驅動后,就可以在本機選擇打印機並進行打印。
總結:
目前由於打印機成本較低,主流的打印機都是網絡打印機,一般情況下是用不到samba+cups進行配置的,這種方案主要是用在公司具有多台打印機、USB的、串口的、網絡的,而多個不同的部分可能有具有不可跨越的IP段,這時候可以通過一台samba+cups服務器通過配置多塊網卡和接口的方式實現集中式的管理,這樣各個不同的部分都可以連接使用。另外打印機部分也同樣適用權限控制。