Gentoo Logo

Guia Gentoo de Samba3/CUPS/ClamAV

Contingut:

1.  Introducció a aquesta Guia

Propòsit

Aquesta Guia està dissenyada per ajudar-lo a passar d'una xarxa amb molt clients diferents parlant llenguatges diferents, a moltes màquines diferents que parlen un mateix llenguatge. El objectiu final és ajudar a diferents arquitectures i tecnologies, a esdevenir juntes un entorn productiu.

Seguint les direccions resaltades en aquesta Guia haurien de portar-lo un pas endavant cap a la pacífica coexistència entre Windows, i virtualment totes les variacions conegudes de *nix.

Aquesta Guia originalment no va començar com una Guia, sinó com a un PMF (Preguntes Més Freqüents). S'intentava explorar la funcionalitat i el poder d'un sistema Gentoo, portage i flexibilitat dels paràmetres USE. Com tants altres projectes, vas ser ràpidament descobert què és el que faltava en al regne de Gentoo: no hi havia cap Guia de Samba per als usuaris de Gentoo. Aquests usuaris demanen més que la majoria; requereixen rendiment, flexibilitat i personalització. Això no implica però que aquesta Guia no pugui aplicar-se a altres distribucions; tot i que va se dissenyat per a treballar amb una versió de Samba altament adaptada.

Aquesta Guia descriurà com compartir arxius i impressores entre ordinadors amb Windows i ordinadors amb *nix. Això també demostrarà l'us de la característica VFS (Sistema d'Arxius Virtual) de Samba per incorporar protecció contra virus automàtica. Finalment, se li mostrarà com muntar i manipular comparticions.

Hi ha uns pocs temes que seran mencionats, però estan fora de la mira d'aquesta Guia. Aquests seran notificats quan es vegin.

Aquesta Guia està basada en una compilació i barreja d'una Guia excel·lent proveida als Fòrums de Gentoo per Andreas "daff" Ntaflos i els coneixements recol·lectats per Joshua Preston. El enllaç a aquesta discussió és provist a sota com a referència:

Abans que faci servir aquesta guia

Hi ha moltes altres guies per configurar CUPS i/o Samba, si us plau llegeixi-les també, ja que li poden dir coses que no estan dins d'aquesta Guia (intencionadament o no). Un d'aquests documents és la útil i ben escrita Guia d'Impressió de Gentoo, ja que aquí no son tractats temes de configuració i preparacions específiques de la impressora.

Breu Visió de Conjunt

Després de presentar els diversos paràmetres USE,la següent llista remarcarà tots els temes en l'ordre que són presentats:

  • En el servidor Samba:
    • Instal·lar i configurar ClamAV
    • Instal·lar i configurar Samba
    • Instal·lar i configurar CUPS
    • Afegir la impressora a CUPS
    • Afegir els controladors PS per als clients Windows
  • Als clients Unix:
    • Instal·lar i configurar CUPS
    • Configurant una impressora per defecte
    • Montant una compartició Windows o Samba
  • Als clients Windows:
    • Configurant la impressora
    • Accedint a les comparticions Samba

Requeriments

Necessitarem el següent:

  • net-fs/samba
  • app-antivirus/clamav
  • net-print/cups
  • net-print/foomatic
  • net-print/hpijs (si te una impressora HP)
  • Un kernel qualsevol (preferiblement 2.4.24+ ó 2.6.x)
  • Una impressora (PS o no PS, potser no massa nova o sofisticada)
  • Una xarxa funcionant (casa/oficina/etc) consistent en més d'una màquina

El paquet principal que fem servir aquí és net-fs/samba, tot i així, necessitarà un kernel amb el suport smbfs activat per a muntar una compartició samba o windows d'una altre computadora. CUPS serà emergit si no ho ha estat ja. Es farà servir també app-antivirus/clamav, però els altres haurien de ser fàcilment adaptats per a treballar amb Samba. El ebuild de samba de Gentoo suporta tot tipus de tecnologies d'escaneig de virus, tals com Sophos, Fprot, Fsav, Trend, Icap, Nai, ...

2.  Coneixent Samba

Els Paràmetres USE

