文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Gentoo Samba3/CUPS/Clam AV

Gentoo Samba3/CUPS/Clam AV

时间:2007-05-17  来源:lwtcn


Gentoo Samba3/CUPS/Clam AV HOWTO

內容: 1. 這份指南的介紹 2. 認識 Samba 3. 伺服器軟體安裝 4. 伺服器 組態設定 5. client 的設定 6. 最後註釋 7. 連結資源

1. 這份指南的介紹

主旨

這份指南是設計來幫助您在網路中存取檔案、列表文件,從不同語系的 client 端到同一語系的不同機器。終極目的是協助不同的架構、不同的技術能同時共存的環境。

在這份指南,接下來的部份應該可以給您最佳的指引朝向整合 Windows 及所有已知的 *nix。

這份指南開始不是份指南,而是問答集。本文試著發現 Gentoo 系統、portage 的功能及力量,及 USE 參數的彈性。像其他許多的專案,在本文中可很快地發現 Gentoo 領域沒有的地方:這一份不只是為了 Gentoo 的使用者所寫的指南。Gentoo 的使用者比大部份的使用者有更多的需求。他們需要效能、彈性及客製化。這並不是說,本文就不適用於其他的發行版,本文是為 Samba 高度客製化所設計的。

這份指南會描述如何分享檔案及印表機給 Windows PC 及 *nix PC。也會示範利用 Samba 的特色 VFS (Virtual File System) 與自動掃毒整合。最後,會告訴你如何掛載及操作分享的資源。

有幾個主題會被提及,但該主題已不在這份指南的範圍內。那些主題會使用 note 來提醒各位。

這份指南主要是根據 Andreas "daff" Ntaflos 在Gentoo forums 發表的文章整合而成,同時收錄 Joshua Preston 所提供的意見。以下提供相關的連結供您參考。

在您使用這份指南之前

有幾份其他的指南教您如何設定 CUPS 及 Samba,請仔細閱讀,它們會告訴您此份指南沒有提到的部份。其中一份非常有用,寫的很好Gentoo Printing Guide 本文沒提到的設定問題及特定印表機的設定,都可以參考該文章。

簡介

在介紹幾個 USE 參數後,接下來的列表會概述這些主題:

  • 在 Samba server 方面
    • 安裝設定 CLAMAV
    • 安裝設定 Samba
    • 安裝設定 CUPS
    • 將印表機加到 CUPS
    • 為 Windows clients 加入 PS drivers
  • 在 Unix clients 方面
    • 安裝設定 CUPS
    • 設定預設印表機
    • 掛載 Windows 或 Samba 分享
  • 在 Windows clients 方面
    • 設定印表機
    • 連接 Samba 分享資源

需求

我們會需要以下的東西

  • net-fs/samba
  • app-antivirus/clamav
  • net-print/cups
  • net-print/foomatic
  • net-print/hpijs (if you have an HP printer)
  • A kernel of sorts (preferably 2.4.24+ or 2.6.x)
  • A printer (PS or non-PS, maybe not TOO new or fancy)
  • A working network (home/office/etc) consisting of more than one machine)

我們使用的主要 package 是 net-fs/samba ,然而在掛載其他電腦的 Samba 或 Windows 分享時,您會需要 kernel 擁有 smbfs 支援。如果沒有 CUPS,它會被 emerge。 app-antivirus/clamav 也會被使用到,其他的經簡單改寫後應該能與 Samba 合作。Gentoo 的 samba ebuild 支援各種的掃毒技術,如 Sophos,FProt,Fsav,Trend,Icap,Nai,...

2. 認識 Samba

USE 參數

在 emerge 之前,看一下 Samba 使用的 USE 參數

原始碼 2.1: Samba 使用下列 USE

kerberos mysql xml acl cups ldap pam readline python oav libclamav 

emerge Samba 時,依照網路及指定需求,以下提到的 USE 參數會定義哪些要或哪些不要 emerge.

