Gentoo Logo

Ghid Samba3/CUPS/ClamAV

Conţinut:

1.  Introducere

Scop

Acest ghid este conceput în a vă ajuta să transformaţi o reţea avănd mulţi clienţi ce înţeleg limbaje diferite, într-una în care diferitele maşini înţeleg un limbaj comun. Scopul final este ca ahitecturile şi tehnologiile diferite să poată fi coexista într-un mediu productiv.

Urmărirea intrucţiunilor schiţate în acest ghid ar trebui să constituie un pas excelent spre o coabitare paşnică între Windows, şi virtual, toate variaţiile de *nix cunoscute.

Acest ghid, la origine, nu a pornit ca un ghid, ci ca un set de întrebări frecvente. S-a urmărit la început explorarea funcţionalităţii şi puterii sistemului Gentoo, a sistemului Portage şi a flexibilităţii indicatorilor USE. Ca în multe alte proiecte, s-a descoperit repede ce lipsea în domeniul Gentoo: nu exista nici un Ghid Samba furnizat utilizatorilor Gentoo. Aceşti utilizatori cer mai mult decăt cei mai mulţi; ei cer performanţă, flexibilitate şi adaptare. Aceasta nu înseamnă că acest ghid nu este menit pentru alte distribuţii; mai degrabă a fost conceput pentru a fi folosit cu o versiune foarte adaptata a Samba.

Acest ghid va descrie cum se pot partaja fişiere şi imprimante între staţii Windows şi staţii *nix. De asemenea, va demonstra folosirea caracteristicii VFS (Virtual File System - Sistem de Fişiere Virtual) a Samba în a încorpora protecţie antivirus automată. În final, vă va indica modalităţile de mount-are şi manipulare a resurselor partajate.

Sunt câteva subiecte care vor fi menţionate, dar care sunt în afara scopului propus de acest ghid. Vor fi luate în seamă pe măsura prezentării.

Acest document este bazat pe compilarea şi alipirea excelentului ghid oferit pe Forumurile Gentoo de Andreas "daff" Ntaflos şi cunoştiinţele adunate de Joshua Preston. Adresa către aceasta discuţie este oferit pentru referinţă mai jos:

Înainte de a folosi acest ghid

Există mai multe ghiduri pentru setarea CUPS şi/sau Samba, vă rugăm să le citiţi de asemenea, acestea putându-vă prezenta elemente necuprinse în acest document (intenţionat sau altfel). Un astfel de document este foarte folositor şi bine scris Ghid de Imprimare în Gentoo, întrucât problemele de configurare şi setarea diferitelor imprimante nu sunt tratate aici.

Sumar

După prezentarea diferiţilor indicatori USE, lista următoare va schiţa toate subiectele acoperite, aşa cum sunt prezentate:

  • La serverul Samba:
    • Instalare şi configurare CLAMAV
    • Instalare şi configurare Samba
    • Instalare şi configurare CUPS
    • Adăugarea imprimantei în CUPS
    • Adăugarea driver-elor PS pentru clienţii Windows
  • La clienţii Unix:
    • Instalarea şi configurarea CUPS
    • Configurarea imprimantei implicite
    • Mount-area unei resurse partajate Windows sau Samba
  • La clienţii Windows:
    • Configurarea imprimantei
    • Accesarea resurselor partajate Samba

Cerinţe

Avem nevoie de următoarele:

  • net-fs/samba
  • app-antivirus/clamav
  • net-print/cups
  • net-print/foomatic
  • net-print/hpijs (dacă aveţi o imprimantă HP)
  • Un kernel potrivit (preferabil 2.4.24+ sau 2.6.x)
  • O imprimantă (PS sau non-PS, poate nu CHIAR AŞA DE nouă sau plină de facilităţi)
  • O reţea funcţională (acasa/birou/etc) care conţine mai mult de o maşină

Pachetul principal folosit este net+fs/samba, totuşi, aveţi nevoie de un kernel cu suportul smbfs activat pentru a mount-a o resursă partajată samba sau windows de pe un alt computer. CUPS va fi instalat, dacă nu există deja. app-antivirus/clamav va fi utilizat, de asemenea, dar alte aplicaţii ar trebui să fie adaptate la fel de uşor pentru integrarea cu Samba. Fişierul ebuild pentru samba din Gentoo suportă toate tipurile de tehnologii pentru scanarea de viruşi, cum ar fi Sophos, FProt, Fsav, Trend, Icap, Nai, ...

2.  Familiarizarea cu Samba

