Fichier smbusers

Bonjour a toutes et a tous

Je monte un server debian et j’aimerais protéger les dossier partagé de differente facon piur les different poste client qui sont sous win (xp et vista).
Dans le fichier smb.conf
j’ai mis security=share pour voir si mon partage fonctionnait, oui.
Quand je le met en user la il me demande un login et un pass, le problème est que tout ce que je rente n’est pas bon.
J’ai alors fais des recherche pour m’appercevoir qu’il me fallais un fichier smbusers.
J’ai créé ce fichier /etc/samba/smbusers, mais je ne sais pas du tout comment mettre les alias de mappage dedant, l’ordre , etc …
Mon server s’appel “server” et mes pc sous win s’appel “pc1” et “pc2”.
J’ai créé des user dans samba et dans debian (qui porte le même nom) “user1” et "user2"
Dans mon fichier smbusers je dois mettre user1=pc1 ou pc1=user1 ou encore un autre argument ?
J’avoue je suis un peu largué la :confused:

Meci par avance de votre aide

Je vois que mon problème ne trouve pas d’explication ou alors je me suis mal exprimé :confused:

Par contre j’ai une aute question.
J’ai créé des users dans samba avec la commande smbpasswd -a user1
mais je ne les retrouve pas dans /etc/samba/smbpasswd (il est vide)
par contre quand je fais un pdbedit -L
je vois bien mes users

Quelqu’un pourrais m’expliquer svp ?

pour une bonne sécurité avec samba, les acl de linux sont au poil.

ça te permet, au sein d’un même partage avec les mêmes droits samba, de gérer très finnement tes droits.

pour ton fichier d’utilisateurs, lorsque tu lances smbpasswd, il y a une option qui te permet (je crois) de forcer le nom du fichier qui sera mis à jour.

j’ai déja du mal à configurer correctement samba alors les ACL que je ne connais pas j’ai un peu peur.
Si tu a un site pour neuneu de base (pour moi quoi :mrgreen: )qui débute en linux je le veux bien :slightly_smiling:

pose ici ton smb.conf voir si tu as mis des choses specifiques.

chose spécifique je sais pas

[quote]======================= Global Settings =======================

[global]

Nom du groupe de travail

workgroup =MSHOME

Machine autorisee

hosts allow = 192.168.1
host deny = all

Description du serveur

server string = Serveur Debian (Samba)
username map = /etc/samba/smbusers

; wins support = no
; wins server = w.x.y.z
dns proxy = no
; name resolve order = lmhosts host wins bcast

Networking

; interfaces = 127.0.0.0/8 eth0
; bind interfaces only = true

Debugging/Accounting

Chemin du fichier log et taille maximum du fichier (en Kb)

log file = /var/log/samba/log.%m
max log size = 100

; syslog only = no
syslog = 0

panic action = /usr/share/samba/panic-action %d

####### Authentication #######

Demande de mot de passe : true. Acces libre : share

Nous declarons que nous faisons un partage au niveau utilisateur (le plus sur !, evitez les partages au niveau ressource)

security = user

Nous declarons que les passwords seront encryptes , c’est obligatoire a partir de la famille WinNT et disponible a partir de Win95 2e edition

encrypt passwords = yes

Chemin vers le fichier des login et password de Samba

smb passwd file = /etc/samba/smbpasswd

Nous activons l’option des alias du fichier /etc/samba/smbusers

username map = /etc/samba/smbusers

passdb backend = tdbsam

obey pam restrictions = yes

Permet de declarer sur quel compte seront envoy� les utilisateurs inconnus par le systeme

guest account = nobody

Permet de declarer qui sera mapper vers l’accompte guest(nobody), ici j’ai decid� que personne ne pouvait ,

vous pouvez aussi mettre bad user , dans ce cas tout les utilisateurs incconus du serveur seront automatiquement logu� sur le compte guest(nobody)

map to guest = Never
invalid users = root

; unix password sync = no

passwd program = /usr/bin/passwd %u
passwd chat = Enter\snew\sUNIX\spassword: %n\n Retype\snew\sUNIX\spassword: %n\n password\supdated\ssuccessfully .

; pam password change = no

########## Domains ###########

; domain logons = yes
; logon path = \%N\profiles%U
; logon path = \%N%U\profile
; logon drive = H:
; logon home = \%N%U
; logon script = logon.cmd
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos “” %u

########## Printing ##########

; load printers = yes
; printing = bsd
; printcap name = /etc/printcap
; printing = cups
; printcap name = cups
; printer admin = @lpadmin