USE flag Description 描述
kerberos 指定支援 kerberos。當要加入已存在的網域或 Active Directory 伺服器會需要這個支援。 要更多資訊可看下面的 note
mysql 這會讓 Samba 使用 MySQL 做密碼認證。這會在資料庫儲存 ACL, username, password 等等而不是在檔案(flat file)中。 若是 Samba 當做密碼認證伺服器或Primary Domain Controller(PDC),Samba 會需要這個以完成密碼認證。
xml 這個參數會讓 Samba 使用 XML 檔案當做密碼資料庫儲存帳號資料。 使用的理由同 mysql 參數所述。
acl 開啟 Access Control Lists。ACL 支援在 Samba 裡是使用 patch 過的 ext2/ext3 或 SGI 的 XFS。如此對檔案或目錄才能擁有比一般 *nix GID/UID方法有更多的存取控制。
cups 這參數會開啟支援 Common Unix Printing System (CUPS)。 這會提供一個介面允許本機 CUPS 印表機分享給網路上的其他系統。
ldap 開啟 Lightweight Directory Access Protocol (LDAP)。如果 Samba 希望能使用 Active Directory 這個參數必須被使用。 當 Samba 登入或提供登入到Domain/Active Directory,這選項會提供 Samba 所需要的 event。 這個參數的某些功能會需要 kerberos 參數。
pam 開啟支援 pluggable authentication modules (PAM)。 這個參數提供 Samba 伺服器認證使用者的能力。 這需要使用者在你的伺服器上登入。 這個參數使用時建議與kerberos 參數一同使用。
readline Link Samba again libreadline。這個參數強烈建議使用,而且不應該被關掉。
python Python 綁定的 API。提供介面讓 Python 可與 Samba 溝通。
oav 提供掃描 Samba 分享資源。可以使用以下的程式: FRISK F-Prot Daemon, Kaspersky AntiVirus, OpenAntiVirus.org ScannerDaemon, Sophos Sweep (SAVI), Symantec CarrierScan, and Trend Micro (VSAPI).
libclamav 使用 ClamAV 函式庫而不是 clamd 服務

幾個值得提到的 USE 參數及不同的 Samba 功能:

  • 在 ext2/3 上的 ACL,是延伸屬性 extended attributes (EAs)而來的。 在核心的設定需要將該支援打開。
  • Active Directory, ACL, and PDC 的功能不在本文討論範圍之內,如果您需要可以去以下連結, 您會發現很有幫助。

3. 伺服器軟體安裝

安裝 Samba

第一件事:確定你的 hostname 皆解譯正常。可以使用您網路上的 domain name 系統或編輯你的/etc/hosts檔案

經過您自行設定之後,希望您現在能存取你所需要的資源。您所需要的套件是:

  • oav
  • cups
  • readline
  • pam

將效能,程式大小及編譯時間最佳化,以下 USE 參數可以調整。

原始碼 3.1: Emerge Samba

(注意 USE 參數!) # echo "net-fs/samba oav readline cups pam" >> /etc/portage/package.use # emerge net-fs/samba 

注意: 接下來的架構,需要加上~在它們的 KEYWORDS: x86, ppc, sparc, hppa, ia64 and alpha

這將會 emerge Samba 及 CUPS (如果 CUPS 尚未被安裝)

安裝 Clam AV

因為 oav 參數只提供介面供掃毒使用,真正的掃毒程式仍必須安裝在這份指南中使用的掃毒程式是 Clam AV。

原始碼 3.2: Emerge clamav

# emerge app-antivirus/clamav 

安裝 foomatic

原始碼 3.3: Emerge foomatic

# emerge net-print/foomatic 

Emerging net-print/hpijs 安裝 net-print/hpijs

如果你用 HP 的印表機,才需要 emerge 這一個套件。

原始碼 3.4: Emerge hpijs

# emerge net-print/hpijs 

4. 伺服器 組態設定

設定 Samba

Samba 主要的設定檔是/etc/samba/smb.conf,每一個 section 的開頭是用[sectionname]做提示。 Comment用 # 或 ; 做提示。底下smb.conf是一個範例,裡面有修改的提示及建議。如果需要更詳細的說明,請看 man page smb.conf,或是安裝在系統中的smb.conf.example 或是 Samba 網站或是許多 Samba 相關書籍都可以。

原始碼 4.1: /etc/samba/smb.conf 範例