Abans d'emergir res, faci una ullada als diversos paràmetres USE disponibles amb Samba.

Llistat de Codi 2.1: Samba fa servir els següents variables USE:

kerberos mysql xml acl cups ldap pam readline python oav libclamav

Depenent de la topologia de xarxa i els requeriments específics del servidor, els paràmetres USE detallats sota definiran que incloures o excloure al emergir Samba.

Paràmetre USE Descripció
kerberos Inclou suport per Kerberos. El servidor necessitarà això si es vol unir a un domini existent o Active Directory. Miri la nota de sota per a més informació.
mysql Això permetrà a Samba emprar MySQL per a fer l'autenticació de claus d'accés. Emmagatzemarà ACLs, noms d'usuari, claus d'accés, etc en una base de dades contra un arxiu pla. Si es necessita que Samba faci una autenticació de clau d'accés, tal com actuar com a un servidor de validació de clau d'accés o un Controlador de Domini Primari (PDC).
xml L'opció USE xml per a Samba proveeix amb una base de dades de claus d'accés darrera permetent a Samba emmagatzemar els detalls de les comptes en arxius XML, per les mateixes raons llistades en la descripció del paràmetre USE mysql.
acl Activa les Llistes de Control d'Accés. El suport ACL a Samba fa servir ext2/ext2 modificat, o XFS de SGI per a funcionar correctament així com extendre més detalls de l'accés a arxius o directoris; molt més que els típics esquemes *nix GID/UID.
cups Això activa el suport per al Sistema d'Impressió Comú d'Unix. Això prové amb una interface que permet a les impressores CUPS locals ser compartides amb altres sistemes a la xarxa.
ldap Activa el Lightweight Directory Access Protocol (LDAP). Sí s'espera que Samba faci servir Active Directory, aquesta opció s'ha de fer servir. Això es farà servir quan Samba necessiti identificar-se o proveir d'identificació un Domini/Active Directory Server. El paràmetre USE kerberos és necessita per a que aquesta funció funcioni correctament.
pam Inclou suport per a mòduls d'identificació (PAM). Això prové amb l'habilitat d'autenticar a usuaris al Servidor Samba, que és requerit si els usuaris s'han d'identificar al seu servidor. El paràmetre USE kerberos és recomana juntament amb aquesta opció.
readline Enllaça Samba amb libreadline. Això és altament recomanat i no hauria de ser desactivat
python API de llibreries Python. Prové amb una API que permetrà a Python interactuar amb Samba.
oav Prové d'accés d'escaneig de les comparticions Samba amb FRISK F-Prot Daemon, Kaspersky Antivirus, OpenAntiVirus.org ScannerDaemon, Sophos Sweep (SAVI), Symantec CarrierScan, and Trend Micro (VSAPI).
libclamav Emprar la llibreria ClamAV en comptes del dimoni clamd

Un parell de coses que s'han de mencionar sobre els paràmetres USE i les diferents funcions que Samba inclou:

3.  Instal·lació del Software del Servidor

Emergent Samba

Primer de tot: estigui seur que tots els seus noms de servidor es resolguin correctament. Ja es tingui un sistema de nom de domini funcionant a la seva xarxa o entrades apropiades en el seu arxiu /etc/hosts. cupsaddsmb sovint protesta si els noms de màquina no apunten a les màquines correctes.

Afortunadament ara pot fer una estimació de que és el que necessitarà per a emprar Samba amb la seva configuració particular. La configuració emprada en aquest manual és:

  • oav
  • cups
  • readline
  • pam

Per optimitzar el rendiment, la mida i el temps de compilació, els paràmetres USE són especificament inclosos o exclosos.

Llistat de Codi 3.1: Emergeixi Samba

# echo "net-fs/samba oav readline cups pam" >> /etc/portage/package.use
# emerge net-fs/samba

Nota: Les següents arquitectures necessitaran afegir ~ a les seves KEYWORDS: x86, ppc, sparc, hppa, ia64 and alpha

Això emergirà Samba i CUPS (si CUPS no està ja emergit).

Emergent ClamAV

