Samba: Servidor Independent en Debian

Hola Amics !. Si volem tenir un Servidor Independent (Standalone) Per compartir recursos ja sigui des de la nostra estació de treball; o per a un petit grup de màquines; o per a una LAN sense un controlador de domini a l'estil Microsoft, el més senzill és fer-ho mitjançant Samba.

Hi ha algunes eines gràfiques per a aquest fi, així com l'eina per administrar Samba via web «SWAT». No obstant això, recomanem als principiants que s'inicien en aquest meravellós món de forma manual. No és tan difícil ni diabòlic com molts pensen. I en el procés s'aprèn molt sobre xarxes SMB / CIFS i sobre Permisos i Drets en sistemes d'arxius Linux.

Abans de continuar, recomanem llegeixin:

NO veurem com compartir impressores mitjançant Samba. Als que vulguin utilitzar aquesta suite per a aquests fins, recomanem llegeixin la documentació acompanyant tal com s'indica en Samba: Necessària Introducció. També poden llegir l'article CUPS: Com usar i configurar les impressores de forma fàcil.

Punts fonamentals a tenir en consideració

  • Malgrat tota l'aura que envolta els Directoris Actius i els seus controladors de domini dels quals en nombroses ocasions no són necessaris o pobrament explotats, el instal·lar i configurar un Servidor Samba Independent ÉS una opció vàlida i fiable.
  • Un Servidor Independent pot ser tan segur o insegur segons les nostres necessitats, i el podem configurar de forma senzilla o complexa.
  • L'autenticació dels usuaris es realitza en el propi servidor on resideixen els recursos.
  • Perquè un usuari pugui accedir als recursos des d'un equip remot, ha d'estar a més registrat a la base d'usuaris de Samba.
  • Només podem afegir a la base de dades d'usuaris Samba aquells usuaris que ja existeixin en el nostre servidor o màquina d'escriptori.
  • Un Servidor Independent Samba NO proveeix Inici de Sessió en Xarxa, com ho fa un Controlador de Domini. Tampoc proveeix inici de sessió en un Domini.
  • Com menys canviem i / o adicionemos paràmetres a l'arxiu /etc/smb.conf sense abans conèixer a l'detall que és el que volem aconseguir, serà Molt Millor.
  • El servei de compartir recursos en Samba treballa sobre el sistema de fitxers de Linux, incloent la seva seguretat inherent. Moltes problemes es resolen tenint en compte especialment als permisos en arxius i directoris.
  • És imprescindible entendre com gestionar el comportament de sistema d'arxius des de l'arxiu smb.conf, Així com comprendre com funciona la seguretat de sistema de fitxers UNIX / Linux.
  • Recomanem no utilitzar accents, ni enyes, ni espais en els noms dels carpetes i recursos compartits. Preferentment utilitzar minúscules per als noms.
  • En una LAN no es poden repetir noms de recursos compartits. Cada nom és únic.
  • Si en la nostra LAN NO ha un servidor WINS, podem fer que el nostre Samba actuï com a tal afegint a la secció «global»De l'arxiu smb.conf el paràmetre wins support = Yes., La qual cosa és molt recomanable.

Servidor d'exemple

Nom: Miwheezy. Domini: Amigos.cu. IP: 10.10.10.20. Usuaris: Xeon, zeus i triton. grups addicionals: comptadors

Instal·lador

Mitjançant el Synaptic o per mitjà de la consola instal·lem el paquet samba.

suo aptitude install samba

És molt útil instal·lar a més el paquet smbclient. El farem servir per comprovacions.

En el procés, s'instal·laran els paquets -sinó hem instal·lat anteriorment algun altre relacionat amb la Suite- samba, samba-common, samba-common-bin y TDB-tools. A més, es crea el fitxer /etc/samba/smb.conf. Aquest fitxer es crearà sempre que s'instal·lin els paquets samba-comú y samba-common-bin, I no s'esborrarà de sistema fins que no els donis instal·lem.

L'arxiu smb.conf és el més important de la Suite Samba