[global] # 把 MYWORKGROUPNAME 換成您真正的工作群組/domain workgroup = MYWORKGROUPNAME # 除了讓別人知道你不是 Windows 之外這個沒有別的真正用途。 # %v 可以顯示目前我們所用的 Samba 版本。 server string = Samba Server %v # 我們會使用 cups 所以我們把它放在這裡 ;-) printcap name = cups printing = cups load printers = yes # 我們要記錄檔,且我們不要它大過 50kb。 log file = /var/log/samba/log.%m max log size = 50 # 我們要為我們的介面設定某些選項... socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 # 把 samba 伺服器連到我們 local 的網路是個好主意。 例如,我們 local 網路裝置是 eth0 interfaces = lo eth0 bind interfaces only = yes # 現在我們要指定允許名單,雖然沒有使用密碼,但算有安全的防護。 hosts allow = 127.0.0.1 192.168.1.0/24 hosts deny = 0.0.0.0/0 # 這一個選項的其他參數是 USER, DOMAIN, ADS, 及 SERVER。預設是 user  security = share 因為沒有用密碼,所以我們需要一個 guest 帳號 guest account = samba guest ok = yes # 現在我們要設定病毒掃描。 # 注意:因為我們把這個設定放在[Global],就是要對所有分享資源所掃毒。 # 你也可以只對某些分享資源做掃毒,只要把該設定移到你所指定的分享資源即可。  # For Samba 3.x,這會啟動 ClamAV 在存取時掃描 vfs object = vscan-clamav vscan-clamav: config-file = /etc/samba/vscan-clamav.conf # 現在設定我們的印表機驅動程式 [print$] comment = Printer Drivers path = /etc/samba/printer # 這個路徑存放驅動程式結構 guest ok = yes browseable = yes read only = yes # 如果你不想讓 root 是唯一的印表機管理者,把下面這行改成"username,root" write list = root  # 現在我們將某台印表機設分享,名字是隨意取的。 # 但是該名字在 Samba 及 CUPS 中使用的名字要相同。  [HPDeskJet930C] comment = HP DeskJet 930C Network Printer printable = yes path = /var/spool/samba public = yes guest ok = yes # 如果你不想讓 root 是唯一的印表機管理者,把下面這行改成"username,root" printer admin = root # 現在我們設定全體印表機的分享,應該使用 browseable, printable, public 做為參數 [printers] comment = All Printers browseable = no printable = yes writable = no public = yes guest ok = yes path = /var/spool/samba # 如果你不想讓 root 是唯一的印表機管理者,把下面這行改成"username,root" printer admin = root  # 我們建立一個新的分享目錄,讓我們可以不論身在何處都能讀寫。 # 這是一種公用暫存分享,每個人可以隨意使用。  [public] comment = Public Files browseable = yes public = yes create mode = 0766 guest ok = yes path = /home/samba/public 

警告: 如果您想從 Windows 連上 Samba 伺服器時使用 Samba 的 guest 帳號,尤其是要列印的時候,不要在 [global] 設定 guest only = yes。 當使用 cupsaddsmb 時 guest 會造成一些問題,有時從 Windows 連過來也會。我們下面會說到 cupsaddsmb,及可能產生的問題,您可以參考。使用一個專用的列印使用者,像是 printeruser 、 printer 、 printme 或其他,隨便你想怎麼取都可以。

警告: 在 [global] 區域啟動 ClamAV 存取掃描會大幅度的降低 Samba 伺服器的效能。

現在建立一些目錄,讓最少設定的 Samba 經由網路分享安裝在 Samba 的印表機。

原始碼 4.2: 建立目錄

# mkdir /etc/samba/printer # mkdir /var/spool/samba # mkdir /home/samba/public 

為了要安裝印表機的驅動程式及允許使用者連接到印表機,最少需要一個 Samba 的使用者。該使用者必須存在於系統的 /etc/passwd 檔案裡。

原始碼 4.3: 建立使用者

# smbpasswd -a root (如果要讓其他使用者是印表機管理者) # smbpasswd -a username 

Samba 的密碼,可以跟系統中 /etc/passwd 的密碼不一樣。

你將會需要更新 /etc/nsswitch.conf ,如此,Windows 系統可以經由 NetBIOS 輕鬆的被找到。

原始碼 4.4: 編輯 /etc/nsswitch.conf

