Scipts bash de connection pour freenas

Fermé
mornaloce - 3 sept. 2010 à 10:57
Leahkim Messages postés 3081 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 - 9 sept. 2010 à 12:16
Bonjour,

Voilà je vous expose mon problème :

J'ai installé un freenas sur une VM pour l'entreprise ou je travail. J'ai ajouté un deuxième disque au disque système pour stocker les données des fichiers partagés. J'ai ensuite fais un point de montage dessus et créer mon dossier de partage. J'ai choisi le service samba pour partager mon dossier. L'authentification se fait grâce à l'AD.

Le problème est le suivant :
J'aimerais qu'à la connexion d'un utilisateur sur le centre de partage, un script vérifie si l'utilisateur à un dossier propre déjà créé ou non. Si ce n'est pas le cas le script devra créé le dossier avec pour droits : seul l'utilisateur et l'admin pourront y accéder. Où est-ce que je dois mettre mon script et comment faire pour le lancer à la connexion d'un utilisateur ?
(Je compte faire un script bash).

31 réponses

Leahkim Messages postés 3081 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 279
9 sept. 2010 à 09:19
mais tu ne peux pas spécifier de parametre supplémentaire pour les logs ?

quand je t'ai dit de mettre log level=3 auth:4 tu avais juste mis log level=3 ?

0
mornaloce Messages postés 47 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 21 mars 2014 2
9 sept. 2010 à 10:20
Oui j'ai pu ajouter le paramètre mais il l'a ajouté à la fin de la section [global] de mon smb.conf donc je ne sais pas s'il est pris en compte mêm si je pense que oui.
Je te met les config de mon samba pour que tu vois.

[global]
encrypt passwords = yes
netbios name = freenas
workgroup = XXXXX
server string = Server
security = domain
dns proxy = no
# Settings to enhance performance:
use sendfile = yes
strict locking = no
read raw = yes
write raw = yes
oplocks = yes
max xmit = 65535
deadtime = 15
getwd cache = yes
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=64240 SO_RCVBUF=64240
# End of performance section
wins server = XXXXX
unix charset = UTF-8
large readwrite = no
store dos attributes = yes
local master = yes
time server = yes
guest account = ftp
display charset = XXXXX
max log size = 10
syslog only = yes
syslog = 10
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
log level = 10
dos charset = CP437
smb passwd file = /var/etc/private/smbpasswd
private dir = /var/etc/private
passdb backend = smbpasswd
allow trusted domains = no
dns proxy = no
ldap ssl = no
idmap domains = XXXX
idmap config NT_GQF:backend = rid
idmap config NT_GQF:range = 10000-999999
idmap uid = 10000-999999
idmap gid = 10000-999999
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = yes
template homedir = /mnt
template shell = /bin/sh
logon script = droit_Utilisateurs.bat
auth : 4
0
Leahkim Messages postés 3081 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 279
9 sept. 2010 à 10:21
Tu ne précises pas de logfile ??

rajoute ça:

log file = /var/log/samba/log.%m

a moins que ça soit deja le cas ?
0
mornaloce Messages postés 47 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 21 mars 2014 2
9 sept. 2010 à 10:35
Au début je ne l'avais pas mis car je pensais qu'il avait un fichier par défaut.
Après j'avais rajouté cette ligne mais je l'ai enlevé car ça ne fonctionnait pas plus. Par contre j'avais mis avec log file = /var/log/samba/log.smbd

Je viens d'essayer avec ta ligne de commande ça ajoute bien les fichiers de log correspondant à mon PC par contre y a rien dedans :s Bizarre...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Leahkim Messages postés 3081 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 279
9 sept. 2010 à 10:41
je crois que j'ai trouvé :)

au lieu de %m, met %u !

%m crée un fichier de log au nom de la machine, %u le crée au nom de l'utilisateur

donc si tu mets:

log file = /var/log/samba/%u.userlog

tu auras un fichier contenant le nom de l'utilisateur.

simple de le récupérer après :)
0
mornaloce Messages postés 47 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 21 mars 2014 2
9 sept. 2010 à 10:59
Bon ben désolé de t'annoncer une mauvaise nouvelle mais ça marche pas non plus. Le fichier de log créé est nommé : %u.userlog
J'ai essayé en faisant log file = /var/log/samba/log.%u à tout hasard mais il met fait un fichier : log.%u et rien n'est affiché dans les fichiers en plus.

Je me demande s'il n'y a pas un problème quelque part...
0
mornaloce Messages postés 47 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 21 mars 2014 2
9 sept. 2010 à 11:04
Bon ben j'ai une mauvaise nouvelle ça ne marche pas non plus. Ça me créé un fichier nommé %u.userlog. J'ai essayé avec log.%u à tout hasard mais c'est pareil le fichier créé porte le nom log.%u.

Je commence à me demander s'il n'y a pas un problème quelque part...
0
Leahkim Messages postés 3081 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 279
9 sept. 2010 à 11:04
c'est peut-être du au fait que tu te connecte via ldap ...

c'est rageant ce genre de probleme.

bon, ben méthode bourrin, je pense que c'est la que tu perdras le moins de temps a trouver une solution.

y a pluys qu'a trouver la méthode pour récupérer le propriétaire d'un fichier sous Windows. Sous linux rien de plus facile, mais bon la ça se complique.

tu script s'execute en batch je suppose ?
0
Leahkim Messages postés 3081 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 279
9 sept. 2010 à 11:14
J'ai trouvé la commande dir /Q AdresseDuFichier mais ça n'a pas l'air de marcher. Essaie chez toi.

sinon tu as essayé la variable %username% ?
0
mornaloce Messages postés 47 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 21 mars 2014 2
9 sept. 2010 à 11:48
Ok ben je vais tenter le coup et je te tiens au courant.

Et merci beaucoup de ton aide ;)
0
mornaloce Messages postés 47 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 21 mars 2014 2
9 sept. 2010 à 11:50
Ah oui désolé j'ai oublié de te répondre ^^ J'ai déjà essayé effectivement %username% mais comme je te l'avais dis plutot ça me renvoie le nom de mon PC en local donc c'est pas la bonne commande. Je vais essayer avec dir.
0
Leahkim Messages postés 3081 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 279
9 sept. 2010 à 12:00
ça roule, j'attends les news
0
mornaloce Messages postés 47 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 21 mars 2014 2
9 sept. 2010 à 12:10
Bon en fait je viens de m'apercevoir de mon erreur. Il faut mettre %U et nom pas %u. Maintenant ça me créé bien le fichier de log avec le nom de l'utilisateur connecté. Je vais voir si je peux en faire quelque chose.
0
Leahkim Messages postés 3081 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 279
9 sept. 2010 à 12:16
super !!!

ba maintenant, il faut juste récupérer le nom du fichier :)

0