Samba té una enorme quantitat d'opcions de configuració, la majoria de les quals no es mostren en l'exemple de smb.conf que instal·la per defecte. Les opcions comentades amb un «;»Es consideren prou importants com per mostrar-les i els seus valors proposats difereixen dels valors per defecte de l'comportament de Samba. Les opcions de configuració comentades amb un «#«, Tenen els valors per defecte de Samba, i també es consideren importants com per ser mostrades.

Si volem veure el contingut de l'arxiu sense considerar les opcions comentades ja siguin amb «;»O amb«#«, Hem d'executar:

 egrep -v '# |; | ^ * $' /etc/samba/smb.conf

Si volem veure el contingut de l'arxiu sense considerar les opcions comentades amb «#«, Hem d'executar:

egrep -v '# | ^ * $' /etc/samba/smb.conf

El primer que hem de fer és una còpia de l'arxiu /etc/samba/smb.conf. En el propi arxiu trobem la forma en què Samba recomana fer una còpia de treball, la qual detallem a continuació. com root executem:

cd / etc / samba mv smb.conf smb.conf.master testparm -s smb.conf.master> smb.conf
root @ miwheezy: / etc / samba # ls -l
total 32 -RW-r - r-- 1 root root 8 10 novembre 2002 gdbcommands -RW-r - r-- 1 root root 805 ago 4 12:05 smb.conf -RW-r - r-- 1 root root 12173 ago 4 12:05 smb.conf.master

Observin la diferència de mida entre el smb.conf generat d'aquesta manera i l'original. A l'ésser menor la mida, el rendiment de servidor augmenta d'acord al que indica pel Samba Team.

El contingut inicial de l'arxiu /etc/samba/smb.conf serà (recordin que no desenvoluparem el compartir impressores):

[Global]
        workgroup = AMICS NetBIOS name = MIWHEEZY security = user
        server string =% h server map to guest = Bad User Obey pam restrictions = Yes pam password change = Yes passwd program = / usr / bin / passwd% u passwd xat = * Enter \ snew \ s * \ spassword: *% n \ n * Retype \ snew \ s * \ spassword $ unix password sync = Yes syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 dns servidor intermediari = No usershare allow guests = Yes panic action = / usr / share / samba / panic-action% d idmap config *: backend = TDB [homes] comment = Home Directories valid users =% S create mask = 0700 directory mask = 0700 browseable = No

Els valors ressaltats en negreta són els únics que hem de modificar inicialment. Observin que, tot i ser el comportament per defecte de Samba, hem declarat explícitament l'opció seguretat = usuari donada la seva gran importància.

Si en la nostra LAN NO ha un servidor WINS, podem fer que el nostre Samba actuï com a tal afegint a la secció «global»De l'arxiu smb.conf el paràmetre wins support = Yes., La qual cosa és molt recomanable.

Regla d'Or: Com menys canviem i / o adicionemos paràmetres a l'arxiu smb.conf sense abans conèixer a l'detall que és el que volem aconseguir, serà Molt Millor.