# nano -w /etc/nsswitch.conf (編輯 hosts: 這一行) hosts: files dns wins 

設定 Clam AV

在 smb.conf 指定的設定檔是 /etc/samba/vscan-clamav.conf。當這些選項設成預設時,中毒檔案的處理動作也許需要改變。

原始碼 4.5: /etc/samba/vscan-clamav.conf

[samba-vscan] ; vscan-samba 的 run-time 設定是使用 clamd,其他的選項設成預設值。 ; 超過 X bytes 的檔案不要掃毒。預設值是 0 。當設成 0 的時候,就是所有的檔案都要掃毒 max file size = 0 ; 記錄所有的檔案存取。如果設成 yes 每一個存取動作都會被記錄下來。如果設成 no (預設),只有 ; 存取被感染檔案的動作會被記錄下來。 verbose file logging = no ; 如果設成 yes (預設),當檔案開啟會被掃毒。 scan on open = yes ; 如果設成 yes 時,當檔案關閉時會被掃毒(預設是 yes) scan on close = yes ; 當連不上 clamd 時,是否拒絕檔案存取?(預設值: yes) deny access on error = yes ; 當 daemon 有不是很嚴重的錯誤的時候(例如:中斷),是否拒絕檔案存取?(預設值: yes) deny access on minor error = yes  ; 當找到病毒時,是否經由 Windows Messenger 傳送警告訊息?(預設值: yes) send warning message = yes ; 要對被感染的檔案做什麼動作? ; quarantine: 試著移去隔離的目錄,如果無法移動就殺了它 ; delete: 刪除被感染的檔案 ; nothing: 不做任何事 infected file action = delete ; 隔離區的位置 - 您一定要改變這個設定。它必須與分享目錄同一個裝置裡面。 quarantine directory = /tmp ; 隔離檔案要加的字首 quarantine prefix = vir- ; 當 Windows 試著在短時間內重覆開啟同一個檔案,samba-vscan 會使用最近最後使用檔案的機制(last recently used file --> lru file), ; 以避免對同一檔案重覆掃毒。這個設定最近使用檔案列表的最大數目。(預設值: 100)  max lru files entries = 100 ; 超過 lifetime 就不算 lru 檔案(單位:秒)(預設值:5) lru file entry lifetime = 5 ; clamd 的 socket 的名字(預設: /var/run/clamd) clamd socket name = /tmp/clamd ; ScannerDaemon 使用的 port oav port = 8127 

一般來說,立刻啟動掃毒是個好主意。把 clamd service 加到 default runlevel,且現在立刻啟動。這個 service 有兩個程序:freshclam 在 clamd 為目前的防毒服務時保持病毒定義資料庫為最新的狀態,而 clamd 為真正的防毒服務。首先你要先設定登錄檔的路徑,讓它可以符合你的需求。

原始碼 4.6: 檢查登錄檔的路徑

# vim /etc/clamd.conf (檢查 "LogFile /var/log/clamd.log" 這行) # vim /etc/freshclam.conf (檢查 "UpdateLogFile /var/log/freshclam.log" 這行) # vim /etc/conf.d/clamd (設定 "START_CLAMD=yes" 及 "START_FRESHCLAM=yes") 

現在啟動病毒掃描。

原始碼 4.7: 將 clamd 加到開機自動執行然後啟動它

# rc-update add clamd default # /etc/init.d/clamd start 

設定 CUPS

這有點複雜。CUPS 主要的設定檔是 /etc/cups/cupsd.conf。它的結構與 Apache 的 httpd.conf 有點像。您會發現有多像。範例描述的是一些需要改變的目錄:

原始碼 4.8: /etc/cups/cupsd.conf