Indicatorii USE

Înainte de a instala ceva, aruncaţi o privire asupra diverşilor indicatori USE disponibili pentru Samba.

Cod 2.1: Samba foloseşte următoarele valori USE:

kerberos mysql xml acl cups ldap pam readline python oav libclamav

În funcţie de topologia reţelei şi cerinţelor specifice server-ului, indicatorii USE prezentaţi mai jos vor defini ce se include sau exclude pentru instalarea Samba.

Indicator USE Descriere
kerberos Se include suport pentru kerberos. Serverul va avea nevoie de acesta dacă se intenţionează legarea cu un domeniu existent sau Active Directory. Citiţi nota de mai jos pentru mai multe informaţii.
mysql Acesta va permite Samba să folosească MySQL cu scopul de a autentifica parolele. Va reţine ACL (Liste Control Acces), numele de utilizatori, parolele, etc. într-o bază de date în locul unui fişier obişnuit. Dacă Samba este necesară pentru efectuarea autentificării parolelor, cum ar fi funcţionarea ca un server de validare al parolelor sau un Controler Primar de Domeniu (PDC).
xml Indicatorul USE xml pentru Samba asigură functionarea bazei de date cu parole permiţând Samba să stocheze detaliile conturilor în fişiere XML, din aceleaşi considerente ca în cazul indicatorului USE mysql.
acl Activează Access Control Lists (Listele Control Acces). Suportul pentru aceste liste în Samba foloseşte ext2/ext3 sau sistemul de fişiere XFS al SGI, cărora li s-au aplicat patch-uri, în vederea funcţionării corespunzătoare pe măsura ce extinde accesul la fişiere şi directoare; deci mult mai mult decăt schemele *nix GID/UID tipice.
cups Acest indicator activează suportul pentru Sistemul de Imprimare Comun din Unix. Acesta oferă o interfaţă permiţând imprimantelor locale CUPS să fie partajate altor sisteme din reţea.
ldap Activează Lightweight Directory Access Protocol (LDAP). Dacă se doreşte ca Samba să folosească Active Directory, această opţiune trebuie folosită. Acest indicator este folosit în cazul în care Samba trebuie să se efectueze sau să ofere suport de login pentru un server Domain/Active Directory. Indicatorul USE kerberos este necesar pentru funcţionarea corespunzătoare a acestei opţiuni.
pam Acest indicator USE include suportul pentru modulele de autentificare ataşabile (PAM). Acesta oferă capacitatea de a autentifica utilizatorii în server-ul Samba, ceea ce este necesar dacă utilizatorii doresc să efectueze login la server. Indicatorul USE kerberos este recomandat alături de această opţiune.
readline Leagă Samba de libreadline. Indicatorul este extrem de recomandat şi probabil nu trebuie dezactivat.
python Asigură cadrul pentru API-ul Python. Oferă un API ce va permite Python să comunice cu Samba.
oav Oferă scanare la-acces pentru resursele partajate Samba cu FRISK F-Prot, Kaspersky AntiVirus, daemon+ul OpenAntiVirus.org, Sophos Sweep (SAVI), Symantec CarrierScan şi Trend Micro (VSAPI).
libclamav Activează utilizarea librăriei ClamAV în locul aplicaţiei daemon clamd.

Căteva lucruri merită menţionate despre indicatorii USE şi diferitele facilităţi Samba incluse:

3.  Instalarea Software a Server-ului

Instalarea Samba

În primul rând: asiguraţi-vă că toate numele-gazdă (hostname) sunt precizate corect. Fie aveţi un sistem al numelor de domenii funcţional în reţeaua dvs., fie nume corespunzătoare în fişierul /etc/hosts. Adesea, cupsaddsmb nu funcţionează corespunzător dacă numele-gazdă nu indica maşinile corecte.

Din fericire acum putem face o evaluare a ceea ce aveţi de fapt nevoie pentru a folosi Samba cu propriile setări. Setările folosite pentru acest ghid sunt:

  • oav
  • cups
  • readline
  • pam

Pentru optimizarea performanţei, mărimii şi timpului de compilare ale pachetului, indicatorii USE sunt anume incluşi sau excluşi.

Cod 3.1: Instalarea Samba

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

Notă: Pentru următoarele arhitecturi va trebui adăugat ~ la KEYWORDS: x86,ppc, sparc, hppa, ia64 şi alpha

Această comandă va instala Samba şi CUPS (dacă CUPS nu este deja instalat).

Instalarea ClamAV

