« Samba4 AD: Création automatique de home drive » : différence entre les versions
Page créée avec « == Problématique == Pour un contrôleur de domaine il est souvent d'usage de mettre a disposition des utilisateurs un répertoire personnel (home drive). Mais avec samba,… » |
Aucun résumé des modifications |
||
(9 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{ArticleHead|Adadov}} | |||
== Problématique == | == Problématique == | ||
Pour un contrôleur de domaine il est souvent d'usage de mettre a disposition des utilisateurs un répertoire personnel (home drive). | Pour un contrôleur de domaine il est souvent d'usage de mettre a disposition des utilisateurs un répertoire personnel (home drive). | ||
Mais avec samba, alors que la création du profile est automatique, ce répertoire doit être crée manuellement. Ce qui, avouons le, pose bien souvent problème. | Mais avec samba, alors que la création du profile est automatique, ce répertoire doit être crée manuellement. Ce qui, avouons le, pose bien souvent problème. | ||
== Solution == | |||
J'ai donc cherché et trouvé une solution à ce problème pour que le répertoire soit créé et les droits définis lors du premier accès. | J'ai donc cherché et trouvé une solution à ce problème pour que le répertoire soit créé et les droits définis lors du premier accès. | ||
En passant par root prexec et en faisant faire un peu de gym à notre script (qui vous le constaterez est resté maigre ...). | |||
On arrive à créer le répertoire, récupérer le SUID de l'utilisateur et définir les droits. | |||
Que vous ayez les comptes samba reconnus par linux ou non ce script fonctionne. | |||
== Configuration du répertoire partagé == | == Configuration du répertoire partagé == | ||
< | <syntaxhighlight lang=ini> | ||
[home] | [home] | ||
path = /export/homes/%U | path = /export/homes/%U | ||
read only = No | read only = No | ||
root preexec = /usr/bin/createhomedir %U | root preexec = /usr/bin/createhomedir %U | ||
</ | </syntaxhighlight> | ||
== Script == | == Script == | ||
{{:Config:samba4-script-homedrive}} | {{:Config:samba4-script-homedrive}} | ||
[[Category:SysAdmin]] | |||
[[Catégorie:Authentication]] |
Dernière version du 6 février 2023 à 05:25
Problématique[modifier | modifier le wikicode]
Pour un contrôleur de domaine il est souvent d'usage de mettre a disposition des utilisateurs un répertoire personnel (home drive). Mais avec samba, alors que la création du profile est automatique, ce répertoire doit être crée manuellement. Ce qui, avouons le, pose bien souvent problème.
Solution[modifier | modifier le wikicode]
J'ai donc cherché et trouvé une solution à ce problème pour que le répertoire soit créé et les droits définis lors du premier accès.
En passant par root prexec et en faisant faire un peu de gym à notre script (qui vous le constaterez est resté maigre ...). On arrive à créer le répertoire, récupérer le SUID de l'utilisateur et définir les droits.
Que vous ayez les comptes samba reconnus par linux ou non ce script fonctionne.
Configuration du répertoire partagé[modifier | modifier le wikicode]
[home]
path = /export/homes/%U
read only = No
root preexec = /usr/bin/createhomedir %U
Script[modifier | modifier le wikicode]
#!/usr/bin/env bash
TMP=$(echo $1 | grep -qE '_$')
if [ $_ -eq 0 ]; then
exit 0
fi
if [ ! -d <répertoire_de_base>/$1 ]; then
HDIR="<répertoire_de_base>/${1}"
SUID=$(wbinfo --sid-to-uid $(wbinfo --name-to-sid $1 | awk '{print $1}'))
mkdir ${HDIR}
chown ${SUID} ${HDIR}
chmod 700 ${HDIR}
fi