ServerName PrintServer # 您的印表伺服器的名字 ServerAdmin root@PrintServer # the person for printer-related hate-mail, eg you ???? AccessLog /var/log/cups/access_log # 也許不需要改變 ErrorLog /var/log/cups/error_log # 也許也不需要改變 LogLevel debug # 只在安裝及測試,之後應改成 'info' MaxClients 100 # I've had to set this to 1000000000 or so because some time back, # there seemed to be a bug in CUPS' controlling of the web interface, # making CUPS think a denial of service attack was in progress when # I tried to configure a printer with the web interface. weird. # 我曾把這個設成 1000000000 ???? BrowseAddress @IF(eth0) # Change this to your internal net interface 把這個改成您內部網路介面 <Location /> Order Deny,Allow Deny From All Allow From 192.168.1.* # 您的內部網路的 ip。例如 192.168.1.* 會允許任何在 192.168.1.0 網段的電腦連到您的電腦 # 記得改成適合您的設定。 </Location> <Location /admin> AuthType Basic AuthClass System Allow From 192.168.1.* # 跟上面一樣,允許任何 192.168.1.0 網段的電腦連結,通過認證後做管理的工作。 Order Deny,Allow Deny From All </Location> 

編輯 /etc/cups/mime.convs 。把一些行的註釋符號拿掉。為了要讓 CUPS 列印 Microsoft Office 文件, mime.convs 及 mime.types 需要改動。

原始碼 4.9: /etc/cups/mime.convs

(下面這一行在接近檔案結尾的地方,把註釋符號拿掉) application/octet-stream application/vnd.cups-raw 0 

編輯 /etc/cups/mime.types 把一些行的註釋符號拿掉。

原始碼 4.10: /etc/cups/mime.types

(下面這一行在接近檔案結尾的地方,把註釋符號拿掉) application/octet-stream 

CUPS 需要在 boot 階段啟動。現在我們立刻啟動它。

原始碼 4.11: 啟動 CUPS 服務

(在 boot 階段啟動) # rc-update add cupsd default (現在啟動 CUPS) # /etc/init.d/cupsd restart 

Installing a printer for and with CUPS 安裝一個供 CUPS 使用的印表機

第一、到 LinuxPrinting.Org 尋找並下載正確的 PPD 檔。步驟是按下左方印表機的連結,在下拉選單選擇您印表機的製造商及型號,例如 HP and DeskJet 930C。按下 "Show"。在讀完接下來的頁面後按下 "recommended driver" 的連結。再一次讀完接下來的一頁後,就可以下載 PPD 檔了。你也許需要再次選擇印表機製造商及型號。當您使用 CUPS 時,閱讀 CUPS quickstart guide 非常有用。

現在,您有了 PPD 檔,把它放到 /usr/share/cups/model。 HP DeskJet 930C 的 PPD 檔名是 HP-DeskJet_930C-hpijs.ppd 現在你應該安裝印表機。您可以透過 CUPS web 介面或是指令。只要 CUPS 有在跑,web 介面就在 http://PrintServer:631

原始碼 4.12: 用指令安裝印表機

# lpadmin -p HPDeskJet930C -E -v usb:/dev/ultp0 -m HP-DeskJet_930C-hpijs.ppd 

確定 -p 參數所給的名字與 Samba 設的一樣。還有給正確的裝置名稱,像是 usb:/dev/usb/blah 或 parallel:/dev/blah 請依照您的裝置給予正確的值。

您現在應該可以從 web 介面連上印表機,並且列印測試頁。

安裝 Windows 印表機驅動程式

現在,印表機應該可以正常工作了,現在可以安裝給 Windows client 的驅動程式了。 Samba 2.2 開始有這個功能。從網路芳鄰中連到印表機伺服器,右鍵點選印表機並選擇 "connect" 來自動下載適當的驅動程式。避免手動安裝驅動程式的麻煩。

有兩套驅動程式,第一種是 Adobe PS,可以從 Adobe 取得。第二種是CUPS PS,可以從 the CUPS homepage 取得。在該頁中的下拉選單選擇 "CUPS Driver for Windows" 即可。這兩種看起來沒有什麼不同。但是 Adobe PS 需要解開到 Windows 系統因為它是 Windows binary 格式。而且,要找到且複製到正確的檔案有一點麻煩。 CUPS 還支援一些 Adobe 沒有支援的選項。

本文使用 CUPS 提供的 Windows 驅動程式。下載的檔名是 cups-samba-5.0rc2.tar.gz 把它解到一個目錄裡。

原始碼 4.13: 解開並安裝驅動程式

# tar -xzf cups-samba-5.0rc2.tar.gz # cd cups-samba-5.0rc2 (只有 CUPS 裝在 /usr/share/cups 才能使用這個 script) # ./cups-samba.install 

