Oh mie salvatori, perchè solo a me capitano cose strane le cui risposte sul web non trovo?
Situazione: Debian 8 server, nuovo di pacca, nessuna modifica o installazione, installo samba, modifico il file smb.conf come dopo posterò, riavvio i due servizi: "service smbd restart" ed "service nmbd restart".
[global] workgroup = WORKGROUP server string = Samba Server %v netbios name = ServerD #security = share #share modes = yes security = user #============================ Share Definitions #============================== [Radice] path = / security = user #browsable = yes writable = yes read only = no #public = yes #create mask = 0755 #directory mask = 0755 valid users = adm , root
Premetto che come tutti potete vedere ciò che sto facendo è pericoloso e pure bruttino, ma essendo sicuro che nella rete lan ci sono solo io ed il server, per di più i miei unici canali di comunicazione con lui sono i due protocollo ssh e samba (ftp preferirei lasciarlo in sospeso), mi viene molto comodo poter accedere all'intero sistema attraverso samba.
Tornando al problema, attraverso un winzoz la connessione come risorsa di rete avviene perfettamente, autenticazione e visualizzazione della cartella "Radice", che posso aprire ed leggere, ma qui inizia la falla: posso solo scrivere, non modificare, non eliminare e nemmeno leggere sia file che cartelle.
Eppure sono loggato come utente root, studiando un pochino ho capito che i permessi di samba in realtà sono strettamente legati a quelli del sistema, quindi quando si presentano errori di questo tipo è perchè neanche da sistema si hanno quei permessi, eppure ad esempio tramite ssh, ovviamente ho tutti i permessi che voglio con utente root.
Posso anche dirvi che a meno che non ci sia stato un aggiornamento del pacchetto samba, quel file smb.conf funziona perfettamente, siccome è lo stesso di un altro sistema uguale, però di 3 mesi fa circa.
Ed in ogni caso ho già provato a seguire vari post su problemi dei privilegi con samba ma nulla.
//aggiungo un informazione//
nel frattempo ho strutturato altre condivisioni samba, preciso che funziona tutto se alla cartella in condivisione vengono assegnati i privilegi, esempio stupido: nella cartella "paperino" -> chmod -R 777 paperino/
Il vero problema è che se io accedo tramite root, DEVO avere i privilegi su "tutto" e invece non è così... e non mi pare il caso neanche di provare a fare un chmod -R 777 sulla radice ("/") ...
Qualche delucidazione? Grazie
Eccoti qua la soluzione
[Ops_Docs]
path = /home/shares
valid users = jferguson rosemary
admin users = jferguson rosemary
read list = jferguson rosemary
write list = jferguson rosemary
force user = root
force group = sambashare
writeable = Yes
create mask = 0774
directory mask = 0775
inherit permissions = Yes
Oltre a samba devi sempre considerare i permessi su file se noti quando installi samba si crea un gruppo che si chiama sambashare
A quel punto battezzi una percorso per le condivisioni esempio /home/shares e fai un bel
chown root:sambashare -R /home/shares
a quel punto utilizzando le opzioni
force user = root
force group = sambashare
Samba utilizzerà quel utente e quel gruppo in quel percorso e tu puoi gestire i permessi tramite le opzioni:
valid users = jferguson rosemary
admin users = jferguson rosemary
read list = jferguson rosemary
write list = jferguson rosemary
Mi spiego con la configurazione sopra indicata l'utente root non funziona perché non è ne valid users ne admin users ne read list ne write list.
valid users = adm root
admin users = adm root
read list = adm root
write list = adm root
Cosi gli utenti adm e root hanno il controllo completo della cartella
La cosa cmq strana e che tu abbia il problema con l'utente root posta il risultato di ls -al / per favore