Chapitre 3. Etudes de cas

Etude d'un cas courant en security=user

Cahier des charges

Nous cherchons à obtenir un serveur Samba \\LINUXBOX configuré en PDC autonome pour le domaine MIRABELLUG

  • Utilise les mots de passe cryptés par défaut.

  • Permet aux utilisateurs n'ayant pas de compte (autre domaine par exemple) d'accéder tout de même à certains partages.

  • Chaque utilisateur enregistré peut bénéficier d'un répertoire personnel \\LINUXBOX\utilisateur et y stocker son profil.

  • Accès pour tout le monde à un répertoire \\LINUXBOX\Temporaire.

Exemple

Voici le fichier smb.conf correspondant :

# Ceci est le fichier de configuration principal de Samba. 
# Vous pouvez consulter la page man de smb.conf(5) pour obtenir plus d'informations sur 
# les options listées ci-dessous. Samba possède beaucoup plus d'options que celles qui sont
# utilisées ici en exemple.
# 
# Toute ligne commençant par # ou par ; est ignorée.
# Nous utiliserons ici le # pour les commentaires et le ; pour les lignes de paramètres
# que nous ne voulons pas utiliser
#
# NOTE : Si  vous modifiez ce fichier, vous devriez exécuter la commande "testparm" 
# afin de vérifier la syntaxe de votre fichier.
#
#======================= Paramètres généraux =====================================
[global]

# Identification :
	netbios name = LINUXBOX
	workgroup = MIRABELLUG 
	server string = Serveur Samba

# Mode d'authentification :
	security = user 
	domain logons = yes
	map to guest = Bad User
	guest account = smbguest

# Mot de passe :
	encrypt passwords = yes
	smb passwd file = /etc/samba/smbpasswd
	username map = /etc/samba/smbusers

# Explorateur d'ordinateur :
	local master = yes
	os level = 33
	domain master = yes 
	preferred master = yes

# Résolution de nom :
	name resolve order = lmhosts wins bcast
	wins support = yes
	dns proxy = no 

# Casse des fichiers :
	preserve case = yes
	# Les noms au format 8.3 (type DOS) sont convertis en majuscule
	short preserve case = no

# Paramètres de réseau :
	hosts allow = 10.0. 127.
	socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
	interfaces = eth0
	deadtime = 15
	
# Gestion des imprimantes :
	printcap name = /etc/printcap
	load printers = no

# Gestion des logs :
	log file = /var/log/samba/log.%m
	max log size = 50

# Paramètre de connection utilisateur :
	logon drive = P:
	logon home = \\%L\%U\profile
	logon path = \\%L\%U\profile
	logon script = script.bat


#============================ Définitions des paratages ==============================
[homes]
#
# Répertoire personnel de chaque utilisateur (sauf guest)
#
	comment = Repertoire personnel de %U
	preexec = /home/samba/smbuser.pl %U %m %I
	browsable = no
#   max disk size = 100
	writable = yes
	create mode = 664
	directory mode = 775

[netlogon]
#
# Partage NETLOGON, indispensable au fonction en contrôleur de domaine de Samba.
#
	comment = Network Logon Service
	browsable = no
	path = /home/samba/netlogon
	guest ok = yes
	write list = @admin
	force group = +admin
	create mode = 664
	directory mode = 775
	share modes = no
	locking = no

;[printers]
#
# Partage d'imprimante
#

;   comment = All Printers
;   path = /var/spool/samba
;   browseable = no
# Set public = yes to allow user 'guest account' to print
;   guest ok = no
;   writable = no
;   printable = yes

[Temporaire]
#
# Répertoire "foure-tout" accessible en écriture par tout le monde
#
	comment = Repertoire temporaire 
	path = /mnt/RepTemporaire
	create mode = 644
	writeable = yes
	public = yes


[public]
#
# Partage principal contenant les logiciels réseaux
#
	comment = Programmes et donnees divers
	path = /home/samba/SoftEtDonneesDivers
	public = yes
	read only = yes
	fake oplocks = yes
   

[publicadm]
#
# Mirroir du partage principal contenant les logiciels réseaux
# Seuls les utilisateurs du groupe @admin peuvent faire des modifications
#
	comment = Programmes et donnees divers
	path = /home/samba/SoftEtDonneesDivers
	browseable = no
	write list = @admin
	writeable = no
	force group = +admin
	force create mode = 664
	force directory mode = 775
   
[docs]
#
# Partage publique d'un répertoire contenant de la documentation
# Seuls les utilisateurs du groupe @docu peuvent faire des modifications
#
	comment = Base documentaire
	path  = /home/samba/documentation
	public = yes
	write list = @docu
	force group = +docu
	create mode = 664
	force directory mode = 755

[www]
#
# Partage du répertoire des pages web
# Les utilisateurs du groupe @webuser peuvent lire les informations
# Les utilisateurs du groupe @httpd peuvent faire des modifications
# Les utilisateurs du groupe @httpd doivent également faire partie du groupe @webuser
#
	comment = Repertoire des pages WEB
	path = /home/httpd/html
	write list = @httpd
	valid users = @webuser
	force group = +webuser
	force create mode = 644
	force directory mode = 755

[admtools]
#
# Ceci est un partage caché, en lecture seule, accessible uniquement aux administrateurs.
#
	comment = Outils d'administrations
	path  = /home/samba/admintools
	public = no
	browsable = no
	read only = yes 
	valid users = @admin

[CDROM1]
#
# Partage d'un lecteur de CDROM
#
	comment = Lecteur CDROM de %L
	path = /mnt/cdrom1
	public = yes
	read only = yes