Degut a que el paràmetre USE oav només prové una interface per permetre l'accés d'escaneig de virus, l'actual escànner de virus ha de ser emergit. El escànner emprat en aquest manual és el ClamAV.

Llistat de Codi 3.2: Emergeixi Clamav

# emerge app-antivirus/clamav

Emergint foomatic

Llistat de Codi 3.3: Emergeixi foomatic

# emerge net-print/foomatic

Emergint net-print/hpijs

Només necessita emergir això si fa servir una impressora HP.

Llistat de Codi 3.4: Emergeixi hpijs

# emerge net-print/hpijs

4.  Configuració del Servidor

Configurant Samba

La configuració principal de Samba és /etc/samba/smb.conf. Es divideix en seccions indicades per [nomsecció]. Els comentaris van amb # o ;. Un exemple smb.conf és inclós sota amb comentaris i suggerències per a modificacions. Si es requereixen més detalls, miri la plana man fer a smb.conf, el arxiu instal·lat smb.conf.example, el lloc Web de Samba o qualsevol dels numerosos llibres disponibles

Llistat de Codi 4.1: Un exemple /etc/samba/smb.conf

[global]
# Reemplaci MYWORKGROUPNAME amb el seu Grup de Treballa/domini
workgroup = MYWORKGROUPNAME
# Per descomptat això no té cap altre propòsit REAL que fer saber a
# tothom que no és un Windows!
# %v mostra la versió de Samba que fem servir.
server string = Samba Server %v
# Farem servir cups, així que el posarem aquí ;-)
printcap name = cups
printing = cups
load printers = yes
# Volem un arxiu de registre i no volem que sigui més gran de 50kb.
log file = /var/log/samba/log.%m
max log size = 50
# Especificarem algunes opcions per a les nostres interfaces...
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
# Això és una bona idea, el que fem és limitant el
# servidor samba a la nostra xarxa local.
# Per exemple, si eth0 és el nostre dispositiu de xarxa local
interfaces = lo eth0
bind interfaces only = yes
# Ara especificarem a qui permetrem, després de tot estem
# molt conscienciats de la seguretat, des que aquesta configuració
# no empra claus d'accés!
hosts allow = 127.0.0.1 192.168.1.0/24
hosts deny = 0.0.0.0/0
# Altres opcions per això són USER, DOMAIN, ADS, i SERVER
# Per defectes és user
security = share
# Sense claus d'accés, així que emprarem una conta de convidat!
guest account = samba
guest ok = yes
# Ara implementarem el escànner d'accés de virus.
# NOTA: Posat això en la nostra secció [Global], activem
# scanning a TOTES les comparticions, pot opcionalment moure
# aquestes a una compartició específica i només escanejar aquella.

# Per a Samba 3.x. Això activa ClamAV a l'escaneig d'accés.
vfs object = vscan-clamav
vscan-clamav: config-file = /etc/samba/vscan-clamav.conf

# Ara configurem la informació dels controladors de la nostra impressora!
[print$]
comment = Printer Drivers
path = /etc/samba/printer # aquesta ruta conté l'estructura del controlador
guest ok = yes
browseable = yes
read only = yes
# Modificar això a "nomusuari,root" si no vol que el root
# sigui l'únic administrador d'impressió)
write list = root

# Ara configurarem una impressora a compartir, mentre el nom és arbitrari
# hauria de ser consistent entre Samba i CUPS!
[HPDeskJet930C]
comment = Impressora de xarxa HP DeskJet 930C
printable = yes
path = /var/spool/samba
public = yes
guest ok = yes
# Modificar això a "nomusuari,root" si no vol que el root
# sigui l'únic administrador d'impressió)
printer admin = root

# Ara configurem la compartició de les nostre impressores. Hauria
# de ser browseable, printable, public.
[printers]
comment = All Printers
browseable = no
printable = yes
writable = no
public = yes
guest ok = yes
path = /var/spool/samba
# Modificar això "nomusuari,root" si no vol que el root
# sigui l'únic administrador d'impressió)
printer admin = root

