Authentification samba

Résolu/Fermé
Sylvain_16 - Modifié le 25 oct. 2022 à 15:53
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 16 nov. 2022 à 12:19

Bonjour,

J'ai configuré un serveur samba sur un poste Linux Manjaro. Voici mon smb.conf :

[global]

workgroup = WORKGROUP
server string = Samba Server
restrict anonymous = no
security = user
passdb backend = smbpasswd
log file = /var/log/samba/%m.log
max log size = 500
invalid users = root
socket options = TCP_NODELAY
map to guest = bad user
guest account = smbguest
load printers = yes
smb ports = 139

[data]

path = /data
public = yes
guest only = yes
writable = yes
force create mode = 0666
force directory mode = 0777
browseable = yes

Sur le poste client, un linux Debian, lorsque j'initie une connexion un mot de passe m'est demandé mais rien ne marche : ni le mot de passe du user linux smbguest, ni le mot de passe définit par smbpasswd.

Je deviens chèvre avec samba. J'aimerais que tous mes clients puissent se connecter au serveur sans mot de passe. Comment modifier le smb.conf dans cette optique ?

Merci,

Sylvain
 

5 réponses

Bonjour !

J'ai finalement trouvé ce qui clochait : apparmor interdisait les accès distants à smbd sur le serveur.

J'ai également corrigé la façon de monter le partage et maintenant tout roule !

Sylvain

1
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
16 nov. 2022 à 12:19

Merci pour ton retour, je bascule le sujet en résolu.

0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
Modifié le 25 oct. 2022 à 16:00

Bonjour,

A priori, pour monter un partage samba avec une Debian en poste client, une simple commande mount suffit.. Pas besoin de bidouiller smb.conf qui selon moi sert plutôt si tu veux mettre en place un serveur samba côté Debian (or ce n'est pas ce que tu sembles vouloir faire).

Cet exemple met en évidence que tu peux passer à la commande mount le login et le mot de passe samba, ainsi que le domaine de travail. Si la commande telle quelle marche, l'idéal serait ensuite de déporter le login et le mot de passe dans un fichier avec des droits restreints afin que ces informations ne figurent pas dans ton historique bash ou dans la table des processus (voir ce lien).

Libre à toi ensuite de référencer certain de ces paramètres dans /etc/fstab pour les sous-entendre par la suite (voir ce tutoriel).

Si quelque chose n'est pas clair, n'hésite pas à demander des précisions.

Bonne chance

0

Bonjour,

Merci beaucoup pour ton aide !

J'ai tenté un mount depuis mon client debian :

mount -t cifs //192.168.1.16/data /media/partage

La commande me demande alors un mot de passe et aucun de ceux que je rentre n'est reconnu. Voici ce que j'obtiens :

mount error: Server abruptly closed the connection.
This can happen if the server does not support the SMB version you are trying to use.
The default SMB version recently changed from SMB1 to SMB2.1 and above. Try mounting with vers=1.0.
mount error(112): Host is down

Par ailleurs, un systemctl status smb sur le serveur me donne :

● smb.service - Samba SMB Daemon
     Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; preset: disabled)
     Active: active (running) since Wed 2022-10-26 11:20:43 CEST; 21min ago
       Docs: man:smbd(8)
             man:samba(7)
             man:smb.conf(5)
   Main PID: 925 (smbd)
     Status: "smbd: ready to serve connections..."
      Tasks: 3 (limit: 4561)
     Memory: 12.1M
        CPU: 440ms
     CGroup: /system.slice/smb.service
             ├─925 /usr/bin/smbd --foreground --no-process-group
             ├─942 /usr/bin/smbd --foreground --no-process-group
             └─943 /usr/bin/smbd --foreground --no-process-group

oct. 26 11:20:42 Minus systemd[1]: Starting Samba SMB Daemon...
oct. 26 11:20:43 Minus smbd[925]: [2022/10/26 11:20:43.031923,  0] ../../source3/smbd/server.c:1741(main)
oct. 26 11:20:43 Minus smbd[925]:   smbd version 4.17.0 started.
oct. 26 11:20:43 Minus smbd[925]:   Copyright Andrew Tridgell and the Samba Team 1992-2022
oct. 26 11:20:43 Minus systemd[1]: Started Samba SMB Daemon.