Deoarece indicatorul USE oav doar oferă o interfată pentru scanarea antivirus în momentul accesului, un program antivirus trebuie efectiv instalat. Porgramul folosit în acest ghid este ClamAV.

Cod 3.2: Instalarea clam-av

# emerge app-antivirus/clamav

Instalarea foomatic

Cod 3.3: Instalarea foomatic

# emerge net-print/foomatic

Instalarea net-print/hpijs

Următorul pachet trebuie instalat doar dacă folosiţi o imprimantă HP.

Cod 3.4: Instalarea hpijs

# emerge net-print/hpijs

4.  Configurarea Server-ului

Configurarea Samba

Fişierul principal de configurarare al Samba este /etc/samba/smb.conf. Este împărţit în secţiuni indicate de [numesectiune]. Comentariile încep fie cu # fie cu ;. Un exemplu smb.conf este prezentat mai jos, conţinând comentarii şi sugestii pentru modificări. Dacă sunt necesare mai multe detalii, citiţi pagina de manual pentru smb.conf, fişierul instalat smb.conf.example, pagina web Samba sau una din numeroasele cărţi Samba disponibile.

Cod 4.1: A Sample /etc/samba/smb.conf

[global]
# Înlocuiţi MYWORKGROUPNAME cu numele de workgroup/domeniu al dvs.
workgroup = MYWORKGROUPNAME
# Desigur, acesta nu are alt scop REAL în afara de a spune
# tuturor că nu este Windows !
# %v arată versiunea de Samba pe care o folosim.
server string = Samba Server %v
# Intenţionăm să folosim cups, deci trebuie să îl indicăm aici ;-)
printcap name = cups
printing = cups
load printers = yes
# Dorim un fişier log şi nu vrem să fie mai mare de 50kO.
log file = /var/log/samba/log.%m
max log size = 50
# Vom configura câteva opţiuni pentru interfeţele noastre... 
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
# Aceasta este o idee bună, ceea ce vom face este să legăm
# server-ul samba de reţeaua noastră locală.
# Spre exemplu, dacă eth0 este dispozitivul nostru legat de reţeaua locală
interfaces = lo eth0
bind interfaces only = yes
# Acum vom specifica cui acordăm permisiuni, suntem în cele din urmă
# foarte conştienţi de securitate, cât timp acest fişier de
# configurare nu foloseşte parole!
hosts allow = 127.0.0.1 192.168.1.0/24
hosts deny = 0.0.0.0/0
# Alte opţiuni în acest caz sunt USER, DOMAIN, ADS şi SERVER
# Implicit este USER
security = share
# Fără parole, deci vom folosi un cont "guest"!
guest account = samba
guest ok = yes
# Vom introduce scanarea antivirus la accesare.
# NOTĂ: Adăugând această opţiune în secţiunea [Global], vom activa
# scanarea TUTUROR resurselor partajate, opţional se poate folosi
# această opţiune doar pentru o anumită resursă partajată, 
# pe care doar o vom scana.

# Pentru Samba 3.x. Activează scanarea la acces cu ClamAV
vfs object = vscan-clamav
vscan-clamav: config-file = /etc/samba/vscan-clamav.conf

# Vom preciza acum informaţiile necesare legate de driver-ele pentru imprimare!
[print$]
comment = Printer Drivers
path = /etc/samba/printer # această cale conţine structura driver-ului
guest ok = yes
browseable = yes
read only = yes
# Modificaţi în "username,root" dacă doriţi ca utilizatorul root
# să nu fie singurul administrator al imprimantei
write list = root

# Acum vom configura o imprimantă pentru partajare, deşi numele este arbitrar
# ar trebui să fie acelaşi şi pentru Samba şi in CUPS!
[HPDeskJet930C]
comment = HP DeskJet 930C Network Printer
printable = yes
path = /var/spool/samba
public = yes
guest ok = yes
# Modificaţi în "username,root" dacă doriţi ca utilizatorul root
# să nu fie singurul administrator al imprimantei
printer admin = root

# Vom partaja acum, imprimantele. Acestea trebuie să poată fi
# navigabile, imprimabile, publice.
[printers]   
comment = All Printers
browseable = no 
printable = yes   
writable = no
public = yes   
guest ok = yes
path = /var/spool/samba
# Modificaţi în "username,root" dacă doriţi ca utilizatorul root
# să nu fie singurul administrator al imprimantei
printer admin = root