# Creem una nova compartició que podem llegir/escriure des de qualsevol lloc
# Això és com una compartició pública temporal, qualsevol pot fer el que
# vulgui allí.
[public]
comment = Public Files
browseable = yes
public = yes
create mode = 0766
guest ok = yes
path = /home/samba/public

Avís: Si vol fer servir la conta de convidat de Samba per a fer res referent a imprimir des de clients de Windows: no posi guest only = yes a la secció [global]. La conta de convidat sembla causar problemes algunes vegades quan funciona cupsaddsmb quan s'intenta connectar des de màquines amb Windows. Miri a sota, també, quan parlem sobre cupsaddsmb i els problemes que poden sorgir. Empri un usuari dedicat per l'impressora, com ara printeruser o printer o printme o qualsevol altre. No fa mal i el protegirà ciència certa d'un munt de problemes.

Avís: Activant ClamAV en l'escaneig de l'accés a la secció [global] ralentirà el rendiment del vostre servidor Samba dramaticament.

Ara creï els directoris requerits per la configuració mínima de Samba per a compartir la impressora instal·lada a través de la xarxa.

Llistat de Codi 4.2: Crear els directoris

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

Al menys es requereix un usuari Samba per a instal·lar els controladors de la impressora i per permetre als usuaris connectar-se a la impressora. Els usuaris han d'existir en l'arxiu de sistema /etc/passwd.

Llistat de Codi 4.3: Creant els usuaris

# smbpasswd -a root