Ce pourrait-il qu'il y ait un problème de versions entre mon serveur (v4.17.0) et mon client Debian (v?).

0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
Modifié le 27 oct. 2022 à 09:51

Bonjour,

Concernant le message d'erreur, c'est assez bizarre.

Côté client (Debian)

Vérifions d'un point de vue réseau que tout est ok.

ping -c2 192.168.1.16
nmap 192.168.1.16 # Si nmap n'est pas installé: sudo apt install nmap

Es-tu sûr que le nom du partage samba est bien data (on dirait que oui d'après ton premier message) ?

Est-ce que le dossier /media/partage existe sous Debian ?

Vu que le partage est actuellement fait en invité, as-tu essayé :

sudo mount -o guest //192.168.1.16/data /media/partage/

Note qu'il est possible de passer la version du protocole samba en paramètre de mount (c'est numéro de version n'ont rien à avoir avec la version du paquet samba, c'est quelque chose que tu peux spécifier au niveau de /etc/samba/smb.conf côté serveur) :

sudo mount -o guest,vers=3.0 //192.168.1.16/data /media/partage/

Côté serveur (Manjaro)

Est-ce que le pare-feu bloque samba ? Si tu utilises ufw :

sudo ufw allow samba

Sinon, indique moi le résultat de :

sudo iptables -L

Concernant systemctl status smb : vu que ton serveur samba est sous Manjaro, on est bien d'accord que tu as bien lancé cette commande sous Manjaro ?

Parviens-tu sous manjaro à monter ton partage en local ?

sudo mkdir -p /media/partage
sudo mount -o guest //127.0.0.1/data /media/partage

Ce serait intéressant de regarder quand tu tentes de te connecter de lancer sur le serveur samba la commande suivante et voir les lignes qui apparaissent :

tail -f /var/log/samba/*.log

Autres pistes

Pour partager des fichiers entre deux linux il existe des solutions plus simples. Personnellement j'utilise sshfs (donc rien à avoir avec samba). Il suffit que la machine qui fasse le partage ait un serveur ssh et que la machine cliente puisse s'y connecter. Côté client, en remplaçant "login" par un profil utilisateur qui existe côté serveur  :

  • avec konqueror ou dolphin : fish://login@192.168.0.16
  • avec nautilus : ssh://login@192.168.0.16

Bonne chance

0

 Bonjour et merci pour ton aide et ton long message !

Reprenons :

ping -c 192.168.1.16

Ça passe sans problème.

nmap 192.168.1.16
PORT     STATE  SERVICE
22/tcp   open   ssh
25/tcp   closed smtp
80/tcp   closed http
139/tcp  open   netbios-ssn
443/tcp  closed https
445/tcp  closed microsoft-ds
3306/tcp closed mysql


Là je ne pige pas. Comme le port 139, j'ai bien ouvert le port 445 dans iptables :

-A INPUT  -p tcp -m tcp --dport 139 -j ACCEPT
-A INPUT  -p tcp -m tcp --dport 445 -j ACCEPT

J'ai arrêté le pare feu de la box, fail2ban et iptables sur le serveur et le client sans succès : nmap me donne toujours le même résultat.

Es-tu sûr que le nom du partage samba est bien data (on dirait que oui d'après ton premier message) ?

Je confirme ! Je lui ai même donné le plein pouvoir :

drwxrwxrwx   2 sylvain sylvain  4096 23 oct.  13:24 data

Est-ce que le dossier /media/partage existe sous Debian ?

Oui !

Vu que le partage est actuellement fait en invité, as-tu essayé : mount -o guest //192.168.1.16/data /media/partage/

Voici ce qu'il me répond le bougre :

mount error: Server abruptly closed the connection.
This can happen if the server does not support the SMB version you are trying to use.
The default SMB version recently changed from SMB1 to SMB2.1 and above. Try mounting with vers=1.0.
mount error(112): Host is down


J'ai essayé également de passer la version de Samba en paramètre sans plus de résultat.

Côté serveur :

Voici iptables -L :

Chain INPUT (policy DROP)
target     prot opt source               destination         
fail2ban-ssh  tcp  --  anywhere             anywhere             multiport dports ssh
REJECT     all  --  vip1.dyn.hpo.s1.fti.net  anywhere             reject-with icmp-port-unreachable
ACCEPT     all  --  anywhere             anywhere            
REJECT     all  --  anywhere             127.0.0.0/8          reject-with icmp-port-unreachable
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     udp  --  anywhere             anywhere             udp dpt:54925
ACCEPT     udp  --  anywhere             anywhere             udp dpts:sesi-lm:cft-3
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:smtp
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-ns
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-dgm
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:netbios-ssn
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:microsoft-ds
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:gds-db
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:mysql
ACCEPT     udp  --  anywhere             anywhere             udp dpt:sip
ACCEPT     udp  --  anywhere             anywhere             udp dpt:7078
ACCEPT     udp  --  anywhere             anywhere             udp dpt:9078
DROP       tcp  --  anywhere             anywhere             tcp flags:FIN,PSH,URG/FIN,PSH,URG
DROP       tcp  --  anywhere             anywhere             tcp flags:FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,RST,PSH,ACK,URG
DROP       tcp  --  anywhere             anywhere             tcp flags:FIN,SYN,RST,PSH,ACK,URG/NONE
DROP       tcp  --  anywhere             anywhere             tcp flags:SYN,RST/SYN,RST
DROP       all  --  anywhere             anywhere             PKTTYPE = broadcast
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
LOG        all  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "

Chain FORWARD (policy DROP)
target     prot opt source               destination         
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain OUTPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:netbios-ns
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:netbios-dgm
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:netbios-ssn
DROP       all  --  anywhere             vip1.dyn.hpo.s1.fti.net 
ACCEPT     all  --  anywhere             anywhere            

Chain fail2ban-ssh (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere

> Essai de montage en local après création du répertoire /media/partage :

mount -t cifs -o guest //127.0.0.1/data /media/partage
mount.cifs: permission denied: no match for /media/partage found in /etc/fstab
tail -f /var/log/samba</span><span>/*.log

Cela ne donne rien de pertinent...

Autres pistes

Je me connecte très bien en ssh avec Dolphin aux autres PC Debian et Manjaro de la maison. Je n'ai pas encore testé un connexion avec Android. Je souhaite également avoir accès au répertoire partagé depuis mon mobile.

A+

Sylvain

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
2 nov. 2022 à 14:16

Bonjour,

Le temps de faire marcher samba, désactive tout ce qui peut être bloquant : fail2ban et iptables côté client et côté serveur (même si a priori le problème ne semble pas venir de là, éliminons les éventuelles blagues le temps de comprendre).

Le port samba (139) semble ouvert et le routage est correct. Cela voudrait dire que le problème vient bien de samba.

Tu ne m'as pas dit si tu arrivais sur le serveur à monter ton partage samba. Ça écarterait toutes les considérations réseaux (remplace simplement 192.168.1.16 par 127.0.0.1). Plus exactement, il est bizarre que tu aies une erreur (voir mount -t cifs -o guest //127.0.0.1/data /media/partage) car normalement elle a tous les paramètres (elle est basée sur ce message). En effet, mount fait appel à /etc/fstab seulement si tu omets certains paramètres de la commande, or ici tu as donné la source, le point de montage, les options.

Concernant tail -f /var/log/samba.log il faut la laisser tournet et regarder ce qui apparaît quand un client tente de se connecter. L'idéal serait que tu tentes la connexion depuis le client et depuis le serveur pour comparer.

Peut-être aussi que ça vaudrait le coup de faire une authentification avec login et mot de passe (généralement c'est comme ça qu'on fait), car peut être que le problème vient spécifiquement du fait que tu tentes une connexion invité (ne me demande pas pourquoi, je n'utilise jamais samba :p).

Autres pistes

Il existe des clients sftp. Pour android tu peux tester AndFTP, et plus généralement n'importe quelle alternative à WinSCP pour Android.

Bonne chance

0