Serveur SAMBA


Comment installer un serveur de partage de fichiers sur OpenBSD

Dans ce blog, nous allons montrer comment installer et configurer un serveur de partage de fichier SAMBA. Ce service sera installé sur une machine OpenBSD. La configuration du serveur définit deux repertoires de partage de fichier. Le premier est public et accessible à tous les utilisateurs connectés au réseau local. Le second est privé et accessible seulement aux members d’un groupe pré-définit. Le script suivant permet l’installation et la configuration de ce serveur. Il sera peut être nécessaire d’adapter les variables bash avec les valeurs correspondant à votre environnement.

 1	#!/bin/sh
 2	NOW=$(date +%Y.%m.%d.%H.%M.%S)
 3	SMB_SHARE_USER="toto"
 4	SMB_SHARE_GRP="staff"
 5	SMB_WORKGROUP="WORKGROUP"
 6	SAMBA_VER="3.6.15p15"
 7	export PKG_PATH=http://openbsd.cs.fau.de/pub/OpenBSD/`uname -r`/packages/`uname -m`/
 8
 9	pkg_add -r samba-$SAMBA_VER
10	ln -sf /usr/local/bin/python2.7 /usr/local/bin/python
11	ln -sf /usr/local/bin/python2.7-2to3 /usr/local/bin/2to3
12	ln -sf /usr/local/bin/python2.7-config /usr/local/bin/python-config
13	ln -sf /usr/local/bin/pydoc2.7  /usr/local/bin/pydoc
14
15	mkdir -p /pub
16	chmod -R 777 /pub
17	mkdir -p /smb
18	chmod -R 777 /smb
19
20	groupadd $SMB_SHARE_GRP
21	useradd $SMB_SHARE_USER
22	usermod -G $SMB_SHARE_GRP $SMB_SHARE_USER
23	echo "Please choose a password for the smb share user $SMB_SHARE_USER"
24	smbpasswd -a $SMB_SHARE_USER # pwd toto01
25
26	rcctl enable samba
27	cp /etc/samba/smb.conf /etc/samba/smb.conf.$NOW
28	echo "
29	[global]
30   		workgroup = $SMB_WORKGROUP
31   		server string = Samba Server
32   		security = user
33   		log file = /var/log/samba/smbd.%m
34   		max log size = 50
35   		dns proxy = no
36   		allow insecure wide links = no
37   		map to guest = bad user
38
39	[pub]
40   		comment = Public file space
41   		path = /pub
42   		read only = no
43   		public = yes
44   		force user = nobody
45   		max connections = 10
46
47	[share]
48   		comment = Shared directory
49   		path = /smb
50   		public = no
51   		valid users = $SMB_SHARE_USER, @$SMB_SHARE_GRP
52   		writable = yes
53   		browseable = yes
54   		create mask = 0765
55
56	" > /etc/samba/smb.conf
57
58	echo '
59	smbd_flags="-D"
60	nmbd_flags="-D"
61	' >> /etc/rc.conf.local
62
63	rcctl restart samba

Après l’exécution de ce script, votre serveur de partage de fichier est fonctionnelle. Les ports 139 et 445 sont activés et en mode écoute (LISTEN).

Références: https://www.samba.org/samba/docs/man/manpages/smb.conf.5.html