cups-samba.ss 是一個 TAR 檔包含三個檔案: cups5.hlp, cupsdrvr5.dll 和 cupsui5.dll. 這些是真正驅動程式的檔案。

警告: script cups-samba.install 也許無法通用於所有 *nixes (例如 FreeBSD) 因為不是基本系統的大部份檔案裝在 /usr/local/ 底下。在 GNU/Linux 下安裝的應該不會發生問題。如果你的 CUPS 是安裝在 /usr/share/cups/ 之外的地方,請您參閱下面的例子。

假設的您的 CUPS 安裝在 /usr/local/share/cups/ 且您想要把驅動程式安裝在那裡,請您依下列指示動作:

原始碼 4.14: 手動安裝驅動程式

# cd /path/you/extracted/the/CUPS-driver/tarball/into # tar -xf cups-samba.ss (這會把檔案解到目前目錄的 usr/share/cups/drivers) # cd usr/share/cups/drivers (前面沒有 / !) # cp cups* /usr/local/share/cups/drivers 

現在,我們會使用 CUPS 提供的 script cupsaddsmb 。它的 man page 非常有趣。

原始碼 4.15: 執行 cupsaddsmb

# cupsaddsmb -H PrintServer -U root -h PrintServer -v HPDeskJet930C (不要 HPDeskJet930C 你也可以加上 -a 這樣可以列出所有已知的印表機) # cupsaddsmb -H PrintServer -U root -h PrintServer -a 

警告: 這個指令的執行常造成很多麻煩,你可以參考 這裡

這裡通常會有一些錯誤發生:

  • -h 和 -H (PrintServer) 所給予的 hostname 常解譯不正確,且, 無法與 CUPS/Samba 連結。如果有個錯誤訊息像是 Warning: No PPD file for printer "CUPS_PRINTER_NAME" - skipping! 那您該作的第一件事是把 PrintServer 換成 localhost 再試一次。
  • 如果指令失敗時有 NT_STATUS_UNSUCCESSFUL 出現,這個錯誤相當常見,但這個錯誤可能有許多不同種的原因。 所以不幸的,這個訊息沒有什麼幫助。 可以試著把您的 smb.conf 的設定暫時設成 security = user 如果之後安裝成功了,您就可以把它設回 share 或原來您設定的值。

/etc/samba/printer 應該會安裝正確的驅動程式目錄結構。應該會有一個 /etc/samba/printer/W32X86/2/ 。那裡面的檔案應該是 3 個驅動程式檔和 PPD 檔。那個 PPD 檔就是 YourPrinterName.ppd 。 (就是您安裝時給予的印表機名字。)

沒什麼問題的話,你的驅動程式現在就裝好了。

完成我們的設定

最後,設定我們的目錄

原始碼 4.16: Final changes needed

# mkdir /home/samba # mkdir /home/samba/public # chmod 755 /home/samba # chmod 755 /home/samba/public 

測試我們的 Samba 組態

我們將會測試我們的組態檔格式正確,所有的選項最少是語法正確。要做到這件事,我們執行 testparm

原始碼 4.17: 執行 testparm

(testparm 預設是檢查 /etc/samba/smb.conf) # /usr/bin/testparm Load smb config files from /etc/samba/smb.conf Processing section "[printers]" Global parameter guest account found in service section! Processing section "[public]" Global parameter guest account found in service section! Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions ... ... 

啟動 Samba service

現在設定 Samba 在開機時就啟動,設定完後就馬上把 Samba 啟動。

原始碼 4.18: 啟動 Samba 服務

# rc-update add samba default # /etc/init.d/samba start 

檢查我們的 service

這一次檢查記錄檔要非常小心。我們會使用 smbclient. 檢查 Samba 分享。

原始碼 4.19: 使用 smbclient

# smbclient -L localhost Password: (您會看到一大串服務的列表) 

5. client 的設定

*nix client的印表機設定

不論是什麼發行版,唯一需要的是 CUPS 。其他的 UNIX/Linux/BSD client 都一樣。

原始碼 5.1: 在 Gentoo 系統的設定法

# emerge cups # nano -w /etc/cups/client.conf ServerName PrintServer # your printserver name 

應該就這樣,沒有別的需要做的。