# Vom crea o nouă resursă partajată pe care o putem citi/scrie de oriunde
# Este un fel de resursă partajată publică, temporară, în care oricine
# poate face ce dori.
[public]
comment = Public Files
browseable = yes
public = yes
create mode = 0766
guest ok = yes
path = /home/samba/public

Atenţie: Dacă doriţi să folosiţi contul guest din Samba pentru a face totul, legat de imprimarea de pe staţiile client Windows: nu folosiţi guest only = yes în secţiunea [global]. Contul guest se pare că produce probleme când se rulează uneori cupsaddsmb când se incearcă conectarea de pe maşini Windows. Citiţi mai jos, de asemenea, unde vom explica despre cupsaddsmb şi problemele care pot apărea. Utilizaţi un utilizator pentru imprimare dedicat, cum ar fi printeruser, printer sau printme sau orice altceva. Nu vă afectează şi vă va proteja cu siguranţă de o mulţime de probleme.

Atenţie: Activarea scanării la acces în secţiunea [global] va încetini performanţele Samba în mod dramatic.

Vom creea directoarele cerute de minima configurare a Samba pentru partajarea în toată reţeaua a unei imprimante instalate.

Cod 4.2: Crearea directoarelor

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

Cel puţin un utilizator Samba este cerut pentru a instala driver-ele imprimantei şi pentru a permite utilizatorilor să se contecteze la imprimantă. Utilizatorii trebuie să existe în fişierul /etc/passwd al sistemului.

Cod 4.3: Crearea utilizatorilor

# smbpasswd -a root 

(Dacă un alt utilizator va fi admnistratorul imprimantei)
# smbpasswd -a username

Parolele Samba nu trebuie să fie aceleaşi ca parolele de acces în sistem din /etc/passwd.

Va trebui, de asemenea, să actualizaţi /etc/nsswitch.conf astfel încât sistemele Windows să fie găsite uşor folosind NetBIOS:

Cod 4.4: Editarea /etc/nsswitch.conf

# nano -w /etc/nsswitch.conf
(Editaţi hosts: linia)
hosts: files dns wins

Configurarea ClamAV

Fişierul de configurare specificat a fi folosit în smb.conf este /etc/samba/vscan-clamav.conf. Cât timp aceste opţiuni sunt cele implicite, acţiunea în cazul fişierelor infectate ar trebui să fie schimbată.

Cod 4.5: /etc/samba/vscan-clamav.conf

[samba-vscan]
; configuraţia run-time pentru vscan-samba folosind
; clamd
; toate opţiunile sunt lăsate pe valorile implicite

; nu scanaţi fişiere mai mari decât X octeţi. Dacă este lăsat 0 (implicit),
; această caracteristică este dezactivată (adică toate fişierele sunt scanate)
max file size = 0

; realizarea unui log pentru fiecare acces la fişiere (yes/no). Dacă este setat ca
; yes, orice acces va fi înregistrat. Dacă este lăsat pe no (implicit), doar accesul
; la fişierele infectate va fi înregistrat
verbose file logging = no

; dacă este lăsat pe yes (implicit), un fişier va fi scanat la deschidere
scan on open = yes
; dacă este lăsat pe yes, un fişier va fi scanat la inchidere (yes este implicit)
scan on close = yes

; (default: yes)
; dacă comunicarea cu daemon-ul clamd eşuează, ar trebui accesul la fişier interzis?
; (implicit: yes)
deny access on error = yes

; dacă daemon-ul nu funcţionează, cu o eroare minoră (corupere, etc.),
; ar trebui accesul la fişier interzis?
; (implicit: yes)
deny access on minor error = yes

; se trimite un mesaj de avertizare folosind serviciul Windows Messenger
; când un virus este găsit?
; (implicit: yes)
send warning message = yes

; tratarea unui fişier infectat
; quarantine: se încearcă mutarea în directorul de carantină; se va şterge dacă mutarea eşuează
; delete:     ştergerea fişierului infectat
; nothing:    neefectuarea nici unei acţiuni
infected file action = delete

; unde să se stocheze fişierele infectate - sigur vreţi să modificaţi locaţia!
; trebuie să fie pe acelaşi dispozitiv fizic ca şi resursa partajată!
quarantine directory  = /tmp
; prefixul pentru fişierele din carantină
quarantine prefix = vir-

; cum Windows încearcă să deschidă un fişier de multe ori într-o perioadă
; scurtă de timp, samba-vscan foloseşte mecanismul ultimului fişier folosit
; pentru a evita multiple scanări ale unui fişier. Această opţiune specifică
; numărul maxim de poziţii ale listei cu ultimele fişiere utilizate recent.
; (implicit:100)
max lru files entries = 100

