J'ai un problème étrange, pour lequel je n'ai trouvé aucune réponse sur le Web.
J'ai Ubuntu 12.04 LTS avec Samba 3.6. 3 (ntp krb5-user smbfs smbclient winbind)
Au début, tout fonctionne bien, les groupes dans AD ont le bon accès aux fichiers et les autorisations utilisateur fonctionnent, sauf pour une anomalie:
Il y a 2 utilisateurs avec le même prénom:
simon folie et simon wally
Si je me connecte à Windows en tant que simon wally et que j'essaie d'accéder à son partage, ma permission est refusée. Quand je vois samba.log, c'est:
[2014/03/24 20: 39: 04.702632, 2] smbd/service.c: 627 (create_connection_session_info), l'utilisateur 'WINDOMAIN\simon folly' (depuis la configuration de la session) n'est pas autorisé à accéder à ce partage (simonw)
Comme vous pouvez le voir ci-dessus, le mauvais nom d'utilisateur a été authentifié. Il semble qu'il trouve le prénom dans la liste et le sélectionne.
Donc, pour tester ma théorie, j'ai changé le nom d'utilisateur dans le fichier smb.conf en "folie simon" et bien sûr lorsque je suis connecté en tant que simon wally, j'ai un accès complet à ma part ??
Est-ce arrivé à quelqu'un et comment y remédier?
Voici ma part dans smb.conf
note: when I change wally to folly then wally has full access.
otherwise below gets denied.
[simonw]
comment = Simon Only
path = /sharing/ceo
valid users = "WINDOMAIN\simon wally"
force group = "domain users"
writable = yes
read only = no
force create mode = 0660
create mask = 0777
directory mask = 0777
force directory mode = 0770
access based share enum = yes
hide unreadable = yes
merci d'avance pour votre aide :)
Ce problème est dû au manque de prise en charge des espaces dans les noms d'utilisateurs avec samba, car ils sont utilisés comme séparateurs.
La solution suivante peut être utilisée pour résoudre ce problème, cela crée un alias pour le nom d'utilisateur avec des espaces:
Définissez une carte de nom d'utilisateur en plaçant les éléments suivants dans votre configuration samba:
username map = /usr/local/private/usermap.txt
Ajoutez le contenu suivant à /usr/local/private/usermap.txt
WINDOMAIN\simonwally = "WINDOMAIN\simon wally"
WINDOMAIN\simonfolly = "WINDOMAIN\simon folly"
Cela crée un alias, donc le nom peut être l'utilisateur sans espaces
Modifiez la section des utilisateurs valides dans votre configuration pour:
valid users = "WINDOMAIN\simonwally"
En raison des mappages que nous avons effectués auparavant, cela correspondra au compte d'utilisateur avec un espace et, à cause de cela, il acceptera l'utilisateur au partage.
Vérifiez si la configuration de samba contient des erreurs (toujours recommandé après une modification) Exécutez le code suivant sur un terminal comme bash:
testparm && echo "Syntax OK" || echo "Syntax Error"
Redémarrez la samba:
Sudo service smbd restart
Ref 1 : explique comment utiliser les espaces à l'intérieur de la configuration.
Ref 2 : Code pour vérifier si la configuration de samba contient des erreurs.