Partages samba freenas avec gestion des droits

Bonjour, comme d’habitude les infos que vous trouverez ci-dessous ne sont pas forcément exemptes d’erreurs, notament des erreurs qui pourraient mettre en cause la sécurité de votre système. Ceci étant dit, commençons:

Petite intro à six sous:
Freenas est une distribution basée sur freebsd, elle vise à transformer un PC standard en Nas. De bons articles et  tutos existent concernant l’installation de la distribution mais ceux portant sur le partage de fichiers avec gestion des droits utilisateurs sont assez rares, pour ne pas dire inexistants. Ce tuto, ou d’ailleurs ce mémo est donc là pour vous donner des pistes sur la partage de fichiers avec gestion des droits et des utilisateurs.

Info sur mon installation freenas en place actuellement:

Configuration montée dans un boitier microItx avec carte mère Intel D945GCLF2, processeur atom 330 à 1,6GHz, 2GO de RAM DDR2, deux disques d’1TO montés en raid 1 (raid miroir) pour les données et une compact flash 2GO en IDE pour le système.

Les avantages de cette config:

  • Coût d’achat faible environ 300€.
  • Consommation électrique de l’ordre de 100W en charge maxi.
  • Encombrement très réduit (de la taille d’une boite à chaussures).
  • Ensemble silencieux si on modifie un peu le système de fixation des disques pour éviter les vibrations.
  • Possibilité d’ajouter des disques ou périphériques en USB.
  • 1 slot PCI de libre.

Les inconvénients:

  • Faible évolutivité à cause du facteur de forme du boitier et donc de la carte mère. Des disques peuvent éventuellement être branchés en USB.
  • Freenas 0.7 ne supporte pas le shipset de la carte mère pour avoir une clef USB comme disque système.
  • Impossible de relier une machine à café senséo car pas de connectique café out.

Venons en à présent au cœur de ce petit mémo ou howto pour les intimes des trucs du genre.

Le cahier des charges (ouéoué, on va faire ça bien)
-Pouvoir partager divers contenus en gérant les droits et utilisateurs.-Pouvoir ajouter simplement des répertoires ou fichiers à chaque utilisateurs.
-L’arborescence sera la suivante:

public est un dossier contenant tous les contenus visibles par tous les utilisateurs. Les contenus ne peuvent pas êtres modifiés, seulement l’administrateur à le droit d’écriture.

torrents contient les sources et les téléchargement pour le client bitTorrent de freenas, accessible et modifiable par tout le monde.

user contient le dossier home de chaque utilisateur, chaqu’un a accès seulement à son dossier.

Les outils nécessaires:
Freenas V0.7 avec les servicse SSH, SMB  et éventuellement FTP d’activés et de fonctionnels
Client SSH putty si vous êtes sous windows pour l’administration du NAS.
/!\ le login administrateur en SSH n’est pas admin mais root. Le mot de passe est le même que celui de l’interface web.

La création des groupes:
Nous n’allons pas créer de groupe, les groupes de base irons très bien, on va utiliser le groupe wheel (équivalent de l’administrateur de windows) et le groupe guest.

Les utilisateurs:
Adrien sera l’administrateur, il fera donc parti du groupe wheel son dossier home sera /mnt/freenas/users/adrien.
Mathieu, Stéphane et les autres seront de simples invités, ils feront parti du groupe guest avec comme home /mnt/freenas/users/UtilisateurEnQuestion

Configuration des permissions:
Nous pouvons maintenant configurer les permissions et propriétaires sur chaque répertoire. Les commandes utiles seront chown et chmod. On utilisera ls -l pour lister les éléments avec leurs droits respectifs dans le répertoire courant. Les commandes sont à taper en SSH (ne pas oublier d’activer SSH dans la liste des services)

Pour le répertoire adrien le propriétaire sera adrien et le groupe propriétaire wheel. On fait donc un « chown -R adrien:wheel adrien/ »
Pour le répertoire mathieu le propriétaire sera mathieu et le groupe propriétaire wheel (de façon à ce qu’ adrien puisse aussi y accéder) on fait donc un « chown -R mathieu:wheel mathieu/ »
On fait la même chose pour les répertoires de chaque utilisateur…
Pour le répertoire public le propriétaire est Adrien et le groupe guest