; o înregistrare devine invalidă după o vechime a acesteia în
; lista cu ultimele fişiere utilizate recent (în secunde)
lru file entry lifetime = 5

; locaţia şi numele daemon-ului clamd (implicit: /var/run/clamd)
clamd socket name = /tmp/clamd

; numărul portului pe care ascultă ScannerDaemon
oav port = 8127

În general este o bună idee să porniţi scanarea antivirus imediat. Adăugaţi-o la nivelul de rulare implicit şi apoi porniţi serviciul clamd imediat. Serviciul are două procese: freshclam menţine baza de date de definiţii actualizată în timp ce clamd este, de fapt, aplicaţia daemon anti-virus. Mai întâi aţi putea să setaţi căile către fişierele de log astfel încât să vă satisfacă preferinţele.

Cod 4.6: Verificarea locaţiei fişierelor de log

# vim /etc/clamd.conf
(Verificaţi linia "LogFile /var/log/clamd.log")
# vim /etc/freshclam.conf
(Verificaţi linia "UpdateLogFile /var/log/freshclam.log")
# vim /etc/conf.d/clamd
(Setaţi "START_CLAMD=yes" şi "START_FRESHCLAM=yes")

Acum, porniţi aplicaţia de scanare de viruşi.

Cod 4.7: Adăugaţi clamd la pornire şi pornirea acestuia

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

Configurarea CUPS

Această parte este un pic mai complicată. Fişierul principal de configurare al CUPS este /etc/cups/cupsd.conf. Structura sa este similară cu cea a server-ului Apache httpd.conf, multe elemente le puteţi găsi ca fiind familiare. În acest exemplu sunt scoase in evidenţă directivele care trebuiesc modificate:

Cod 4.8: /etc/cups/cupsd.conf

ServerName PrintServer          # numele server-ului dvs. de imprimare
ServerAdmin root@PrintServer    # relaţii pentru problemele legate de imprimare, adica dvs. 

AccessLog /var/log/cups/access_log # probabil nu trebuie să modificaţi
ErrorLog  /var/log/cups/error_log  # nu trebuie neapărat să modificaţi nimic, de asemenea

LogLevel  debug # doar în perioada instalării şi testării, trebuie schimbat
                # mai târziu cu 'info'

MaxClients 100 # A trebuit să stabilesc la 1000000000 sau aproape deoarece cu timp în
               # urmă se părea că există un bug în controlul CUPS din interfaţa web,
               # făcând CUPS să considere că un atac denial of service se desfăşura când
               # încercam să configurez o imprimantă prin interfaţa web. ciudat.

BrowseAddress @IF(eth0) # Schimbaţi cu interfaţa de reţea internă a dvs.

<Location />
Order Deny,Allow
Deny From All
Allow From 192.168.1.*  # adresele reţelei dvs. interne
                        # ex. 192.168.1 * va permite conexiuni de la orice host în reţeaua 
                        # 192.168.1.0. schimbaţi cu ceea ce vi se potriveşte

</Location>

<Location /admin>
AuthType Basic
AuthClass System
Allow From 192.168.1.*  # la fel ca înainte, permite oricărui host din
                        # reţeaua 192.168.1.0 să se conecteze şi să ruleze servicii  
                        # administrative după autentificare

Order Deny,Allow
Deny From All
</Location>

Modificaţi /etc/cups/mime.convs prin a decomenta unele linii. Schimbările la mime.convs şi mime.types sunt necesare pentru a face CUPS să imprime fişiere document Microsoft Office.

Cod 4.9: /etc/cups/mime.convs

(Linia următoare se găseşte aproape de sfărşitul fişierului. Decomentaţi-o)
application/octet-stream        application/vnd.cups-raw        0       

Modificaţi /etc/cups/mime.types pentru a decomenta unele linii.

Cod 4.10: /etc/cups/mime.types

(Linia următoare se găseşte aproape de sfărşitul fişierului. Decomentaţi-o)
application/octet-stream 

CUPS trebuie să fie pornit la boot, şi pornit imediat.

Cod 4.11: Configurarea serviciului CUPS

(Pentru a porni CUPS la boot)
# rc-update add cupsd default
(Pentru a porni sau a reporni CUPS, acum)
# /etc/init.d/cupsd restart

Instalarea unei imprimante pentru şi cu CUPS