############ Misc ############

Permet de creer plusieurs fichiers de configuration, un par machine se connectant

; include = /home/samba/etc/smb.conf.%m

Options des sockets , ca permet une plus grande rapidite

SO_RCVBUF=8192 SO_SNDBUF=8192

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

; message command = /bin/sh -c ‘/usr/bin/linpopup “%f” “%m” %s; rm %s’ &
; domain master = auto
; idmap uid = 10000-20000
; idmap gid = 10000-20000
; template shell = /bin/bash

#======================= Share Definitions =======================

;[homes]
; comment = Home de %U
; browseable = no
; valid users = %S
; writable = no
; create mask = 0600
; directory mask = 0700

Fin pour homes

;[netlogon]
; comment = Network Logon Service
; path = /home/samba/netlogon
; guest ok = yes
; writable = no
; share modes = no

;[profiles]
; comment = Users profiles
; path = /home/samba/profiles
; guest ok = no
; browseable = no
; create mask = 0600
; directory mask = 0700

wins support = no

;[printers]
; comment = All Printers
; browseable = no
; path = /tmp
; printable = yes
; public = no
; writable = no
; create mode = 0700

;[print$]
; comment = Printer Drivers
; path = /var/lib/samba/printers
; browseable = yes
; read only = yes
; guest ok = no
; write list = root, @ntadmin

;[cdrom]
; comment = Samba server’s CD-ROM
; writable = no
; locking = no
; path = /cdrom
; public = yes

Partages de dossiers

[Dossier-user2]
path = /home/racine/partage-user2
comment = repertoire fichier
read only = No
guest only = yes
guest ok = yes
browseable = yes

[Dossier-user1]
path = /home/racine/partage-user1
comment = repertoire fichier
read only = No
guest only = yes
guest ok = yes
browseable = yes

[Dossier-commun]
path = /home/racine/partage-commun
comment = repertoire fichier
public = yes
; read only = No
; guest only = yes
guest ok = yes
; browseable = yes

[Dossier-prive]
path = /home/racine/partage-user1-private
comment = repertoire fichier
read only = No
public = no
valid users = user1
write list = user1
guest only = yes
guest ok = yes
browseable = yes

; preexec = /bin/mount /cdrom
; postexec = /bin/umount /cdrom
[/quote]

il y a surement des chose mal configurer :confused:

le workgroup de samba doit être le même que le domaine ou groupe de travail des postes windows

ensuite tu pourrais faire des partages avec des options des plus basiques du style :

[data1]
comment = data1
path = /var/data1
browseable = Yes
writeable = Yes
public = No

[data2]
comment = data2
path = /var/data2
browseable = Yes
writeable = Yes
public = No

[data3]
comment = data3
path = /var/data3
browseable = Yes
writeable = Yes
public = No

ensuite on va mettre toute la sécurité dans les acl (c’est l’équivalent de l’onglet securité d’un dossier windows). comme sous windows, la sécurité ne se fait pas par l’onglet partage mais l’onglet sécurité.

si les dossiers data1, data2 et data3 sont encore vides

setfacl -m d:u:user1:rwx,d:u:user2:rwx,d:o:--- /var/data1
setfacl -m d:u:user1:rwx,d:u:user2:---,d:o:--- /var/data2
setfacl -m d:u:user1:---,d:u:user2:---,d:o:--- /var/data3

le d devant indique que ce sont les droits par defaut qui seront appliqués à tout fichier ou dossier créé dans ce dossier.

je te laisse imaginer les droits qui en découlent pour chaque dossier.

si les dossiers data1, data2 et data3 sont deja peuplés de fichiers et de sous dossiers, il faut lancer une commande recursive pour remettre les acl à jour sur toute l’arborescence.

par exemple sur data1 :

setfacl -Rm u:user1:rwx,u:user2:rwx,o:--- /var/data1
# droits par defaut pour les dossiers :
find /var/data1 -type d -exec setfacl -m d:u:user1:rwx,d:u:user2:rwx,d:o:--- {\} \;

-> tu vois que ce n’est pas si compliqué
-> je ne suis pas rentré ans les details ni les subtilitées des acl, si cette methode t’interesse tu trouveras facilemet de la doc.
-> il faudra auparavant activer les acl dans /etc/fstab.
-> si tu ne veux pas te faire chi… avec les commandes setfacl, connecte toi depuis un poste windows et utilise l’onglet sécurité, c’est compatible.

j’ai essayé mais en lancant “security = user” je ne peu pas entrer dans le partage.