Passons à présent à la mise en place des droits sur les répertoires avec la commande chmod.
Pour le répertoire de chaque utilisateur un fait un « chmod -R 770 repUtilisateurEnQuestion » Le propriétaire aura donc tous les droits, le groupe aussi et les autres, aucun droit.
Pour le répertoire public on va faire chmod, un chmod quoi? un chmod de façon à ce que les utilisateurs hormis Adrien ne peuvent modifier les contenus. (C’est ce que demandait le cahier des charges). Un petit chmod 755, un  711 pourrait aussi marcher mais je préfère garder le droit d’exécution pour diverses raisons même si c’est pas très sécure, mais pour mon utilisation, aucun problème.

Vous pouvez faire régulièrement des ls -l pour vérifier que tout corresponde à ce que vous souhaitez.

Logiquement, tout est désormais fonctionnel. Pour tester on va utiliser une machine sous windows. Vous remarquerez qu’une fois logué, il est impossible de se déloguer pour tester avec un autre compte utilisateur. On va donc utiliser la commande net use \\IPfreenas\partage /DELETE
Pour se connecter avec un autre utilisateur on fait un net use \\IPfreenas\partage /USER:login motDePasse
Voilà qui devrait vous aider.

Ce howto est terminé. Soyez sages et travaillez bien.
Adrien

Ajouter un commentaire, ou un trackback depuis votre site.