A continuació donem un atapeït resum d'algunes de les opcions mostrades. Per a més informació, si us plau executin man smb.conf.

  • grup de treball: Controla en qual Grup de Treball apareixerà l'equip a l'fer cap explorador de la xarxa. Aquest paràmetre també controla el nom de l'Domini quan es treballa amb l'opció security = domain i en la qual s'uneix l'equip a un Domini. Ho veurem en articles posteriors. El valor per defecte és GRUP DE TREBALL.
  • NetBIOS name: Fixa el nom NetBIOS mitjançant el qual es coneixerà el servidor Samba a la xarxa. Per defecte és el mateix que el primer component de l' FQDN de l'host. En el nostre exemple el FQDN de l'equip és miwheezy.amigos.cu. Podem fer servir un nom diferent a el del sistema principal per al nostre servidor Samba. En aquest cas és recomanable incloure un registre CNAME al nostre DNS.
  • seguretat: Paràmetre que afecta el com els clients responen a Samba i és un dels més importants de l'arxiu smb.conf. El valor per defecte és user.
  • cadena de servidor: Controla que nom es mostra en els comentaris que apareixen en cap explorador de xarxa proper a el nom de l'equip.
  • mapa al convidat: Paràmetre que només és útil quan s'estableix seguretat = usuari o security = domain. El valor «Bad User» li indica a Samba que rebutgi una contrasenya no vàlida, llevat que NO hi hagi l'usuari, en aquest cas se li tractarà com Convidat o «convidat«. Si no volem permetre sessions de convidats, hem de canviar el seu valor a Mai, El qual precisament és el valor per defecte, i també canviar el paràmetre usershare allow guest a no, El qual també és el valor per defecte.
  • Obey pam restrictions: Controla si Samba ha d'obeir o no les restriccions pròpies de PAM «Plugable Authentication Module«, Pel que fa a les directives d'Administració de Comptes d'Usuari i Sessions. El valor per defecte és no.
  • pam password change: Li indica a Samba que utilitzi a PAM per als canvis de contrasenyes sol·licitats per un client SMB. El valor per defecte és no.
  • passwd program: Programa utilitzat per establir les contrasenyes Unix dels usuaris.
  • passwd xat: Cadena que controla la conversa que té lloc entre el dimoni smbd i el programa local per al canvi de contrasenya definit en el paràmetre anterior.
  • unix password sync: Li indica a Samba sincronitzi la contrasenya SMB amb la contrasenya Unix, sempre que la primera canviï. El valor per defecte és no.
  • usuaris vàlids: Llista d'usuaris als quals se li permet iniciar una sessió en un recurs compartit.

Reiniciar o Recarregar el servei Samba

Sempre que fem canvis significatius, sobretot en la secció «[Global]»De l' smb.conf, Hem de reiniciar el servei. Si ja tenim usuaris connectats al nostre servidor, cada vegada que reiniciem Samba, els desconnectarem. És per la qual cosa, i pràcticament en el endavant, només recarregarem el servei quan agreguem o modifiquem recursos compartits. Per reiniciar el servei, executem com root:

service samba restart

Per recarregar el servei:

service samba reload

Afegim els usuaris a sistema ia la base de dades d'usuaris Samba

Només podem afegir a la base de dades d'usuaris Samba aquells usuaris que ja existeixin en el nostre servidor local.

En el nostre exemple, l'usuari xeon va ser afegit durant la instal·lació de Wheezy. Per tant, no ho afegirem als usuaris de l'equip. El grup users existeix en el sistema i es va crear durant la instal·lació.

Algunes opcions de la comanda smbpasswd són:

  • -a: Afegeix l'usuari indicat a l'arxiu local smbpasswd.
  • -x: L'usuari indicat ha de ser eliminat de la de l'arxiu local smbpasswd. Només disponible quan smbpasswd s'executa com root.
  • -d: S'ha de desactivar el compte de l'usuari indicat. Només disponible quan smbpasswd s'executa com root.
  • -e: El contrari de l'opció -d sempre que el compte de l'usuari estigui desactivada.

Per crear els usuaris a la nostra equip, ho fem amb el conegut comandament adduser.

adduser zeus adduser triton

Per crear el grup comptadors:

addgroup comptadors

Per afegir els usuaris a la base de dades de Samba:

smbpasswd -a root
smbpasswd -a Xeon smbpasswd -a zeus smbpasswd -a triton

Unim a el grup comptadors als usuaris que vulguem:

adduser Xeon comptadors adduser zeus comptadors adduser triton comptadors

És recomanable unir cada usuari creat a el grup usuaris, Per si volem atorgar permisos a tots els usuaris que hem creat, sobre un recurs determinat. Una forma més senzilla d'unir diversos usuaris a un grup és editant directament el fitxer / Etc / group, I afegint la llista d'usuaris separats per una coma. Poden guiar-se pel grup comptadors. Donem per fet que unim els usuaris a el grup usuaris.

En una estació de treball, per a eliminar que es mostrin els usuaris creats mitjançant adduser, Hem d'editar el fitxer /etc/gdm3/greeter.gsettings i treure el comentari a l'opció disable-user-list = true, Perquè NO es mostri cap llista d'usuaris a l'iniciar la sessió. Aquest és el comportament estàndard de qualsevol equip client Windows unit a un Domini.