În primul rând, accesaţi LinuxPrinting.Org pentru a găsi şi descărca fişierul PPD corespunzător imprimantei dvs. şi pentru CUPS. Pentru a face asta, efectuaţi click pe link-ul Printer Listings din stănga. Selectaţi producătorul imprimantei dvs. şi modelul în meniul flotant, de exemplu HP şi DeskJet 930C. Efectuaţi click pe "Show". În pagina ce se va deschide efectuaţi click pe link-ul "recommended driver" după ce aţi citit diversele note şi informaţii. Apoi descărcaţi fişierul PPD din pagina următoare, din nou după ce aţi citit notele şi cunoştiinţele de acolo. Trebuie să selectaţi producătorul imprimantei şi modelul din nou. Citirea Ghidului rapid CUPS este de asemenea de foarte mare ajutor în lucrul cu CUPS.

Acum aveţi un fişier PPD pentru imprimanta dvs. care să funcţioneze sub CUPS. Mutaţi-l în /usr/share/cups/model. Fişierul PPD pentru HP DeskJet 930C se numea HP-DeskJet_930C-hpijs.ppd. Acum ar trebui să instalaţi imprimanta. Aceasta se poate face fie prin interfaţa web CUPS sau fie prin linie de comanda. Interfaţa web se gaseşte la http://PrintServer:631 odată ce CUPS rulează.

Cod 4.12: Instalarea imprimantei în linia de comandă

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

Ţineţi minte să modificaţi la ceea ce aveţi dvs. Asiguraţi-vă că aveţi numele corect (argumentul -p) (numele introdus în timpul configurării Samba!) şi că introduceţi corect usb:/dev/usb/blah, parallel:/dev/blah sau ce dispozitiv utilizaţi pentru imprimantă.

Ar trebui acum să fiţi capabili să accesaţi imprimanta din interfaţa web şi să imprimaţi o pagină test.

Instalarea driver-elor Windows pentru imprimantă

Acum că imprimanta ar trebui să funcţioneze, este timpul să instalăm driver-ele pentru funcţionarea Clienţilor Windows. Samba 2.2 a introdus această funcţionalitate. Căutând server-ul de imprimare în Network Neighbourhood, efectuând click-dreapta pe printershare şi selectând "connect" se vor descărca automatic driver-ele corespunzătoare pentru clientul care se conectează, evitând problemele prilejuite de instalarea locală a driver-elor imprimantei.

Există două seturi de driver-e de imprimantă pentru aceasta. În primul rănd, driver-ele Adobe PS ce pot fi obţinute de la Adobe (driver-ele de imprimantă PostScript). În al doilea rând, sunt driver-ele de imprimantă CUPS, care se pot obţine de pe pagina CUPS şi selectând "CUPS Driver for Windows" din meniul flotant. Se pare că nu există vreo diferenţă în ceea ce priveşte funcţionalitatea celor două, dar driver-ele Adobe PS trebuiesc despachetate pe un sistem Windows pentru că sunt binare Windows. De asemenea, întreaga procedură de găsire şi copiere a driver-elor corecte este un pic mai mult problematică. Driver-ele CUPS se pare că suportă unele opţiuni nesuportate de driver-ele Adobe PS.

Acest ghid foloseşte driver-ele CUPS pentru Windows. Fişierul descărcat se numeşte cups-samba-5.0rc2.tar.gz. Despachetaţi fişierele conţinute într-un director.

Cod 4.13: Despachetaţi driver-ele şi rulaţi procesul de instalare

# tar -xzf cups-samba-5.0rc2.tar.gz
# cd cups-samba-5.0rc2
(Folosiţi acest script doar dacă CUPS se găseşte în /usr/share/cups)
# ./cups-samba.install

cups-samba.ss este o arhivă TAR conţinând trei fişiere: cups5.hlp, cupsdrvr5.dll şi cupsui5.dll. Acestea sunt de fapt fişierele driver.

Atenţie: Script-ul cups-samba.install ar putea să nu funcţioneze pentru toate *nix-urile (ex. FreeBSD) deoarece aproape tot ce nu este parte a sistemului de bază este instalat undeva sub prefixul /usr/local/. Acesta se pare că nu este cazul pentru multe programe pe care le-aţi instalat sub GNU/Linux. Totuşi, dacă instalarea dvs. CUPS este în alt loc decât /usr/share/cups/ consultaţi exemplul de mai jos.

Presupunând că instalarea dvs. CUPS se găseşte sub /usr/local/share/cups/, şi doriţi să instalaţi driver-ele acolo. Faceţi cum urmează:

Cod 4.14: Instalare manuală a driver-elor

