Installer Samba pour openHAB

Configuration de Samba

Ce qu’il faut savoir, c’est qu’avec Samba, on peut faire un milliard de choses, et qu’il y a déjà une configuration de base.

Histoire de simplifier et sécuriser un minimum Samba, nous allons supprimer la config de base et ne mettre que les partages qui nous intéressent.

pour cela, on va renommer le fichier existant et en créer un nouveau vide :

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.save
sudo touch /etc/samba/smb.conf

On ouvre le fichier vide

sudo nano /etc/samba/smb.conf

Et on colle tout ça dedans

#======================= Global Settings =======================

[global]

## Browsing/Identification ###
workgroup = Workgroup
server string = openHAB (%h)
netbios name = openhab-demo
dns proxy = no


### Access rights ###
create mask = 0664
directory mask = 0755

#### Debugging/Accounting ####
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d

####### Authentication #######
security = user
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = no
map to guest = bad user

############ Misc ############
# socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192
usershare allow guests = no

[cedcox]
   path = /home/cedcox
   comment = home cedcox
   read only = no
   valid users = cedcox

[openHAB2-userdata]
  comment=Userdata openHAB
  path=/var/lib/openhab2
  browseable=Yes
  writeable=Yes
  only guest=no
  public=no
  valid users = cedcox openhab
  force user = openhab
  force group = openhab
  create mask=0644
  directory mask=0755

[openHAB2-conf]
  comment=Configuration openHAB
  path=/etc/openhab2
  browseable=Yes
  writeable=Yes
  only guest=no
  public=no
  valid users = cedcox openhab
  force user = openhab
  force group = openhab
  create mask=0644
  directory mask=0755
  
[openHAB2-logs]
  comment=Logs openHAB
  path=/var/log/openhab2
  browseable=Yes
  writeable=Yes
  only guest=no
  public=no
  valid users = cedcox openhab
  force user = openhab
  force group = openhab
  create mask=0644
  directory mask=0755

Un petit CTRL+O pour sauvegarder mais on ne quitte pas maintenant car, ce fichier doit être modifié pour correspondre à ta config. Il te faudra changer “cedcox” qui est mon login de test par ton login à toi, partout dans le fichier de config. Sinon, ça va faire des chocapics 🙂

Une fois ça fait, on peut faire CTRL+O pour enregistrer et CTRL+X pour quitter.

Et on oublie pas de créer et synchroniser notre utilisateur samba :

sudo smbpasswd -a cedcox

Il te faudra alors entrer à 2 reprises un mot de passe pour l’utilisateur. Alors tu peux mettre le même mot de passe (conseillé) que celui pour te connecter en ssh, mais ils ne seront pas synchronisés. Ça signifie que si tu en changes un, ça ne change pas l’autre. Il est possible de synchroniser les 2, mais ce n’est pas le sujet de ce tuto donc, on fait l’impasse 🙂

New SMB password:
Retype new SMB password:
Added user cedcox.
cedcox@openhab-demo:~$

Et pour être sûr que tout fonctionne correctement, on redémarre le service Samba (smbd) :

sudo systemctl restart smbd

Il est possible de vérifier le fichier de configuration en exécutant cette commande :

sudo testparm /etc/samba/smb.conf

Qui dans mon cas renvoie ce résultat :

cedcox@openhab-demo:~$ sudo testparm /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Registered MSG_REQ_POOL_USAGE
Registered MSG_REQ_DMALLOC_MARK and LOG_CHANGED
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[cedcox]"
Processing section "[openHAB2-userdata]"
Processing section "[openHAB2-conf]"
Processing section "[openHAB2-logs]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

On finira par taper “entrée” et le tour est joué.

Petit point particulier

Je voulais juste revenir sur le fichier de config et plus particulièrement ces lignes ci dessous que tu retrouves dans chacun des partages déclarés :

  force user = openhab
  force group = openhab

En fait, je précise que lorsqu’on se connecte à ce partage avec un utilisateur autorisé (dans mon cas cedcox), l’accès lecture/écriture ne se fera pas avec le compte linux cedcox, mais avec le compte linux openhab.

En effet, openHAB a son propre utilisateur pour faire tourner son service et seul cet utilisateur a les droits pour accéder à ces fichiers.

Et comme je n’aime pas créer un utilisateur samba pour openHAB, j’utilise le compte utilisateur existant 🙂

2 Comments

Poster un Commentaire

Votre adresse de messagerie ne sera pas publiée.


*


Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.