De la mateixa manera, si volem que els usuaris creats no iniciïn una sessió remota mitjançant ssh, Editem l'arxiu / etc / ssh / sshd_config i afegim a la fi de l'arxiu la instrucció AllowUsers. exemple:

[....] # and ChallengeResponseAuthentication to 'no'. UsePAM yes AllowUsers Xeon

Afegim recursos compartits

Exemple 1: Volem compartir la carpeta / Home / Xeon / musica per a tots els usuaris registrats. El permís serà de només lectura. Abans de res vam crear la carpeta / Home / Xeon / musica i configurem el seu propietari i permisos de ser necessaris. Com l'usuari Xeon executem:

mkdir / home / Xeon / musica ls -l / home / Xeon | grep musica

Després, a la fi de l'arxiu smb.conf afegim el següent:

[Musica-Xeon] comment = Carpeta personal de musica path = / home / Xeon / musica read only = Yes valid users = @users read list = @users

Després de les modificacions a l'arxiu, executem provaparm com l'usuari xeon i recarreguem el servei com root. També podem executar els dos ordres com root:

testparm service samba reload

Per a comprovar el servei recentment configurat ho podem fer mitjançant l'execució de la següent comanda en el propi equip:

smbclient -L localhost -U%

Exemple 2: Volem compartir la carpeta / Home / Xeon / musica per a tots els usuaris registrats. Els permisos seran de lectura / escriptura per a xeon i de només lectura per a la resta dels usuaris pertanyents a el grup usuaris. No tenim necessitat de modificar el propietari o els permisos a la carpeta. Només vam canviar una mica la configuració de el recurs compartit en el fitxer smb.conf.

[Musica-Xeon] comment = Carpeta personal de musica path = / home / Xeon / musica read only = No valid users = @users write list = Xeon read list = @users

Exemple 3: Volem compartir la carpeta / Home / Xeon / comptabilitat per al grup d'usuaris comptadors. Tots els membres de el grup tindran permís de lectura. els usuaris tritó y zeus podran escriure al carpeta compartida.

Ara SI hem de modificar el propietari i permisos de la carpeta comptabilitat després de creada, de manera que puguin escriure tritó y zeus que són membre de el grup comptadors. També hem de tenir cura que l'últim usuari que creu o modifiqui un arxiu no es faci el seu propietari absolut, de manera que es pugui modificar per un altre (s) usuaris amb permisos d'escriptura.

És imprescindible entendre com gestionar el comportament de sistema d'arxius des del smb.conf, Així com comprendre com funciona la seguretat de sistema de fitxers UNIX / Linux.

En aquests casos hem de:

  • Declarar a conveniència qui serà l'Usuari Propietari i qui el Grup Propietari de l'Directori Compartit.
  • Permetre l'escriptura en el Directori Compartit per part de Grup Propietari.
  • Declarar el bit SABATA (Setembre Group ID) De directori durant la seva creació.
  • Declarar adequadament a l'arxiu smb.conf les maneres de creació d'arxius i directoris dins del nostre recurs compartit.

Una senzilla i possible solució a la pràctica tindrem si executem com root:

mkdir / home / Xeon / comptabilitat chown -R root: comptadors / home / Xeon / comptabilitat chmod -R g + ws / home / Xeon / comptabilitat ls -l / home / Xeon

I afegim el següent a la fi de l'arxiu smb.conf:

[Comptabilitat] comment = Carpeta per als comptadors path = / home / Xeon / comptabilitat read only = No valid users = @contadores write list = triton, zeus read list = @contadores force create mode = 0660 force directory mode = 0770

Immediatament vam comprovar la sintaxi bàsica de l' smb.conf mitjançant provaparm i recarreguem el servei mitjançant service samba reload. També podem executar smbclient -L localhost -U%. al servidor local, i smbclient -L miwheezy -U% o smbclient -L miwheezy.amigos.cu -U% des de l'equip remot.

Hora és que des d'un equip remot ens connectem a el recurs compartit i fem totes les proves necessàries. És recomanable comprovar com canvia l'usuari propietari de les carpetes i arxius en la mesura que es creen dins d'el recurs.

