Samba problème d'autorisation sur un répertoire spécifique

Hello à tous

Je viens quérir un peu d’aide concernant un problème avec Samba.
En gros je veux faire un serveur de stockage sur un raspberry pi/Raspbian avec l’aide d’un HDD externe et de samba.

La configuration de tout ce beau monde c’est bien passé mais voila petit souci lorsque je veux accéder à distance sur le répertoire de mon HDD externe (screen ci-dessous):

w10prob

J’ai donc deux répertoires en réseau:

Le /pi: Qui marche très bien en écriture/lecture mais qui est basé sur la carte SD du Raspberry.

Et le /public/metro: Qui lui me refuse l’accès pourtant le plus intéressant car basé sur mon HDD externe.

Le problème vient très probablement d’une configuration de droit sur le serveur Samba pour mon répertoire /public/metro mais j’avoue sécher sur les solutions malgré quelques recherches.

J’ai essayé d’accéder à ce même répertoire qui bloque via Unbuntu sur virtualbox… même problème.

Je vous donne mon smb.conf:


[global]
        log file = /var/log/samba/log.%m
        max log size = 1000
        syslog = 0
        panic action = /usr/share/samba/panic-action %d
        usershare allow guests = Yes
        map to guest = Bad User
        obey pam restrictions = Yes
        pam password change = Yes
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:
* %n\n *password\supdated\ssuccessfully* .
        passwd program = /usr/bin/passwd %u
        security = USER
        server role = standalone server
        unix password sync = Yes
        dns proxy = No
        idmap config * : backend = tdb


[homes]
        comment = Home Directories
        browseable = No
        create mask = 0700
        directory mask = 0700
        read only = No
        valid users = %S


[printers]
        comment = All Printers
        path = /var/spool/samba
        browseable = No
        printable = Yes
        create mask = 0700


[print$]
        comment = Printer Drivers
        path = /var/lib/samba/printers


[public]
        comment = Public Storage
        path = /home/shares/public
        create mask = 0660
        directory mask = 0771
        force group = users
        read only = No
        valid users = @users

Je suis vraiment tout nouveau avec tout ça, un peu d’aide de la part de grands sages serait grandement apprécié !

Merci d’avance et très bonne journée à vous.

Bon a priori, moi, rien ne me choque là dedans (mais bon, j’ai pas forcément le meilleur oeil sur samba).

Par contre les droits en écriture, ça dépend aussi :

  • de si tu as bien monté ta partition de disque externe en read/write
  • de comment tu as monté cette partition en terme de droits (à qui appartient le mount, quels sont les droits “users”),
  • quels sont les droits sur le répertoire Metro.
    Sachant que quand tu veux écrire, c’est en tant que ton identifiant si tu t’es identifié, en tant que nobody si ta connexion samba est anonyme.

Merci pour ta réponse !

Concernant la partition comment je peux vérifier ça ? Avec un fdisk ?
Idem pour le répertoire Metro, comment je pourrais voir ça ?

Je m’identifie toujours avec mes identifiants par défauts donc le premier mdp que j’ai définis lors de l’installation du serveur samba, je pense que c’est bon normalement vu qu’avec le répertoire PI tout va bien.

Tu peux voir ses caractéristiques de montage avec mount.
Mais tu ne l’as pas configurée toi même dans /etc/fstab cette partition ?

ls -l /home/shares/public

Hello !

Je l’avais en effet déjà configuré dans /etc/fstab avec ceci:

dev/sda1 /home/shares/public/metro auto noatime 0 0

Voici ce que me donne mount concernant le répertoire du HDD:

/dev/sda1 on /home/shares/public/Metro type ntfs (ro,noatime,uid=0,gid=0,fmask=0177,dmask=077,nls=utf8,errors=continue,mft_zone_multiplier=1)

Je ne sais pas si tout est en ordre ^^

Pour le répertoire Metro voici ce que j’obtiens avec ta commande:

