J’ai créé une AD Samba 4 sur le serveur “vmdc1”, et j’ai mis des comptes dans l’AD avec RSAT (windows).
J’arrive a me connecter avec un compte AD à mon membre Linux (vmTestSmb) mais si le répertoire “homedir” n’existe pas il me met une erreur.
Comment faire pour créer automatiquement le répertoire /home/%D/%U indiqué dans la configuration “template homedir = /home/%D/%U” du fichier smb.conf ?
Config: debian 10 et Samba 4.9
/etc/samba/smb.conf :
[global]
workgroup = HOME
security = ADS
realm = HOME.LAN
winbind refresh tickets = Yes
vfs objects = acl_xattr
map acl inherit = Yes
store dos attributes = Yes
log file = /var/log/samba/%m.log
log level = 10
dedicated keytab file = /etc/krb5.keytab
kerberos method = secrets and keytab
# pas d'impimante
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
#debug
winbind enum users = yes
winbind enum groups = yes
# configuration rid
# Default ID mapping configuration for local BUILTIN accounts
# and groups on a domain member. The default (*) domain:
# - must not overlap with any domain ID mapping configuration!
# - must use a read-write-enabled back end, such as tdb.
idmap config * : backend = tdb
idmap config * : range = 3000-7999
# - You must set a DOMAIN backend configuration
# idmap config for the HOME domain
idmap config HOME : backend = rid
idmap config HOME : range = 10000-999999
# Template settings for login shell and home directory
template shell = /bin/bash
template homedir = /home/%D/%U
# mapping de root et de l'administrateur du domaine
username map = /etc/samba/user.map
J’ai réussi a le faire avec “pam_mkhomedir” ( https://linux.die.net/man/8/pam_mkhomedir ) mais je suis restreint à utiliser “/home/%U” comme répertoire “template homedir”
bonjour, je suis pas expert ni connais samba 4 , j’utilise Samba 3 pour un partage de dossier entre un serveur Debian et Windows 7 .
Mais a mon avis il faut la aussi ajouter un répertoire de partage dans le fichier smb.conf
[Mon Dossier]
path = /chemin de partage/
read only = no
force create mode = 0600
force directory mode = 0700
Crée le dossier si n’existe pas:
# mkdir /chemin du dossier/
les permissions du dossier pour l’utilisateur:
# chown ton_utilisateur /chemin du dossier/
# chmod 700 /chemin du dossier/
Merci de ta réponse mais ce n’est pas ce que je cherche.
Ce que je veux c’est que Samba crée automatiquement le répertoire “/home/%D/%U” qui correspond à “template homedir” et il n’y a pas de raison de le partager.
Si l’utilisateur “toto” se connecte pour la 1ère fois à une machine Linux membre de mon domaine (HOME) alors Samba doit créer /home/HOME/toto
Ce que tu me donne comme info, c’est comment créer un partage…et tu crée le répertoire manuellement et c’est justement ce que je ne veux pas faire.
Pourquoi tu te complexifies la situation en choisissant un home différent que la convention unix ?!
Crées ton home user dynamiquement avec pam_mkhomedir, ou tout autre script, ajoutes ton utilisateur à ton domaine, la machine x à ton domaine, et “roulez jeunesse”, non ?!
Pourquoi : parce que c’est possible et que j’aimerais savoir comment, rien que cela justifie ma question . Et vu ton profil j’imagine que cela devrait te parler.
Ensuite pour faire la différence entre les comptes locaux et les comptes AD au niveau des répertoires.
du samba, oui, j’en fais mais de manière basique ; mais là, non, jamais fait !
Je comprends très bien ta raison, mais sans preuve de solution, je trouve que cela complique bien les choses.
Si j’en crois la documentation officielle de Samba, ta création de home passe par du shell, avant l’usage dans Samba !
Alors, tu peux aussi utiliser les outils Samba, pour cela :
Comme tu le verras, tu pourras spécifier un user home, j’imagine qu’ainsi tu pourrais résoudre ton équation.
Mais je ne garantis pas le résultat, surtout si tu oublies de préciser ensuite dans ta config samba que l’utilisateur x a son home dans /home/domain/user_x !
Ben comme Samba a un paramètre « template homedir » je me disais simplement qu’il devait y avoir un moyen de créé ce répertorie à la volé…
J’ai essayé avec un script exécuté avec « root preexec » mais je n’ai même pas réussi a déclencher le script, enfin je suppose parce que rien n’était crée. Et en plus je me suis aperçu que ce paramètre était liée à une section et pas global donc probablement pas utilisable avec « template homedir » qui est global (soyons logique).
If you are using the Active Directory Users and Computers application, the user’s home directory is automatically created and the correct permissions applied when you set the path to the user folder in the application.
Hors je crée mes users avec RSAT (« Active Directory Users and Computers » est un module de RSAT si tu n’es pas familier la gestion d’AD), donc si j’ai bien compris le homedir devrait être créé automatiquement.
Non, je parlais plutôt du moustachu adepte du monde libre qui pour moi va avec la curiosité, d’où ma remarque.