13 commentaires sur “Partages samba freenas avec gestion des droits”

  1. Adrien dit :

    Bonjour,
    Au prix de la RAM j’ai préféré mettre 2GO. Par contre, c’est vrai que c’est, je pense sur-évalué.
    Il faudrait vérifier la config recommandée sur le site officiel….

    Merci de me lire.
    Adrien

  2. Thorfin89 dit :

    Toujours intéressante de profiter de l’expérience des autres avant de se lancer soi-même.

    2Go en RAM, ça n’est pas du luxe pour un tel système ?

  3. nephaste dit :

    Je te confirme également, que les users et groups n’apparaissent pas dans la Webui user / group mais bien dans la section Diagnostiques/informations/Domaine MS. comme tu dis.

    donc impossibilité de les gérer via l’interface web…

    j’ai même essayer de modifier le smb.conf en remplacant

    template homedir = /mnt
    template shell = /bin/sh

    par

    template homedir = /mnt
    template shell = /sbin/nologin

    mais au rédemarrage de Samba, il me restaure la config… pas facile à maitriser la bête…

  4. Adrien dit :

    Bonjour nephaste, oui mes utilisateurs apparaissaient dans la console web du Freenas. Dans la section Diagnostiques/informations/Domaine MS.
    /!\ Ils n’apparaissaient pas dans Accès/Utilisateurs et groupes! mais étaient bien actif et les droits sur les différents répertoires fonctionnait parfaitement.

    A+
    Bon courage.
    Si j’ai du temps ce WE, je reteste avec un 2003, il me semble que j’ai une VM qui tourne et qui ne fait rien.

  5. nephaste dit :

    Question bête Adrien, quand tu as fait ton test avec Windows 2003, tes users et groupes apparaissaient ils dans la console Freenas ?

    car j’ai l’impression que ce n’est que la base des utilisateurs et groupes créée localement par Freenas.

    et qu’en aucun cas, il rajoutera l’import des users et groupes de l’AD… j’essaye de piger…

    Merci encore.

  6. nephaste dit :

    petit point ou j’en suis suite à mes tentatives d’intégration de freenas dans un ADS Windows Server 2008 R2 Standard.

    En version Freenas 0.7.2 :

    De gros problème d’intégration des erreurs partout dans les logs selon la config entrée dans le setup de l’Active Directory de freenas. dans le meilleur cas, je me retrouve avec un problème de publication des Imprimantes… bizarre

    au reboot Freenas me demande un mots de pass pour l’utilisateur portant le nom de ma machine (freenas) avec un $ (ca sent la variable) …j’ai Essayer le mots passe admin du domaine, admin de freenas… rien n’y fait j’obtiens le message dans le shell :

    wrong user password
    NT_STATUS_LOGON_FAILURE
    unable to join domain

    Probablement lié à la MAJ de SAMBA dans freenas

    En version 0.7.1

    la connexion se fait sans trop de problème, sauf qu’il n’arrive a pas connecter certain groupe administratif de mon serveur 2008 R2 :(

    le plus étrange c’est que mes utilisateur apparaissent bien en lançant la commande :

    « getent passwd » tout les users sont présents, mais ils n’apparaissent pas dans la WEBUI de Freenas.

    et la commande :

    « net ads testjoin » me renvoie

    Join to domain is not valid: No logon servers

    Là je suis pommer… si quelqu’un à une idée ???

    Ca fonctionne direct..

  7. Adrien dit :

    Hello nephaste, ton pseudo est plutôt… étrange :)
    Pas de tuto prévu pour le moment sur l’intégration du freenas avec un 2008 serv et un AD.
    Pour le test j’avais tenté la configuration avec un 2003 standard en contrôleur de domaine, et je m’étais étonné de la simplicité de la chose! mes groupes et utilisateurs étaient synchronisés sans soucis particuliers!
    Donc désolé, mais je ne vais pas pouvoir t’être d’une grande aide pour le moment :)
    A+
    N’hésite pas à faire remonter des infos par le biais des commentaires si tu trouve la solution à tes problèmes.

    Adrien

  8. nephaste dit :

    Super tuto, ca m’éclaircit les idées, dommage que les acl ne se gèrent pas via une interface web comme sur les Thecus NAS…

    Par contre qu’elle galère pour intégrer dans un AD en Windows 2008 Serveur R2, ca fait deux jours que je trime et je ne vois pas le jour…

    des erreurs bizarre dans les logs… je pensais a un problème de synchro d’horloge entre freenas et le contrôleur de domaine.. mais non… toujours des erreurs et toujours pas mes utilisateur ni mes groupes… Pfffffffff.

    Un ptit tuto la dessus serait super… mais je vois rien sur le net.

  9. Pascal dit :

    Bonjour Adrien, me revoilà après quelques jours de tests et de configuration.

    Tu avais raison, c’est bien anonyme et pas « no login » petite erreur de ma part, j’ai bien les 3 options que tu mentionnes. Je continue à bosser sur tout ca pour bien maitriser le sujet. Je ne connais pas bien l’active directory et les noms de domaine donc pas encore essayé. On verra ;-) Je ne manquerai pas de te tenir au courant. Si jamais tu as des astuces, je suis preneur, a+

  10. Adrien dit :

    Salut,
    L’option no login n’existe pas sur ma version de freenas. Tu as quoi comme choix possibles pour ce paramètre?
    Moi j’ai anonyme, login local et domaine. J’ai sélectionné l’option login local.
    D’ailleurs j’ai fait des tests avec domaine, et ça fonctionne nikel si on fait pointer freenas vers l’active directory.
    A+

  11. Pascal dit :

    Hello,

    Merci pour la réponse, j’avais essayé tous ces points afin d’effectuer les tests mais apparemment le problème venait de la configuration du serveur samba. Dans l’option authentification de l’interface graphique freenas, j’ai du choisir « login local » au lieu de « no login ». Maintenant cela fonctionne sans problème, juste encore quelques tests à effectuer mais ca semble bon! Dis moi toujours ce que tu en penses.

    Merci beaucoup en tout cas, @ bientot.

  12. Adrien dit :

    Salut Pascal,
    Avant de mettre en place les droits sur tes répertoires, avais-tu accès aux dossiers qui posent problème aujourd’hui?
    Le couple mot de passe/nom d’utilisateur est t’il strictement identique sous windows et freenas? Attention aux nom d’utilisateurs et à leurs majuscule, dans un environnement que windows on s’en fiche, par contre freenas y est sensible.
    As tu utilisé \\IPfreenas\partage /DELETE et net use \\IPfreenas\partage /USER:login motDePasse pour faire des tests?

    A+
    Adrien

  13. Pascal dit :

    Salut Adrien,

    J’ai suivi ton howto qui est super interessant et qui correspond à ce que je voulais mettre en place chez moi. Ayant des difficultés à mettre en place des repertoires persos sécurisés pour chaque user, j’ai fait des recherches et suis tombé sur ton blog.
    Malgré avoir suivi à la ligne tes instructions, sous windows j’ai toujours le message comme quoi je ne dispose pas des droits pour acceder au repertoire.

    Peux tu me dire d’ou viendrais le problème?

    D’avance je te remercie et merci également pour le tuto ;-)

Ajouter un commentaire

Powered by WordPress