- Home
- Categorie
- Gli Off Topic
- Tutti i Software
- [Risolto] Samba ed accesso protetto
-
[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...
[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
-
ma ceccus! bello ritrovarti!
che ne dici di aggiungere un valid users = @centro ?
e magari anche public = no ...a me funziona molto bene così
-
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?
-
@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?
un directory mask?
dai ceccus, iniziamo a giocare
-
@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!
-
@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
@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!
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?
-
@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...
-
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...
-
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.
-
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?
-
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!
-
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!
-
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 = centropoi, cosa ti dicono i log? (samba.nmbd)
la cartella test appartiene a nobody.centro ?
-
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?*
-
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
-
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...
[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
-
@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à
ceccus, puoi (solo a modo di test) condividere quella stessa cartella per tutti?
-
Si, decisamente si! La posso condividere se metto security=share.
is not a dfs root
Questo mi sembrava interessante (dfs sta Distributed File Systemroot nel senso di radice, sembrerebbe che debba essere definita a priori e che non sia stata ben definita...
-
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"
-
@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!