# cd /path/you/extracted/the/CUPS-driver/tarball/into
# tar -xf cups-samba.ss
(Această comandă despachetează fişierele în usr/share/cups/drivers din DIRECTORUL DE LUCRU CURENT)
# cd usr/share/cups/drivers
(fără / la început!)
# cp cups* /usr/local/share/cups/drivers
# /etc/init.d/cupsd restart

Acum vom folosi script-ul cupsaddsmb conţinut de distribuţia CUPS. Pagina man a acestui script este o lectură interesantă.

Cod 4.15: Rularea cupsaddsmb

# cupsaddsmb -H PrintServer -U root -h PrintServer -v HPDeskJet930C
(În locul HPDeskJet930C puteţi specifica "-a", care va
"exporta toate imprimantele cunoscute".)
# cupsaddsmb -H PrintServer -U root -h PrintServer -a

Atenţie: Rularea acestei comenzi cauzează adesea cele mai multe probleme. Citiţi mesajele din aceast subiect.

Erori obişnuite ce pot apare:

  • Numele host-ului dat ca parametru pentru -h şi -H (PrintServer) adesea nu este introdus corect şi nu identifică server-ul de imprimare pentru interacţiunea CUPS/Samba. Dacă o eroare ca: Warning: No PPD file for printer "CUPS_PRINTER_NAME" - skipping! apare, primul lucru pe care ar trebui să îl faceţi este să înlocuiţi PrintServer cu localhost şi să încercaţi din nou.
  • Comanda eşuează cu NT_STATUS_UNSUCCESSFUL. Acest mesaj de eroare este destul de obişnuit, dar poate fi declanşat de multe probleme. Din nefericire nu este de foarte mare ajutor. Un lucru de încercat este stabilirea temporară a security = user în smb.conf. După/dacă instalarea se încheie cu succes, ar trebui modificat imediat în share, sau orice era prevăzut înainte.

Acesta ar trebui să instaleze corect structura de directoare a driver-ului sub /etc/samba/printer. Aceasta ar fi /etc/samba/printer/W32X86/2/. Fişierele conţinute ar trebui să fie cele 3 fişiere driver şi fişierul PPD, redenumit în NumeleImprimanteiDvs.ppd (numele pe care l-aţi dat imprimantei în momentul instalării - vedeţi anterior)

Neaparând nici o eroare sau altă complicaţie, driver-ele dvs. sunt acum instalate.

Finalizarea instalării

Lastly, setup our directories. Ultimele sunt configurate directoarele.

Cod 4.16: Schimbări finale necesare

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

Testarea configuraţiei noastre Samba

We will want to test our configuration file to ensure that it is formatted properly and all of our options have at least the correct syntax. To do this we run testparm. Vom dori să testăm fişierele noastre de configurare pentru a ne asigura că sunt alcătuite corespunzător şi toate opţiunile noastre nau măcar sintaxa corectă. Pentru a face aceasta vom rula testparm.

Cod 4.17: Rularea testparm

