• User Attivo

    [Risolto] Samba ed accesso protetto

    Ciao a tutti,
    qualche mese fa ho sistemato un computer con fedora core 7 + samba per condividire delle cartelle in una rete con 20 pc windows. Tutto funziona alla perfezione: gli altri client della rete con windows leggono e scrivono sulla cartella in condivisione.

    Devo ora upgradare il sistema per consentire l'accesso alle cartelle condivise solo a determinati user. Ho aggiunto pertano l'utente su linux (utente_smb), l'ho aggiunto con smbpasswd -a e l'ho scritto a manina sul file /etc/samba/smbusers (sia in root che in nobody).

    Il problema è che quando accedo da windows alla computer linux (da risorse di rete) mi compare la mascherina per inserire username e password, inserendo i valori giusti entro e vedo le cartelle condivise ma su queste non riesco ad entrare (windows dice che non ho i permessi). Ovviamente la cartella in cui tento di accedere è di proprieta dello stesso user (utente_smb) ed ha permessi 777.

    Selinux è in modalità permissive e il firewall è abbassato.

    Sotto riporto una delle tantissime configurazioni provate di smb.conf che mi da però sempre lo stesso errore, sperando nell'aiuto illuminante di qualche anima pia...
    :ciauz:

    [global]
    workgroup = centro
    netbios name = serverdati
    server string = Server dati
    guest account = serverdati
    domain master = no
    local master = yes
    preferred master = yes
    os level = 65
    wins support = yes
    hosts allow = 192.168.
    hosts deny = all
    security = share
    log file = /var/log/samba/%m.log
    max log size = 10000
    log level = 3
     
    [test]
    comment = Test
    path = /home/serverdati/test
    browseable = yes
    public = yes
    writable = yes
    guest ok = yes
    read only = no
    force user = utente_smb
    force group = centro
    create mask = 0777
    write list = @centro
    read list = @centro
    

  • User Attivo

    ma ceccus! bello ritrovarti!

    che ne dici di aggiungere un valid users = @centro ?
    e magari anche public = no ...

    a me funziona molto bene così 🙂


  • User Attivo

    Buon Amarant! Il piacere è mio... e non immagini quanto!:D

    ***valid user ***è un'opzione che vedo spesso nelle guide, ma quando la utilizzo e testo la configurazione con testparm, il sistema me lo da come comando sconosciuto e pertanto lo ignora (non ricordo la dicitura esatta in inglese ma il senso è questo).
    Ovviamente l'effetto è nullo.

    Ho anche provato public = no, ma ovviamente mi pianto sempre lì...

    Devo correggere un piccolo errore della configurazione sopra, security = share mi da accesso con mascherina il cui user è preimpostato su guest e campo password libero, mentre security = user mi da la mascherina con entrambi i campi liberi.

    Quello che non capisco è che con security = user, inserendo username e password corretti entro e vedo la cartella Test ma se provo ad accedere mi dice che non ho i permessi.

    Qualche mese fa, quando sistemai la condivisione pubblica, avevo lo stesso errore e il responsabile fu individuato in Selinux che oggi però è sotto controllo.

    Un dubbio che non sono riuscito a risolvere è che quando aggiungo un utente samba con il comando smbpasswd, questo non mi compare nel file smbusers e lo devo aggiungere a manina....:bho:

    Altre idee?
    :ciauz:


  • User Attivo

    @ceccus said:

    Buon Amarant! Il piacere è mio... e non immagini quanto!:D

    ***valid user ***è un'opzione che vedo spesso nelle guide, ma quando la utilizzo e testo la configurazione con testparm, il sistema me lo da come comando sconosciuto e pertanto lo ignora (non ricordo la dicitura esatta in inglese ma il senso è questo).
    Ovviamente l'effetto è nullo.

    Ho anche provato public = no, ma ovviamente mi pianto sempre lì...

    Devo correggere un piccolo errore della configurazione sopra, security = share mi da accesso con mascherina il cui user è preimpostato su guest e campo password libero, mentre security = user mi da la mascherina con entrambi i campi liberi.

    Quello che non capisco è che con security = user, inserendo username e password corretti entro e vedo la cartella Test ma se provo ad accedere mi dice che non ho i permessi.

    Qualche mese fa, quando sistemai la condivisione pubblica, avevo lo stesso errore e il responsabile fu individuato in Selinux che oggi però è sotto controllo.
    se fai un ls -la, come vedi questa cartella test? che permessi ha e a chi appartiene?

    @ceccus said:

    Un dubbio che non sono riuscito a risolvere è che quando aggiungo un utente samba con il comando smbpasswd, questo non mi compare nel file smbusers e lo devo aggiungere a manina....:bho:

    Per me gli utenti vengono aggiunti una volta che faccio smbpasswd -a (che sta per add) sul file smbpasswd, con le respettive password.
    @ceccus said:

    Altre idee?
    :ciauz:

    un directory mask?

    dai ceccus, iniziamo a giocare 😄


  • User Attivo

    @Amarant said:

    se fai un ls -la, come vedi questa cartella test? che permessi ha e a chi appartiene?

    Appartiene ad utente_smb, con permessi 777

    @Amarant said:

    Per me gli utenti vengono aggiunti una volta che faccio smbpasswd -a (che sta per add) sul file smbpasswd, con le respettive password.

    Ed infatti qui qualcosa mi sfugge. Pure io ho utilizzato smbpasswd -a e sul file smbpasswd compaiono, ma in /etc/samba/smbusers no, li devo mettere a manina. Tu in questo file cos'hai?

    @Amarant said:

    un directory mask?

    Fico, mi suona nuovo, cosa intedi? Mi sfugge un trave?:D

    @Amarant said:

    dai ceccus, iniziamo a giocare 😄
    A te la palla!
    :fumato:


  • User Attivo

    @ceccus said:

    Appartiene ad utente_smb, con permessi 777
    per il momento tutto bene qui...

    @ceccus said:

    Ed infatti qui qualcosa mi sfugge. Pure io ho utilizzato smbpasswd -a e sul file smbpasswd compaiono, ma in /etc/samba/smbusers no, li devo mettere a manina. Tu in questo file cos'hai?

    io quel file proprio non c'è l'ho :sbonk:

    @ceccus said:

    Fico, mi suona nuovo, cosa intedi? Mi sfugge un trave?:D hmm leggendo bene il man di smb.conf non è quello che pensavo

    @ceccus said:

    A te la palla!
    :fumato:

    aspetta un attimo, tu hai provato "valid user" o "valid users" ?
    perché nel caso hai usato il primo, quello è invalido... non sarà mica quello il problema?


  • User Attivo

    @Amarant said:

    aspetta un attimo, tu hai provato "valid user" o "valid users" ?
    perché nel caso hai usato il primo, quello è invalido... non sarà mica quello il problema?
    Mi pare prorpio la prima ...tempo...


  • User Attivo

    Si avevo messo valid user senza la*** s*** finale... ottima capacità di cogliere il particolare Amarant!

    Ora ho modificato le impostazioni, ma ancora nulla da fare: il problema è sempre lo stesso, riesco ad autenticarmi e ad entrare ma non ho i permessi per aprire la cartella test. Ora abbiamo:

    
    [test]
    comment = Test
    path = /home/netserver/test
    browseable = yes
    public = no
    writable = yes
    guest ok = yes
    read only = no
    force user = utente_smb
    create mask = 0777
    write list = utente_smb @centro
    read list = utente_smb @centro
    valid users = utente_smb @centro
    
    

    A volte ci vuole pazienza nella vita...
    :ciauz:


  • User Attivo

    la pazienza c'è 🙂

    io separerei l'utente e il gruppo con una virgola, nel senso:
    valid users = utente_smb, @centro (oppure, tanto per provare, lascia solo l'utente)

    così almeno è specificato nel man page.
    poi, mi pare che guest ok e public siano la stessa cosa.


  • User Attivo

    Al momento non ho a portata di mano il pc con Samba, ma ricordo esattamente che dando il comando testparm le virgole me le faceva vedere lui, anche senza averle messe. In realta *@centro *dovrebbe essere un'opzione ridondante, visto che utente_smb fa parte del gruppo centro. Ovviamente ho provato anche solo con utente_smb o solo con @centro.

    Credo che mi stia bloccando altrove: l'alert di windows, dice che non ho i permessi e alla riga sotto dice "impossibile trovare il percorso"... ovviamente il percorso è esatto: ho provato anche a mettere e togliere la slash finale ma non cambia nulla.

    Non riesco proprio a capire che altro guardare, anche perché Samba è abbastanza flessibile: con tutte le prove che ho fatto sempre lo stesso errore mi sembra strano! :bho:

    Potrebbe essere qualcosa legato alla diversa modalità di gestire le password tra windows e linux?


  • User Attivo

    non è mica vista vero? perché con vista bisogna modificare qualcosa sul registro (se non hai l'ultima versione di samba).
    Magari puoi iniziare un po da capo, nel senso che condividi la cartella per tutti, e dopo questo proviamo a fare le restrizioni all'utente utente_smb...

    🙂 dai, non ti arrendere!


  • User Attivo

    No, sono una 20-ina di pc xp/2000.
    La condivisione "per tutti" (a livello di guest cioè) già è attiva e funzionante...

    Ti ringrazio per l'incoraggiamento!


  • User Attivo

    guarda, ti mostro come sarebbe il mio smb.conf, per l'ipotetica cartella test

    [test]
    comment = Centro
    path = /home/netserver/test
    public = no
    writable = yes
    printable = no
    write list = @centro
    valid users = +centro
    create mask = 664
    directory mask = 775
    force group = centro

    poi, cosa ti dicono i log? (samba.nmbd)

    la cartella test appartiene a nobody.centro ?


  • User Attivo

    valid users = +centro
    perché "+"? Se ho capito bene "@" per i gruppi, mentre gli utenti senza alcun prefisso.

    Domattina controllo il log. Per la cartella test, questa appartiene a utente_smb e gruppo centro: perché* nobody?*


  • User Attivo

    l'uso di "+" prima del gruppo dice a samba di cercare il nome solo nella base dati di gruppi UNIX (e non sui NIS netgroups, se samba è stato compilato col supporto netgroup... vedi il man 😉 )

    riguardo i permessi, se vuoi soltanto avere quell'utente, va bene come l'hai messo. Invece, se vuoi dare accesso ad un gruppo di utenti, allora non puoi specificare un solo utente come amo e signore della cartella, devi dire utenti: nessuno e gruppo: centro

    sicuramente nei log troverai qualcosa! 🙂
    facci sapere ceccus!

    Amarant


  • User Attivo

    Ho provato la configurazione che mi hai dato, ma il problema permane. Nel log che hai indicato non ho trovato nulla di interessante. Ho provato allora a chiamare la condivisione superpippo piuttosto che test, ad accedere da un client, e successivamente all'errore ho lanciato nella cartella dei log il comando grep superpippo ./*: la parola superpippo è stata trovata solo nel log relativo al cliente utilizzato per la connessione: sotto riporto le righe interessanti.

    Tento ora di cercarne uil significato...
    :ciauz:

     [2007/12/11 09:33:21, 3] smbd/msdfs.c:get_referred_path(633)
      get_referred_path: |superpippo| in dfs path \Netserver\superpippo is not a dfs root.
    
    [2007/12/11 09:33:21, 3] smbd/service.c:make_connection_snum(806)
      Connect path is '/home/netserver/test' for service [superpippo]
    
    [2007/12/11 09:33:21, 3] smbd/connection.c:yield_connection(69)
      Yielding connection to superpippo
    
    [2007/12/11 09:33:21, 0] smbd/service.c:make_connection_snum(1003)
      '/home/netserver/test' does not exist or permission denied when connecting to [superpippo] Error was Permission denied
    

  • User Attivo

    @ceccus said:

    '/home/netserver/test' does not exist or permission denied when connecting to [superpippo] Error was Permission denied[/code]

    ma questo lo sapevamo già :lol:

    ceccus, puoi (solo a modo di test) condividere quella stessa cartella per tutti?


  • User Attivo

    Si, decisamente si! La posso condividere se metto security=share.

    is not a dfs root
    Questo mi sembrava interessante (dfs sta Distributed File System😞 root nel senso di radice, sembrerebbe che debba essere definita a priori e che non sia stata ben definita...


  • User Attivo

    hmmm forse qui c'è qualcosa...
    Allora, il mio samba è meno recente, magari tu hai una delle ultime versioni?
    Poi ho visto che adesso il default è usare un dfs tree, e poi anche non farlo specificando nel smb.conf "msdfs root = no"


  • User Attivo

    @Amarant said:

    Allora, il mio samba è meno recente, magari tu hai una delle ultime versioni?
    Si, non ricordo la versione, ma fa parte di una fedora core 7 installata a giugno.

    @Amarant said:

    Poi ho visto che adesso il default è usare un dfs tree, e poi anche non farlo specificando nel smb.conf "msdfs root = no"
    Domani provo, la cosa che però mi lascia perplesso è che il problema si presente solo quando richiedo l'autenticazione (security = share). Lo stesso messaggio di errore, googolando un po', sembrerebbe tipico di un accesso dopo un aggiornamento di samba senza reboot del client... la cosa però non mi suggerisce nulla.

    Grazie veramente del supporto Amarant!
    :ciauz: