logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 24-10-2022 16:04:56

sylvain_78
Membre
Lieu : Nouvelle Aquitaine
Distrib. : Bookworm
Noyau : Linux 6.1.0-13-amd64
(G)UI : KDE plasma
Inscription : 31-10-2017

Samba m'a tué...

Bonjour,

ça fait plusieurs jours que je tente d'installer un bête serveur samba sans y parvenir. Je souhaite partager sans identification des fichiers avec tous mes terminaux du réseau local (ordis debian et android).
J'ai suivi plusieurs tuto dont un qui m'a donné le /etc/smb.conf suivant :
--------------------------------------------------
[global]

workgroup = WORKGROUP
server string = Samba Server
restrict anonymous = no
security = user
map to guest = Bad 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
smb ports = 139

[data]

path = /data
public = yes
guest only = yes
guest ok = yes     # AJOUT PERSO
writable = yes
force create mode = 0666
force directory mode = 0777
browseable = yes
--------------------------------------------------

Lorsque j'essaie de me connecter à ce serveur il m'est demandé un identifiant et un mot de passe. Et là rien ne passe. J'ai pourtant ajouté un utilisateur avec smbpasswd et définit un mot de passe utilisé pour me connecter sans succès. Les identifiants nobody ou anonymous ne marchent pas non plus. J'ai passé la doc en revue sans savoir où ça pêche...

J'ai par ailleurs bien ouverts les ports samba dans iptables.

J'ai tenté également de me connecter à ce serveur depuis un android sans succès : le répertoire /data est inaccessible.

Les droits sur /data sont les suivants : (ls -l)
drwxrwxrwx   2 smbguest smbguest  4096 23 oct.  13:24 data

Alors où est-ce que ça pêche ?

Sylvain

Hors ligne

#2 24-10-2022 17:44:11

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Samba m'a tué...

Hello
Bon j'ai regardé ta config et je sais que Samba c'est pas évident quand on croit avoir compris il y'a toujours un truc qui vient ébranlé ses convictions
déjà si tu lances

testparm


tu verras qu'il y a une erreur de syntaxe, et ce n'est pas anodin , car cela fait planté le service smbd

Load smb config files from /etc/samba/smb.conf
set_variable_helper(yes # AJOUT PERSO): value is not boolean!
Error loading services.



donc la ligne a viré
guest ok = yes     # AJOUT PERSO

tu valides ton fichier et relance le service

systemctl restart smb



il se trouve que

force create mode = 0666
force directory mode = 0777
 


sont sans effet
c'est les droits sur le dossier /data coté serveur qui sont négociés, donc dans ton cas smbguest a tout les droit , le groupe et les autres utilisateurs , donc c'est open bar big_smile
pas de restriction (je vois pas pourquoi smbguest )
le mieux est de créer un point de partage coté client et de monté le partage , car si tu utilises le voisinage réseau a un moment tu risques d’être bloqué par des applications qui ne comprennent pas les chemins du type smb://
pour tester tu peux te servir temporairement de /mnt

mount -t cifs //adresse ip_du_serveur/data /mnt -o guest


guest pour ne pas demander de mot de passe
adresse ip que tu auras avec la commande

ip addr


une fois monté tu peux consulter les droits avec getcifsacl
tu auras un truc du genre

getcifsacl /mnt


# filename: /mnt
REVISION:0x1
CONTROL:0x9004
OWNER:S-1-5-21-3246378133-1563739295-2783645213-1000
GROUP:S-1-22-2-1001
ACL:S-1-5-21-3246378133-1563739295-2783645213-1000:ALLOWED/0x0/FULL
ACL:S-1-22-2-1001:ALLOWED/0x0/FULL
ACL:S-1-1-0:ALLOWED/0x0/FULL
 


les numéros sont les numéro SID du serveur ce qui est important c'est que on peux voir c'est trois FULL qui indique que tous ont les droits maximum
pour le numéro SID il faudra aller du coté serveur pour vérifier a qui correspond le numéro

pdbedit -Lv


mais on s'en fou un peu
les droits distribué sseront de toute façon les droits du dossier du serveur

ls -ld /data


Une fois que tu es content du truc et que cela fonctionne, tu peux ajouter une ligne coté client dans le fichier fstab pour avoir quelque chose de permanent

//ip du serveur/data  /home/ton_utilisateur/point_de_montage  cifs guest,user,noauto


le dossier sera en attente de montage

par curiosité tu peux toujours regarder cette vidéo que je trouve pas mal faite
https://www.youtube.com/watch?v=QIp4sjhSdT4

edit:bon j'ai essayé plusieurs chose , mais c'est assez la misère pour géré les droits finement avec cifs, car il faudrait donné les droits avec le bon numéro SID
et niveau syntaxe le man setcifsacl n'est pas trop bavard
Le plus simple serait de donner les droits a tous et appliquer un masque pour les futurs fichiers
du coté serveur

setfacl -R -m o:rwx /data


cela fonctionne mais c'est pas top

J'ai vu une solution simple est d'utiliser smbnetfs

Système de fichiers de l'espace utilisateur pour les serveurs et les partages réseau SMB/NMB (Windows)
Un système de fichiers en espace utilisateur qui contient un réseau SMB/NMB entier sous un seul point de montage.
Les groupes de travail, les serveurs et les partages peuvent être parcourus de la même manière que le voisinage réseau de Microsoft Windows.
 voisinage réseau de Microsoft Windows.


apt install smbnetfs


après l'avoir configuré il suffit de monté le voisinage réseau sur un point de montage et ensuite il réagira comme n'importe quel répertoire
pour la configuration suivre les indications du wiki arch
https://wiki.archlinux.org/title/Samba#smbnetfs
Par contre j'ai pas réussi a voir tout le réseau , sûrement du a la nouvelle version de samba , certain outil ne fonctionne plus comme smbtree
mais du moment que tu peux voir ton voisinage réseau avec le gestionnaire de fichier c'est bon

en admettant que ton point de montage est ~/network

smbnetfs ~/network


après cela le répertoire network contient tout le réseau, seulement on ne peut le voir avec ls , encore une fois sûrement du au nouvelle version de Samba
smbnetfs quand a lui n'a pas évolué depuis des lustres
mais du moment que tu connais sa présence tu peux te rendre dans le répertoire bien que ls n'affiche rien

cd ~/network/192.168.1.48/data


et les paramètres du smb.conf son appliqué ce qui simplifie les choses comparer a cifs
d'ailleurs j'ai rajouter

create mask = 0664
directory mask = 0777

Dernière modification par Croutons (25-10-2022 13:11:18)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#3 26-10-2022 11:07:01

sylvain_78
Membre
Lieu : Nouvelle Aquitaine
Distrib. : Bookworm
Noyau : Linux 6.1.0-13-amd64
(G)UI : KDE plasma
Inscription : 31-10-2017

Re : Samba m'a tué...

Bonjour Croutons et merci beaucoup pour ton aide !

Croutons a écrit :

Hello
Déjà si tu lances

testparm


tu verras qu'il y a une erreur de syntaxe, et ce n'est pas anodin , car cela fait planter le service smbd
donc la ligne a virer
guest ok = yes     # AJOUT PERSO



J'utilise la version 4.17.0 de smbd sur mon serveur et ça ne fait pas planter le service au démarrage. De toute façon, avec ou sans "guest ok" ça ne marche pas, alors j'ai viré la ligne.

il se trouve que

force create mode = 0666
force directory mode = 0777
 


sont sans effet



Lignes virées également. Sans changement...

le mieux est de créer un point de partage coté client et de monter le partage , car si tu utilises le voisinage réseau a un moment tu risques d’être bloqué par des applications qui ne comprennent pas les chemins du type smb://
pour tester tu peux te servir temporairement de /mnt

mount -t cifs //adresse ip_du_serveur/data /mnt -o guest



Là ça plante. 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
 



Se pourrait-il qu'il y ait un problème de version entre mon serveur Manjaro (v4.17.0) et mon client Debian (v?) ?
Comment puis-je connaître la version du client samba Debian ?

Sylvain

Hors ligne

#4 26-10-2022 11:39:16

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Samba m'a tué...

c'est du coté serveur qu'il faut regarder

testparm -vs | grep "protocol"


coté client je me souviens plus de la version exact , pour le noyau actuel il monte le serveur en protocol smb 3.1
coté client tu peux essayer en spécifiant, la version lors du montage

mount -t cifs //adresse ip_du_serveur/data /mnt -o guest,vers=2.0


mais personne ne sait comment va réagir le partage , sans faire de test , même dans le man mount.cifs c'est pas clair
et j'ai vu sur les dernier protocole le serveur transmet les droits au client et cela devient une misère a gérer, la seul chose que on peut faire c'est autoriser les droit smaximum a tous par default avec setfacl
ou encore monté le serveur en vers=1.0 et la plus de soucis , les droits seront défini lors du montage

ou moins prise de tête utilise smbnetfs

edit:
la version du protocole du serveur dépend de la version du noyau utilisé

Manjaro (v4.17.0)


c'est la version de Samba , version du paquet non la version du protocole

Dernière modification par Croutons (26-10-2022 14:32:37)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#5 26-10-2022 16:05:45

sylvain_78
Membre
Lieu : Nouvelle Aquitaine
Distrib. : Bookworm
Noyau : Linux 6.1.0-13-amd64
(G)UI : KDE plasma
Inscription : 31-10-2017

Re : Samba m'a tué...

Croutons a écrit :

c'est du coté serveur qu'il faut regarder

testparm -vs | grep "protocol"



Voici la sortie :


Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)

Server role: ROLE_STANDALONE

  client ipc max protocol = default
  client ipc min protocol = default
  client max protocol = default
  client min protocol = SMB2_02
  server max protocol = SMB3
  server min protocol = SMB2_02
 


Mon client Debian devrait pouvoir s'y connecter...

Croutons a écrit :


coté client tu peux essayer en spécifiant, la version lors du montage

mount -t cifs //adresse ip_du_serveur/data /mnt -o guest,vers=2.0



ça marche pas :


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
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
 



Croutons a écrit :


ou moins prise de tête utilise smbnetfs


Installé mais le montage ne se fait pas. J'ai suivi ce tuto https://doc.ubuntu-fr.org/smbnetfs mais côté client je ne vois pas où est précisé l'emplacement du serveur. C'est dans /etc/samba/smb.conf ?

Croutons a écrit :


la version du protocole du serveur dépend de la version du noyau utilisé

Manjaro (v4.17.0)


c'est la version de Samba , version du paquet non la version du protocole



Je ne crois pas. Voici ce que donne systemctl status smb :


● smb.service - Samba SMB Daemon
     Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; preset: disabled)
     Active: active (running) since Wed 2022-10-26 15:31:16 CEST; 30min ago
       Docs: man:smbd(8)
             man:samba(7)
             man:smb.conf(5)
   Main PID: 923 (smbd)
     Status: "smbd: ready to serve connections..."
      Tasks: 3 (limit: 4561)
     Memory: 11.3M
        CPU: 460ms
     CGroup: /system.slice/smb.service
             ├─923 /usr/bin/smbd --foreground --no-process-group
             ├─937 /usr/bin/smbd --foreground --no-process-group
             └─939 /usr/bin/smbd --foreground --no-process-group

oct. 26 15:31:15 Minus systemd[1]: Starting Samba SMB Daemon...
oct. 26 15:31:15 Minus smbd[923]: [2022/10/26 15:31:15.991510,  0] ../../source3/smbd/server.c:1741(main)
oct. 26 15:31:15 Minus smbd[923]:   smbd version 4.17.0 started.
oct. 26 15:31:15 Minus smbd[923]:   Copyright Andrew Tridgell and the Samba Team 1992-2022
oct. 26 15:31:16 Minus systemd[1]: Started Samba SMB Daemon.
 



Mais j'ai tout de même du positif : j'arrive à me connecter avec smbclient. En revanche, pas d'accès aux fichiers...


root@PCSylvain:/home/sylvain/.smb# smbclient \\\\192.168.1.16\\data
Enter WORKGROUP\sylvain's password:
Anonymous login successful
Try "help" to get a list of possible commands.
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*
smb: \>
 

Hors ligne

#6 26-10-2022 17:36:58

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Samba m'a tué...

sylvain_78 a écrit :

ça marche pas


dernière chance en vers=1.0 , c'est bizarre , tu as quoi comme noyau

uname -a


le version 1 est moins sécurisé mais moins pénible ,les droits ne doivent plus être imposé par le serveur ce qui permet de mettre les options de montage

mount -t cifs //192.168.1.16/data /mnt  guest,user,iocharset=utf8,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,_netdev,nosetuids,vers=1.0


vérifié uid et gid de l'user sur le client

id



même config sur ma VM

smbclient //192.168.1.48/data


Enter WORKGROUP\test's password:
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Wed Oct 26 10:17:55 2022
  ..                                  D        0  Mon Oct 24 17:46:33 2022
  .acl_test.swp                      AH     1024  Wed Oct 26 10:17:55 2022
  temp.sh                             A      363  Tue Oct 25 12:11:31 2022
  .bashrc                             H     7615  Wed Oct 19 11:58:35 2022
  .xsession-errors.old                H    12653  Sun Oct 23 19:21:42 2022
  test_user                           A        9  Mon Oct 24 20:36:08 2022
  client                              D        0  Wed Oct 26 09:48:15 2022
  tempdf.sh                           N     4099  Fri Oct 21 10:02:25 2022
  .bash_history                       H    66941  Sun Oct 23 19:07:48 2022
  new.txt                             A       13  Wed Oct 26 09:48:59 2022
  client2                             D        0  Tue Oct 25 13:28:09 2022
  .new.txt.swp                       AH     1024  Wed Oct 26 09:53:03 2022
  test.txt                            A       73  Tue Oct 25 12:00:47 2022
  acl_test                            A       14  Wed Oct 26 10:02:58 2022

    18490196 blocks of size 1024. 3635884 blocks available
smb: \>
 


edit : ma faute

server min protocol = SMB2_02


essaye vers=3.0 ou vers=2.1
sur ma VM sa passe avec un serveur sous Bulleyes
mais ils transmet les droits pas moyen de faire autrement que de mettre des droits acl avec droit pour tous
sa peut aller sur un monopost
donc avant de se connecter au serveur

setfacl -R -m o:rwx /data


mount --verbose -t cifs  //192.168.1.16/data /mnt -o guest,file_mode=0777,uid=1001,gid=1001,vers=3.0


avec éventuellement un autre terminale en monitoring pour voir l'arriver des messages

dmesg -w



Un petit bug pendant mes essais si jamais j'ai essayé d'ouvrir un fichier avec nano , il y a un fichier caché qui se créé .fichier.swp
a chaque tentative, j'aurais un message d'erreur comme quoi le fichier est ouvert dans un autre nano avec numéro de pid indiqué
il n'en est rien le pid n'existe pas c'est le fichier caché le fautif 
mais une fois les acls indiquer plus de soucis
setcifsacl est sensé géré les droits plus finement , mais j'ai rien eu de concluant

Dernière modification par Croutons (26-10-2022 18:40:27)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#7 26-10-2022 18:23:28

sylvain_78
Membre
Lieu : Nouvelle Aquitaine
Distrib. : Bookworm
Noyau : Linux 6.1.0-13-amd64
(G)UI : KDE plasma
Inscription : 31-10-2017

Re : Samba m'a tué...

Croutons a écrit :


dernière chance en vers=1.0



Marche pas non plus...

Croutons a écrit :


, c'est bizarre , tu as quoi comme noyau

uname -a



Voici le noyau du client :


Linux PCSylvain 5.10.0-19-amd64 #1 SMP Debian 5.10.149-2 (2022-10-21) x86_64 GNU/Linux
 



et le noyau du serveur :


Linux Minus 5.17.9-1-MANJARO #1 SMP PREEMPT Wed May 18 09:20:53 UTC 2022 x86_64 GNU/Linux
 



Croutons a écrit :


le version 1 est moins sécurisé mais moins pénible ,les droits ne doivent plus être imposé par le serveur ce qui permet de mettre les options de montage

mount -t cifs //192.168.1.16/data /mnt  guest,user,iocharset=utf8,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,_netdev,nosetuids,vers=1.0


vérifié uid et gid de l'user sur le client



J'ai les mêmes ids pour le user sylvain et le groupe sylvain sur le serveur et le client. J'ai ajouté sylvain comme user avec smbpasswd -a, et donné les droits à sylvain sur le répertoire /data du serveur et j'arrive à me connecter sous cette identité côté client avec smbclient. Mais toujours pas de ls possible.

Quant au mount voici ce qu'il me répond le fourbe smile

mount error(95): Operation not supported


a priori le serveur n'accepte pas la version 1 du protocole. C'est 2 mini...

Merci encore pour ton aide !
Sylvain

Hors ligne

#8 26-10-2022 18:41:40

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : Samba m'a tué...

oui marche pas j'ai modifié mon message, on c'est croisé
oui c'était dans le résultat de testparm, j'ai de suite vu avec dmesg kernal_panic.gif

Dernière modification par Croutons (26-10-2022 18:44:08)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#9 16-11-2022 12:07:38

sylvain_78
Membre
Lieu : Nouvelle Aquitaine
Distrib. : Bookworm
Noyau : Linux 6.1.0-13-amd64
(G)UI : KDE plasma
Inscription : 31-10-2017

Re : Samba m'a tué...

Bonjour,

J'ai finalement trouvé ce qui n'allait pas : apparmor bloquait les accès à smbd sur le serveur.
J'ai également corrigé la façon de monter le partage et maintenant tout roule !

Sylvain

Hors ligne

Pied de page des forums