(Implicit, testparm verifică /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
 ...
 ...

Pornirea serviciului Samba

Acum vom configura Samba să pornească la boot-are; apoi, continuăm şi o pornim.

Cod 4.18: Configurarea serviciului Samba

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

Verificarea serviciilor noastre

Este probabil prudent să verificăm în acest moment şi log-urile. Vom dori, de asemenea, să aruncăm o privire asupra resurselor partajate Samba, folosind smbclient.

Cod 4.19: Verificarea resurselor partajate cu smbclient

# smbclient -L localhost
Password:
(Ar trebui să vedeţi o listă MARE de servicii aici.)

5.  Configurarea Clienţilor

Configurarea imprimantei pentru clienţii bazaţi pe *nix

În ciuda variaţiilor sau distribuţiilor, singurul lucru cerut este CUPS. Faceţi acelaşi lucru pe oricare alt client UNIX/Linux/BSD.

Cod 5.1: Configurarea unui sistem Gentoo

# emerge cups
# nano -w /etc/cups/client.conf
ServerName PrintServer      # numele server-ului dvs. de imprimare

Asta ar trebui să fie. Nimic altceva nu este cerut.

Dacă folosiţi doar o imprimantă, va fi imprimanta dvs. implicită. Dacă server-ul dvs. de imprimare serveşte mai multe imprimante, administratorul dvs. trebuie să definească o imprimantă implicită pentru server. Dacă doriţi să definiţi o imprimantă implicită diferită pentru dvs., folosiţi comanda lpoptions.

Cod 5.2: Stabilirea imprimantei dvs. implicite

(Lista imprimantelor disponibile)
# lpstat -a
(Exemplu de rezultat, al dvs. va fi diferit)
HPDeskJet930C accepting requests since Jan 01 00:00
laser accepting requests since Jan 01 00:00
(Definiţi HPDeskJet930C ca imprimanta dvs. implicită)
# lpoptions -d HPDeskJet930C

Cod 5.3: Imprimarea în *nix

(Specificaţi imprimanta ce va fi folosită)
# lp -d HPDeskJet930C anything.txt
(Folosiţi imprimanta dvs. implicită)
# lp foobar.whatever.ps

Direcţionaţi browser-ul web către http://printserver:631 la client, dacă doriţi să administraţi imprimantele dvs. şi sarcinile lor printr-o frumoasă interfaţă web. Înlocuiţi printserver cu numele machine ce acţionează ca server-ul dvs. de imprimare, nu cu numele pe care l-aţi dat server-ului de imprimare cups, dacă folosiţi nume diferite.

Mount-area unei resurse partajate Windows sau Samba în GNU/Linux

Acum este timpul să configurăm kernel-ul pentru a suporta smbfs. Considerând că toţi am compilat cel puţin un kernel, va trebui să fim siguri că avem toate opţiunile corespunzătoare selectate în kernel-ul nostru. Pentru simplicitate, compilaţi-l ca modul, pentru a uşura utilizarea. Părerea autorului este că modulele de kernel reprezintă un lucru bun şi ar trebui utilizate oricând este posibil.

Cod 5.4: Optiunile relevante în kernel

CONFIG_SMB_FS=m
CONFIG_SMB_UNIX=y

Apoi compilaţi/instalaţi modulele; le inseraţi cu:

Cod 5.5: Încărcarea modulelor din kernel

# modprobe smbfs

Odată ce modulele sunt incărcate, mount-area unei resurse partajate Windows sau Samba este acum posibilă. Utilizaţi mount pentru această operaţie, aşa cum este detaliat mai jos:

Cod 5.6: Montarea unei resurse partajate Windows/Samba

(Sintaxa comenzii de mount-are a unei resurse partajate Windows/Samba este:
  mount -t smbfs [-o username=xxx,password=xxx]) //server/resursă  /mnt/punct montare
Dacă nu utilizaţi parole sau nu este necesară introducerea parolei)

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

(Dacă este necesară o parolă)
# mount -t smbfs -o username=USERNAME,password=PASSWORD //PrintServer/public /mnt/public

După mount-area resursei partajate, o puteţi accesa ca şi cum ar fi locală.

Configurarea Imprimantei pentru Clienţii Windows NT/2000/XP

Este o operaţie mai mult din categoria "point-and-click". Accesaţi \\PrintServer şi efectuaţi click dreapta pe imprimantă (HPDeskJet930C); efectuaţi click pe connect. Astfel, se vor descărca driver-ele pentru clientul Windows şi acum fiecare aplicaţie (cum ar fi Word sau Acrobat) vor dispune de HPDeskJet930C ca imprimană disponibilă, cu care puteţi imprima. :-)

6.  Note Finale

În loc de bun rămas

Ei bine, asta ar trebui să fie totul. Acum ar trebui să imprimaţi cu succes, într-un mediu prietenos atât pentru Windows cât şi *nix, precum şi cu resurse partajate funcţionabile şi nevirusate!

7.  Adrese şi Resurse

Adrese

Acestea sunt câteva adrese care ar putea să vă ajute în instalarea, configurarea şi rezolvarea problemelor instalării dvs.:

Rezolvarea Problemelor

Citiţi această pagină din manualul lui Kurt Pfeifle "Printing Support in Samba 3.0". Foarte multe sfaturi folositoare acolo! Asiguraţi-vă că veţi căuta în acesta mai întâi, înainte de a pune întrebări şi prezenta probleme! Poate că soluţia pe care o căutaţi se află chiar acolo.



Imprimare

Actualizat la 11 Martie 2006

Versiunea originală a acestui document a fost actualizată ultima dată la 2 Martie 2011

Sumar: Pregătirea, instalarea şi configurarea unui server Samba sub Gentoo care partajează fişiere, imprimante fără necesitatea instalării de drivere şi oferă scanare împotriva viruşilor în mod automat.

Andreas "daff" Ntaflos
Autor

Joshua Preston
Autor

Robert Datcu
Translator

Donate to support our development efforts.

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