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