Important: l'usuari root o l'usuari xeon i en general qualsevol membre de el grup comptadors, Pot escriure des d'una sessió local iniciada en el mateix equip o mitjançant ssh, És a dir, sense utilitzar el protocol SMB / CIFS. Si creen una carpeta o un arxiu de forma local, recordin reassignar els permisos adequats. comprovin mitjançant ls-l. No fer l'anterior és origen de moltes confusions.

Amics, em perdonen la longitud d'l'article i espero els serveixi d'alguna utilitat. Fins la propera aventura!


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   ILAV va dir

    Excel·lent com sempre. Aquest tipus d'articles s'agraeixen quan treballem amb servidors. 😉

  2.   Juli Cèsar va dir

    Molt bo freeke però per a mi és millor fer servir FreeNAS per a aquest tipus de coses
    ;)

  3.   Federico Antonio Valdés Toujague va dir

    Gràcies pels seus comentaris !!!. Freeke, el FreeNAS de FreeBSD és una altra història, salvatge, i pot ser que li dediqui algun article. A la fin es Samba sobre FreeBSD.

  4.   Erick va dir

    Molt bon el post he de dir, com sempre ho he dit si vostè hagués postejat això fa uns anys, m'hagués evitat un munt de problemes, però que bo que algú s'interessi a mostrar com configurar samba, Salutacions

    1.    Federico Antonio Valdés Toujague va dir

      Com diu el refrany «mai és tard si la dita és bona» i l'altre «és millor tard que mai». Gràcies per fer comentaris. Vaig començar a fer servir Samba crec per allà pel 2007. Fins ara no havia pogut publicar res sobre ell.

      1.    Erick va dir

        De la mateixa manera gairebé porto usant samba el mateix temps, però veig que vostè s'ha perfeccionat bastant i té raó de "mai és tard si la dita és bona", em va semblar, he de dir que és molt bo que algú comparteixi els seus coneixements, moltes vegades un no s'anima o no té temps, en el meu cas és la primera, Salutacions

  5.   Giskard va dir

    Amic @fico, m'agraden molt els teus articles. Estan summament ben explicats i detallats. Gràcies.

    1.    Federico Antonio Valdés Toujague va dir

      Espero et siguin útils. Aquest és el propòsit !!!.

      1.    Giskard va dir

        Sí. Ho és 🙂

        Per cert, acabo de veure que van publicar el teu article en una altra pàgina (http://www.infognu.com.ar/2013/08/samba-servidor-independiente-en-debian.html) I la referència a la font és realment petita. Això no es fa. Mèrit a qui ho mereix, cony! No sé si des d'aquí puguin demanar-li a aquesta gent que posi en gran qui fa les coses. Per l'ull no entrenat passaria com que ells ho van crear i el postearon.

  6.   oscar va dir

    Senyor autor de l'post que tal si feu un article d'com compartir arxius via samba per als usuaris del carrer, em refereixo a una mica menys extens i més gràfic com ara com compartir de linux a linux i de linux a windows però no d'una manera tan professional sinó com per compartir arxius entre els PC a la llar.

    1.    Federico Antonio Valdés Toujague va dir

      Per a aquest cas, recomano usar ssh per a Linux - Linux i winscp per a Windows - Linux. Existeixen en aquest mateix lloc diversos articles a l'respecte.
      Aquest mateix post, encara que sembli complicat, si fas copiar i enganxar els pocs comandaments que inclou, funciona també per a un xarxa a la llar.

      1.    eliotime3000 va dir

        Encara que seria més pràctic que es fes servir el sistema SMB / CIFS per utilitzar el mateix protocol de compartició de fitxers per a Windows (o carpetes compartides, per abreujar).

        Faré els meus experiments per poder fer un Estatut sobre com fer una carpeta compartida en GNU / Linux (en el meu cas, Debian Wheezy) perquè les xarxes amb Windows la reconeguin com a carpeta compartida.

  7.   alevel va dir

    molt bo i el d'extens s'amerita, però potser hauries esmentar aviat el paràmetre oslevel abans d'interactuar amb windows.
    Salutacions

    1.    Federico Antonio Valdés Toujague va dir

      Fixa't que es tracta d'una xarxa sense Controlador de Domini al Windows. Aquest paràmetre ja el farem servir quan tractem sobre una màquina unida a un Domini.

  8.   lastnewbie va dir

    quan tingui una mica de temps, ho faré
    [Offtopic] volgués publicar tutorials de GIMP. ¿Es pot?
    [/ Offtopic]

  9.   Federico Antonio Valdés Toujague va dir

    Amic @giskard, acabo de visitar http://www.infognu.com.ar/2013/08/samba-servidor-independiente-en-debian.html, I no vaig veure cap referència a aquest post. Van fer un copy / paste a l'desvergonyiment, Hahahahahahaha. Demostra que, al menys, el post és de bona qualitat. Dic jo, no ?, Hahahahahahaha.

    1.    Giskard va dir

      Gairebé a la fi en lletres diminutes hi ha el link que diu «font» i apunta a aquest web. Però el haver-ho fet així em sembla una descortesia total i una falta de respecte. Per fortuna, aquí sí que sabem qui és l'autor 🙂

    2.    juliol cessar va dir

      Sí posen la referència però a penes es pot notar havien d'haver fet esment a el principi de l'article

  10.   truko22 va dir

    En la wiki de fitxer diu que a partir de la versió 3.4 es recomana l'ús de pdbedit en comptes de smbpasswd.

    Una pregunta, segons un amic abans d'afegir un usuari a Samba s'ha de cear un usuari en el sistema però amb / bin / false
    useradd -s / bin / false elmeuusuari
    És cert 0.o?

  11.   Federico Antonio Valdés Toujague va dir

    Amic @ truko22, i en general, per als que facin preguntes semblants. Recordin que sempre hem declarat que nosaltres només fem un Punt d'entrada a el tema tractat. També recomanem llegeixin la documentació acompanyada. A la fin, la personalització de el servei va a càrrec de qui ho implementi, de manera que respongui a les seves necessitats i a el nivell de seguretat que el satisfaci.

    Per exemple, es pot estalviar la qüestió dels permisos, si permetem que qualsevol escrigui en el recurs compartit mitjançant chmod 777. Per descomptat que aquesta no és una solució segura.

    Es pot evitar que l'usuari iniciï una sessió local o via ssh si ho vam crear mitjançant adduser usuari -shell / bin / false. O sigui, l'usuari així creat no pot accedir a una terminal o consola.

    En altres paraules, Samba es pot configurar de moltes formes que van des de les més senzilles a les més complexes.

    Què passa ?. Si d'entrada vam redactar el post sense permetre que els usuaris afegits a Samba iniciïn sessió local, segur preguntessin el perquè. Per això preferim redactar-ho de la forma més clàssica possible, i deixar que cadascú tregui les seves pròpies conclusions.

    @ Truko22, Gràcies per donar-me el punt correcte per fer el comentari anterior !!!.

    1.    truko22 va dir

      Moltíssimes gràcies ara entenc 😀 el de l'-shell / bin / false

  12.   Federico Antonio Valdés Toujague va dir

    Amic @ truko22, vaig oblidar el de pdbedit. Des Etch em vaig acostumar a fer servir smbpasswd. Aquesta comanda el pot executar qualsevol usuari de el sistema, i el seu comportament i resultats varien. pdbedit, També es pot utilitzar, però només ho pot invocar l'usuari root.

    Sobre Samba, es poden escriure articles sencers de molts dels seus comandaments.

  13.   Lleó va dir

    Aquesta molt bo !!
    Salutacions

  14.   Marc va dir

    Bonissim l'article. Felicitats i gràcies per semblant aportació

  15.   joseuzin va dir

    volia preguntar-te si hi havia un article sobre samba com a controlador de Domini i si ja pot controlar el domini amb polítiques de grup com un windows server, em refereixo a impedir canviar propietats de les adreces de xarxa, utilitzar pendrives, etc.

  16.   Ricardo Mejias va dir

    Hola que tal Fico, jo tinc instal·lat Samba 3.6 amb LDAP i LAM 3.7 - M'agradaria saber si saps com permetre a l'usuaris canviar la clau a l'iniciar SECCIO ja que m'indica «no té permís de canviar la contrasenya» salutacions ...