(Si un altre usuari ha de ser un administrador d'impressió)
# smbpasswd -a username

Les claus d'accés de Samba no han de ser les mateixes que les de sistema a /etc/passwd.

També necessitarà actualitzar /etc/nsswitch.conf així els sistemes Windows poden ser trobats fàcilment emprant NetBIOS:

Llistat de Codi 4.4: Editant /etc/nsswitch.conf

# nano -w /etc/nsswitch.conf
(Editar els hosts: línia)
hosts: files dns wins

Configurant ClamAV

L'arxiu de configuració especificat per a ser emprat a smb.conf és /etc/samba/vscan-clamav.conf. Mentre aquestes opcions són deixades com van per defecte, l'acció per a fitxers infectats pot necessitar ser canviada.

Llistat de Codi 4.5: /etc/samba/vscan-clamav.conf

[samba-vscan]
; configuració de funcionament per amb vscan-samba emprant
; clamd
; totes les opcions estan posades amb els valors per defecte

; no escanejar fitxers de més de X bytes. I es posa a 0 (per defecte),
; aquesta opció està desactivada (p.e. tots els arxius són escanejats)
max file size = 0

; registrar tots els accessos d'arxius (yes/no). Si es posa a yes, tots els accessos
; seran registrats. Si es posa a no (per defecte), només l'accés a fitxers
; infectats serà registrat
verbose file logging = no

; si es posa a yes (per defecte), un fitxer serà escanejat mentre s'obre
scan on open = yes
; si es posa a yes, un fitxer serà escanejat mentre es tanca (per defecte és yes)
scan on close = yes

; si la comunicació amb clamd falla, hauria de denegar-se l'accés al fitxer?
; (per defecte: yes)
deny access on error = yes

; si el dimoni falla amb un error menor (corrupció, etc.),
; hauria de denegar-se l'accés al fitxer?
; (per defecte: yes)
deny access on minor error = yes

; enviar un missatge d'avís mitjançant el servei de Windows Messenger
; quan es trobi un virus?
; (per defecte: yes)
send warning message = yes

; que fer amb un fitxer infectat
; quarantine: intentar moure a un directori de quarentena; esborrar si falla moure'l
; delete:     esborrar fitxer infectat
; nothing:    no fer res
infected file action = delete

; on posar els fitxers infectats - realment vol canviar això!
; ha d'estar en el mateix dispositiu físic que la compartició!
quarantine directory  = /tmp
; prefix per als arxius en quarentena
quarantine prefix = vir-

; quan Windows intenta obrir un fitxer multiples vegades en un (molt)
; curt periode de temps, samba-vscan emprar un darrer mecanisme recent per
; evitar múltiples escanejos d'un arxiu. Aquesta opció especifica el nombre màxim
; d'elements de la llista de fitxers recentment emprats. (default: 100)
max lru files entries = 100

; una entrada és invalidada després del temps de vida de l'útlim arxiu emprat (en segons).
; (Default: 5)
lru file entry lifetime = 5

; nom de socket de clamd (per defecte: /var/run/clamd)
clamd socket name = /tmp/clamd

; número del port on escola el ScannerDaemon
oav port = 8127

Generalment és una bona idea començar immediatament el escaneig de virus. Afegir això al runlevel default i llavors iniciar el servei clamd immediatament. El servei té dos processos: freshclam manté la definició de la base de dades al dia mentre clamd és el dimoni antivirus actual. Primer pot voler especificar les rutes dels arxius de registre així que satisfagui les seves necessitats.

Llistat de Codi 4.6: Verificant la localització dels arxius de registre

# vim /etc/clamd.conf
(Verificar la línia "LogFile /var/log/clamd.log")
# vim /etc/freshclam.conf
(Verificar la línia "UpdateLogFile /var/log/freshclam.log")
# vim /etc/conf.d/clamd
(Establir "START_CLAMD=yes" i "START_FRESHCLAM=yes")

Ara activar l'escànner de virus.

Llistat de Codi 4.7: Afegir clamd a l'arrencada i iniciar-lo

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

Configurant CUPS

Això és una mica més complicat, l'arxiu principal de configuració de CUPS és /etc/cups/cupsd.conf. La seva estructura és similar al fitxer d'Apache httpd.conf, així que molts de vostès el trobaran familiar. Resaltades en l'exemple hi ha directives que necessiten ser canviades:

Llistat de Codi 4.8: /etc/cups/cupsd.conf

ServerName PrintServer          # el nom del seu servidor d'impressió
ServerAdmin root@PrintServer    # la persona a qui adreçar el correu relacionat amb l'impressió, p.e. vostè

AccessLog /var/log/cups/access_log # probablement no s'ha de canviar
ErrorLog  /var/log/cups/error_log  # no necessita realment ser canviat tampoc

LogLevel  debug # només quan s'instal·la o testeja, després hauria de ser
                # canviat a 'info'

MaxClients 100 # Jo he tingut això a 1000000000 o així perquè fa algun temps,
               # semblava que hi havia un error al control de CUPS de la interface web,
               # fent pensar a CUPS que hi havia un atac de denegació de servei quan
               # intentava configurar una impressora amb la interface web. Estrany.

BrowseAddress @IF(eth0) # Canviar això a la seva interface de xarxa interna

<Location />
Order Deny,Allow
Deny From All
Allow From 192.168.1.*  # Les adreces de la seva xarxa interna
                        # p.e. 192.168.1.* permetran connexions de qualsevol host a
                        # la xarxa 192.168.1.0. Canviar segons li convingui
</Location>

<Location /admin>
AuthType Basic
AuthClass System
Allow From 192.168.1.*  # el mateix que amunt, permetre qualsevol ordinador a la
                        # xarxa 192.168.1.0 per connectar i fer
                        # tasques administratives després d'autenticar
Order Deny,Allow
Deny From All
</Location>

Editar /etc/cups/mime.convs per descomentar algunes línies. Els canvis a mime.convs i mime.types són necessaris per a fer que CUPS imprimeixi fitxers de documents de Microsoft Office.

Llistat de Codi 4.9: /etc/cups/mime.convs

(La següent línia és troba prop de la fi del fitxer. Descomentar-lo)
application/octet-stream        application/vnd.cups-raw        0

Editar /etc/cups/mime.types per descomentar algunes línies.

Llistat de Codi 4.10: /etc/cups/mime.types

(La següent línia és troba prop de la fi del fitxer Descomentar-lo)
application/octet-stream

CUPS necessita iniciar-se a l'arrencada, i ser iniciat immediatament.

Llistat de Codi 4.11: Aixecant el servei CUPS

(Per inicar CUPS a l'arrencada)
# rc-update add cupsd default
(Per inciar o reiniciar CUPS ara)
# /etc/init.d/cupsd restart

Instal·lant una impressora per a i amb CUPS

Primer, anar a LinuxPrinting.Org a buscar i descarregar el arxiu correcte PPD per a la seva impressora i CUPS. Per fer això, premi el enllaç del Llistat d'Impressores a l'esquerra. Triï el fabricant de la seva impressora i el model en el menú desplegable, pe HP i DeskJet 930C. Premi "Show". A la plana següent premi el enllaç "recommended driver" després de llegir les vàries notes i informació. Llavors descarregar l'arxiu PPD de la plana següent, de nou després de llegir les notes i instruccions allí. Pots haver de triar el fabricant la impressora i el model de nou. Llegint la CUPS quickstart guide és també de molta ajuda quan es vol fer anar CUPS.

Ara té un fitxer PPD per la teva impressora per a funcionar amb CUPS. Posi'l a /usr/share/cups/model. El PPD per la HP DeskJet 930C es deia HP-DeskJet_930C-hpijs.ppd. Hauria d'instal·lar ara la impressora. Això no pot fer-se mitjançant la interface web de CUPS o via la línia de comandes. La interface web es troba a http://PrintServer:631 una vegada CUPS estigui funcionant.

Llistat de Codi 4.12: Instal·lar la impressora mitjançant la línia de comandes

# lpadmin -p HPDeskJet930C -E -v usb:/dev/ultp0 -m HP-DeskJet_930C-hpijs.ppd
# /etc/init.d/cupsd restart

Recordar ajustar al que tingui. Asseguri's que tingui el nom (-p argument) correctament (el nom que ha posat durant la configuració de Samba!) i per posar la ruta correctament usb:/dev/usb/blah, parallel:/dev/blah o el dispositiu que facis servir per la teva impressora.

Ara hauries de ser capaç d'accedir a la impressora des de la interface web i ser capaç d'imprimir una plana de prova.

Instal·lant els controladors d'impressora de Windows

Ara que la impressora hauria de funcionar és moment d'instal·lar els controladors per a que els clients de Windows funcionin. Samba 2.2 va introduir aquesta funcionalitat. Mirant el servidor d'impressió a la xarxa local, clicant amb el botó dret sobre la impressora compartida i triant "connectar" descarregarà els controladors apropiats automàticament en el client que es connecta, estalviant la molèstia d'instal·lar els drivers de la impressora localment.

Hi ha dos grups de controladors per això. Primer, els controladors PS d'Adobe que es poden obtenir d'Adobe (controladors PostScript d'impressora). Segon, hi ha els controladors PS de CUPS, a obtindre de la plana web de CUPS i triant "CUPS Driver for Windows" del menú desplegable. No hi sembla haver cap diferència entre la funcionalitat dels dos, però els controladors de PS d'Adobe necessiten ser extrets en un Sistema Windows ja que és un binari de Windows. També el procés complet de trobar i copiar els fitxers correctes és una mica més farregós. Els controladors de CUPS semblen suportar algunes opcions que els drivers d'Adobe no ho suporten.

Aquest manual fa servir els controladors de CUPS per a Windows. L'arxiu descarregat es diu cups-samba-5.0rc2.tar.gz. Extregui els fitxers continguts en un directori.

Llistat de Codi 4.13: Extreure els controladors i fer la instal·lació

# tar -xzf cups-samba-5.0rc2.tar.gz
# cd cups-samba-5.0rc2
(Només fer servir aquest script si CUPS resideix a /usr/share/cups)
# ./cups-samba.install

cups-samba.ss és un arxiu TAR que conté tres fitxers: cups5.hlp, cupsdrvr5.dll i cupsui5.dll. Aquests són els fitxer del controlador actual.

Avís: El script cups-samba.install pot no funcionar per tots els *nixs (p.e. FreeBSD) perquè quasibé tot el que no és part del sistema base és instal·lat en algun lloc sota el prefix /usr/local/. Això sembla no ser el cas per la majoria de coses que instal·la sota GNU/Linux. Tot i així, si la seva instal·lació CUPS és troba en un altre lloc que no pas /usr/share/cups/ miri l'exemple de sota.

Suposi que la seva instal·lació CUPS resideix sota /usr/local/share/cups/, i vol instal·lar els controladors aquí. Fer el següent:

Llistat de Codi 4.14: Instal·lant manualment els controladors

# cd /directori/on/ha/extret/el/tar/del/controlador/de/CUPS
# tar -xf cups-samba.ss
(Això extreu els fitxers en usr/share/cups/drivers sota el DIRECTORI
DE TREBALL ACTUAL)
# cd usr/share/cups/drivers
(sense començar amb / !)
# cp cups* /usr/local/share/cups/drivers
# /etc/init.d/cupsd restart

Ara farem servir el script cupsaddsmb provist per la distribució CUPS. La plana de man és una lectura interessant.

Llistat de Codi 4.15: Executar cupsaddsmb

# cupsaddsmb -H PrintServer -U root -h PrintServer -v HPDeskJet930C
(En comptes de HPDeskJet930C també pot especificar "-a", el que
"exportarà totes impressores conegudes".)
# cupsaddsmb -H PrintServer -U root -h PrintServer -a

Avís: La execució d'aquesta comanda normalment causa la majoria de problemes. Llegeixi el missatges en aquest tema del fòrum.

Aquí hi ha els errors comuns que poden passar:

  • El nom de servidor donat com a paràmetre per a -h i -H (PrintServer) normalment no és resol correctament i no identifica el servidor d'impressió per la interacció CUPS/Samba. Si un error com: Warning: No PPD file for printer "CUPS_PRINTER_NAME" - skipping! succeeix, la primera cosa que hauria de fer és substituir PrintServer per localhost i provar-ho de nou.
  • La comanda falla amb un NT_STATUS_UNSUCCESSFUL. Aquest missatge d'error és força comú, però pot produir-se per molts errors. Això desafortunadament no és de gran ajuda. Una cosa a provar és establir temporalment security = user al seu smb.conf. Després/si la instal·lació és completa correctament, hauria de tornar-ho a posar a share, o el que hi hagués posat abans.

Això hauria d'instal·lar l'estructura de directoris del controlador sota /etc/samba/printer. Aquest hauria ser /etc/samba/printer/W32X86/2/. Els fitxers continguts haurien de ser els 3 fitxers del controlador i el fitxer PPD, renombrat a ElTeuNomdImpresora.ppd (el nom que li dona a la impressora quant la instal·la (miri amunt)).

Suposant que no hi ha errors o altre complicacions, els teus controladors són ara instal·lats.

Finalitzant la nostra configuració

Finalment, configurarem els nostres directoris.

Llistat de Codi 4.16: Canvis finals necessaris

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

Provant la nostra configuració Samba

Nosaltres voldrem provar el nostre fitxer de configuració per assegurar que és formatat correctament i totes les nostres opcions tenen al menys la sintaxi correcte. Per fer això fem funcionar testparm.

Llistat de Codi 4.17: Executant el testparm

(Per defecte, testparm verifica /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
 ...
 ...

Iniciant el servei Samba

Ara configuri Samba per iniciar-se al inici; llavors l'iniciem.

Llistat de Codi 4.18: Aixecant el servei Samba

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

Verificant els nostre serveis

Seria provablement prudent verificar els nostres registres ara també. També voldrem fer una ullada a les nostre comparticions Samba emprant smbclient.

Llistat de Codi 4.19: Verficant les comparticions amb smbclient

# smbclient -L localhost
Password:
(Hauria de veure una GRAN llista de serveis aquí.)

5.  Configuració dels Clients

Configuració d'impressora de clients basats en *nix

Tot i la variació o distribució, el que només es necessita és CUPS. Fer l'equivalent en qualsevol client UNIX/Linux/BSD.

Llistat de Codi 5.1: Configurant un sistema Gentoo

# emerge cups
# nano -w /etc/cups/client.conf
ServerName PrintServer      # el nom del seu servidor d'impressió

Això hauria fer el fet. Res més serà necessari.

Si només fa servir una impressora, serà la seva impressora per defecte. Si el seu servidor d'impressió administra diverses impressores, el seu administrador en definirà una com a defecte al servidor. Si vol definir una impressora per defecte diferent per a vostè, faci servir la comanda lpoptions.

Llistat de Codi 5.2: Establint la seva impressora per defecte

(Llista d'impressores disponibles)
# lpstat -a
(Exemple de sortia, la seva serà diferent)
HPDeskJet930C accepting requests since Jan 01 00:00
laser accepting requests since Jan 01 00:00
(Definir HPDeskJet930C com a impressora per defecte)
# lpoptions -d HPDeskJet930C

Llistat de Codi 5.3: Imprimint a *nix

(Especificar la impressora a fer servir)
# lp -d HPDeskJet930C anything.txt
(Emprar la seva impressora per defecte)
# lp foobar.whatever.ps

Només apunti el seu navegador web a http://printserver:631 al client si vol administrar les seves impressores i les seves feines amb una bonica interface web. Reemplaçar printserver amb el nom de la màquina que actua com a servidor d'impressió, no el nom que li ha donat al servidor d'impressió cups si ha fet servir noms diferents.

Montant una compartició Windows o Samba a GNU/Linux

Ara és hora de configurar el nostre kernel per suportar smbfs. Ja que assumeixo que heu compilat al menys un kernel, necessitarem assegurar-nos de que tenim totes les opcions correctes al nostre kernel. En favor de la simplicitat, en farem un mòdul per a facilitar-ne l'us. És l'opinió de l'autor que els mòduls de kernel són bons i s'haurien de fer servir sempre que sigui possible.

Llistat de Codi 5.4: Opcions de kernel relevant

CONFIG_SMB_FS=m
CONFIG_SMB_UNIX=y

Llavors fer el mòdul/instal·lar-lo; inserir-ho amb:

Llistat de Codi 5.5: Carregant el mòdul del kernel

# modprobe smbfs

Una vegada els mòduls són carregats, muntar una compartició Windows o de Samba és possible. Emprar mount per acomplir això, com es detalla sota:

Llistat de Codi 5.6: Montant una compartició Windows/Samba

(La sintaxi per muntar una compartició Windows/Samba és:
  mount -t smbfs [-o username=xxx,password=xxx] //server/share /mnt/point
Si no emprem claus o una clau no és necessària)

# mount -t smbfs //PrintServer/public /mnt/public

(Si una clau és necessària)
# mount -t smbfs -o username=USERNAME,password=PASSWORD //PrintServer/public /mnt/public

Després de que munti la compartició, pot accedir-hi com si fos un disc local.

Configuració de la Impressora per client Windows NT/2000/XP

Això és només uns quants clics. Navegui a \\PrintServer i premi amb el botó dret sobre la impressora (HPDeskJet930C) i premi per connectar. Això descarregarà els controladors al client de Windows i ara tota aplicació (com el Word o Acrobat) oferirà HPDeskJet930C com a impressora disponible amb la que imprimir. :-)

6.  Notes Finals

Un Afectuós Adéu

Bé, això hauria de fer el fet. Hauria de tenir un entorn d'impressió que és amigable amb Windows i *nix així com també com una compartició lliure completament de virus!

7.  Enllaços i Recursos

Enllaços

Aquests són alguns enllaços que poden ajudar-li a activar, configurar i solventar complicacions a la seva instal·lació:

Complicacions

Miri aquesta plana del manual de "Suport d'Impressió en Samba 3.0" de Kurt Pfeifle. Hi ha un munt de consells útils aquí! Asseguris de mirar aquest primer, abans d'enviar preguntes i problemes! Potser la solució que busca és just allí.



Imprimir

Actualitzat 11 de març, 2006

La versió original d'aquest document va ser actualitzada el 1 de maig, 2008

Sumari: Preparació, instal·lació i configuració d'un Servidor Samba sota Gentoo que comparteixi fitxers, impressores sense la necessitat d'instal·lar controladors i proveir d'un escanejat automàtic de virus.

Andreas "daff" Ntaflos
Author

Joshua Preston
Author

Marc Serra
Traductor

Donate to support our development efforts.

Support OSL

Support OSL

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

Global Netoptex Inc.

Global Netoptex Inc.

Linux World Expo

Linux World Expo

Copyright 2001-2008 Gentoo Foundation, Inc. Questions, Comments? Contact us.