如果您只有一台印表機,那一台就是預設印表機。如果您的伺服器管理多台印表機,您的管理者會定義一台當做預設印表機。如果您要為您自己定義不同的預設印表機,請使用 lpoptions 指令。

原始碼 5.2: 設定您的預設印表機

(列出可用的印表機) # lpstat -a (下面只是例子,您的執行結果會不一樣。) HPDeskJet930C accepting requests since Jan 01 00:00 laser accepting requests since Jan 01 00:00 (定義 HPDeskJet930C 為您的預設印表機) # lpoptions -d HPDeskJet930C 

原始碼 5.3: 在 *nix 列印

(指定印表機來列印) # lp -d HPDeskJet930C anything.txt (使用您的預設印表機) # lp foobar.whatever.ps 

如果您要管理你的印表機,只要在 client 端把您的瀏覽器指到 http://printserver:631 就可以得到很好的 web 介面。如果您使用與範例不同的名字,請把 printserver 換成被您當做印表伺服器的機器的名字,而不是您給 cups print server 的名字。

Mounting a Windows or Samba share in GNU/Linux 在 GNU/Linux 掛載 Windows 或 Samba 分享

現在來設定我們的 kernel 支援 smbfs。因為我假設我們最少編譯一個 kernel。我們需要確定,我們在 kernel 的選項是正確的。為了簡單,把它編成 module。作者的想法是 kernel module 是好東西,應該在能用 module 的時機就儘量用。

原始碼 5.4: 相關 kernel 的選項

CONFIG_SMB_FS=m CONFIG_SMB_UNIX=y 

然後編譯及安裝 module

原始碼 5.5: 載入核心模組

# modprobe smbfs 

只要 module 安裝了,就可以掛載 Windows 或 Samba share。使用 mount 來完成這件事,詳細請看下面:

原始碼 5.6: 掛載 Windows/Samba 分享資源

(掛載的語法如下: mount -t smbfs [-o username=xxx,password=xxx] //server/share /mnt/point 如果我們不使用密碼或不需要密碼) # mount -t smbfs //PrintServer/public /mnt/public (如果需要密碼) # mount -t smbfs -o username=USERNAME,password=PASSWORD //PrintServer/public /mnt/public 

在您掛載分享目錄之後,您就可以像存取本機目錄一樣存取分享的目錄了。

Windows NT/2000/XP clients 的印表機設定

只要靠滑鼠按一按即可。瀏覽 \\PrintServer 右鍵點選印表機 (HPDeskJet930C) 並選擇 connect。這會下載驅動程式到 Windows client 之後,每一個應用程式 (像是 Word or Acrobat) 會提供 HPDeskJet930C 為可選擇的印表機讓你列印。:-)

6. 最後註釋

結尾

好了,就是這樣。您應該有一個成功的列印環境,可以讓 Windows 及 *nix 都擁有無電腦病毒的環境了。

7. 連結資源

連結

有些連結可以在設定、除錯的時候幫助您:

除錯

參閱這裡 是 Kurt Pfeifle 寫的 "Printing Support in Samba 3.0" 手冊許多有用的提示在裡面。在您遇到問題想提問的時候,請先看過這份文件。也許您的問題的解答就在裡面。


這份文件是以 Creative Commons - 姓名標示-相同方式分享 授權條款發布


列印

最後更新 2005年 3月 26日

這份文件的原始版本已不再被維護

大綱: 在 Gentoo 下使用 Samba 分享檔案、印表機,在安裝、設定時不再需要安裝驅動程式,而且提供自動掃毒的功能。

Andreas "daff" Ntaflos
Author

Joshua Preston
Author

Ricky Teng
Translator

Frid Hou
Translator

Donate to support our development efforts.

VR Hosted

Tek Alchemy

SevenL.net

php|architect

Copyright 2001-2007 Gentoo Foundation, Inc. Questions, Comments? Contact us.
相关阅读 更多 +
排行榜 更多 +
寂静岭4游戏手机版下载

寂静岭4游戏手机版下载

冒险解谜 下载
eden手机汉化版下载

eden手机汉化版下载

角色扮演 下载
伊甸园galgame游戏下载

伊甸园galgame游戏下载

角色扮演 下载