total 4
dr-x------ 1 root root 4096 janv. 24 18:03 Metro

Je comprends pas grand chose la :sweat_smile:

Petite note: Si jamais je peux passer par une interface webmin ce sera peut être un peu plus simple pour repérer le problème.

webminsamba

Oublie samba, il me semble configuré correctement.
Pour webmin, non, ce n’est pas plus simple pour moi, je ne l’utilise pas, donc je n’y reconnaîtrais rien.

Alors non.
Comme tu peux le voir dans le résultat du mount, la partition /dev/sda1 est montée sur /home/shares/public/metro en ro (read only).

C’est normal, ta partition est une partition ntfs, et par défaut, seule la lecture des partitions ntfs est possible “nativement” dans le noyau linux.

Il y a moyen de monter ta partition ntfs en rw (lecture+ecriture), mais ce n’est pas natif linux, donc ça va charger inutilement ton raspi lors de tes accés disques, je crois.

Si tu n’as encore rien mis sur ta partition, je te conseille plutôt de la reformatter en ext4 (le plus simple si tu ne sais pas) ou un autre format qui soit natif linux et adapté à ce que tu vas mettre dessus (il y a des partitionnement adaptés aux petits fichiers, aux gros, suivant que tu fais de l’image, de la vidéo, etc).

Quel que soit le choix de partition que tu feras, note que ça sera transparent pour tes clients samba, ça ne changera rien.

Ensuite, que tu choisisse de rester en ntfs ou de changer, il faudra reconfigurer ton fstab pour monter ta partition en lecture/ecriture.

Et aprés, il faudra vérifier les droits sur les répertoires, ils peuvent encore etre mal configurés. :wink:

J’ai bien suivis tes indications et tes conseils et en effet formater mon HDD en ext4 m’a fait un peu avancé, je peux maintenant ouvrir mon répertoire Metro :grin:

En revanche je ne peux rien écrire dessus.

J’ai essayer de fouiller le plus possible pour bien configurer mon fstab et les droits sur le répertoire comme tu me l’a indiqué (je comprends beaucoup mieux les codes avec chmod, u=rwx g=rw etc ainsi que la structure de fstab).

J’ai donc dans un premier temps modifier le fstab comme ceci:

/dev/sda1  /home/shares/public/Metro  **ext4**  noatime,**rw**  0  0

Ce qui est entre les astérisques étant les modifications

Puis j’ai utilisé chmod pour les permissions du répertoire, ce qui donne ceci:

pi@raspberrypi:~ $ ls -l /home/shares/public
total 4
drwxrwxr-x 3 root root 4096 févr. 13 20:16 Metro

Est-ce normal qu’il y est autant de rwx pour l’utilisateur ? :hushed:

Cependant j’obtiens ceci une fois dans le répertoire Metro lorsque je veux créer un dossier:

Nowrite

C’est vraiment complexe les permissions :sweat_smile:

Alors en fait, non, les droit pour l’ensemble des users, ce sont ceux à droite.
Dans l’ordre, tu as:
une lettre qui dit que c’est un répertoire d
rwx pour l’utilisateur root
rwx pour le groupe root
r-x pour tous les utilisateurs.

Donc plusieurs possibilités, suivant tes choix:

  • tu donnes les droits d’ajout suppression à tout le monde chmod g+w Metro
  • attribuer le repertoire Metro à ton groupe users (dont fait partie tes users) chgrp users Metro
    Bref, là, c’est juste sur les droits que tu veux mettre pour la confidentialité, qu’il faut jouer, mais là, ça n’est plus un “probléme”, c’est une question de choix de config.

Mission accompli !
Tout marche très bien après avoir opter pour chgrp :grin:

Je te remercie infiniment pour ton aide Mattotop, j’ai énormément appris et sans toi j’aurais galéré encore longtemps.

J’espère que ce post pourra servir à beaucoup de monde :grinning:

Merci encore chef et bonne journée :smiley: