Remplacer un serveur de fichiers Windows dans un domaine, par un serveur sous GNU/Linux n’est pas simple. La documentation est souvent en anglais et on a tendance à croire que Samba peut tout faire.
Je vous présente un cas concret et fonctionnel qui permet de faire un serveur Samba, membre d’un domaine sous Microsoft Active Directory. Grâce aux ACL (Access Control List), nous aurons une gestion fine des droits sur les partages comme avec un serveur sous Windows Server avec NTFS. L’exemple est sous Ubuntu, mais transposable à d’autres distributions GNU/Linux.
Sommaire
- Introduction
- Résumé du fonctionnement
- Prérequis
- Préparation de la machine virtuelle
- Création d’un partage
- Conclusion
Introduction
Je suis administrateur système en entreprise. Il y a deux ans je me suis demandé comment remplacer nos serveurs de fichiers Windows 2008r2 par du GNU/Linux. Ça mʼa pris deux ans (à temps perdu) pour trouver de la documentation et comprendre comment ce foutu truc pouvait fonctionner. Lʼéchéance de la fin du support de Windows 2008r2 arrivant rapidement, je m’y suis attelé sérieusement fin août 2019.
Nous nʼavons plus de serveur de fichiers sous Windows depuis mi‑septembre : les vingt-cinq partages réseau sont répartis sur six machines virtuelles (VM) sous Ubuntu 18.04 (une machine virtuelle sur chaque hyperviseur de notre grappe de serveurs Proxmox VE. Les Active Directory tournent encore sous Windows, ce sera la prochaine étape.
Ma grande difficulté a été de comprendre qu’on ne pouvait pas tout faire dans Samba, notamment définir les droits dʼaccès. Pour faire un partage CIFS, il nous faut différentes couches logicielles, chacune faisant son boulot dans la plus grande tradition unixienne.
Résumé du fonctionnement
Samba
Samba va permettre au client de se connecter en exportant le partage, il va regarder si le client a le droit de se connecter (uniquement les utilisateurs authentifiés du domaine). Nous nʼallons pas définir avec Samba qui a le droit de lire ou écrire.
Les ACL
Utilisées avec le système de fichiers ext4, les ACL permettent dʼautoriser les accès aux fichiers (genre on nʼautorisera pas les commandes numériques des machines outils dans les ateliers à aller sur le partage de la comptabilité). Mais plus finement, on pourra interdire à un groupe ou une personne d’écrire dans un sous‑répertoire (exemple réel : les douanes renvoient par Internet via un programme d’exportation, des fichiers XML que nous devons conserver dix ans, les commerciaux doivent pouvoir les lire mais pas les modifier ; donc, avec les ACL, nous empêchons de modifier ce répertoire à tout le monde, sauf à lʼutilisateur avec lequel tourne ce programme d’exportation).
LVM
Pour éviter que les rigolos du marketing ne prennent trop dʼespace disque, nous voulons limiter lʼespace de stockage disponible par partage. Sous GNU/Linux, les quotas sont par utilisateur ou groupe, cʼest pratique pour les espaces de stockage personnels, mais ce nʼest pas fonctionnel dans le cadre d’un département. LVM est génial dans ce cas, on crée un volume logique (LV) par partage, et nous pouvons facilement l’agrandir si besoin. Je pense que ça doit être utilisable sur ZFS ou Btrfs (pour autant quʼon ait les ACL).
Prérequis
Les prérequis sont :
- avoir un domaine avec Active Directory fonctionnel (cʼest nécessaire dans le cadre de cet article) ;
- avoir des notions dʼadministration GNU/Linux : savoir ce quʼest LVM, savoir installer un GNU/Linux, connaître SSH et utiliser un éditeur en terminal (
nano
est très simple), etc. ; - avoir des notions dʼadministration Windows (savoir ce quʼest un Active Directory, un partage réseau, connaître les droits NTFS, les droits des partages…) ;
- avoir un GNU/Linux opérationnel (dans notre cas une Ubuntu serveur 18.04), qui a une adresse IP, un nom de machine qui correspond au nom quʼon lui donnera dans le domaine et qui est dans la zone DNS de votre domaine (
IN A
).
Préparation de la machine virtuelle
Donc, dans notre exemple, il nous faut une machine virtuelle sous Ubuntu 18.04 à jour, avec deux disques virtuels (le premier pour le système, le deuxième pour les partages). Bien sûr, dans ce cas, le choix dʼUbuntu est complètement arbitraire, vous pouvez le faire avec votre distribution préférée (attention, hors du monde des dérivés de Debian, les fichiers de configuration peuvent être stockés différemment).
Attention, dans le cadre de Proxmox, il nous faut du KVM et pas de conteneur LXC (car nous avons besoin des ACL, et nous ne voulons pas triturer le système de fichiers de notre hôte). Bien sûr, si vous êtes sous Proxmox, vos disques sont dans Ceph, dans du LVM, du ZFS ou dans un LUN ; si vous utilisez un disque virtuel au format QCOW2, vous allez vivre dangereusement.
Installation des logiciels d’authentification sur le domaine
Nous allons installer les logiciels nécessaires pour le bon fonctionnement de Samba dans le domaine :
-
realmd
est un orchestrateur qui va utiliser les logiciels PAM, NSS, winbind, etc., pour communiquer avec le domaine ; -
winbind
sert à faire de l’authentification sous GNU/Linux avec un Active Directory.
apt install acl realmd libnss-winbind
apt install winbind
Créer lʼespace de stockage des partages
Créer la partition qui sera le support de vos partages
Pour pouvoir gérer des partages avec des espaces de stockage différents, nous allons utiliser le gestionnaire de volumes logiques LVM. Il nous faut tout dʼabord une partition pour accueillir le groupe de volumes (VG) ou les volumes logiques (LV) seront stockés. Nous pouvons la créer avec fdisk
ou un autre outil, sur un disque nommé ici sdb
:
fdisk /dev/sdb
Entrer n
pour créer une nouvelle partition, accepter les choix par défaut. Entrer w
pour enregistrer et sortir.
Créer le groupe de volumes LVM
On nomme ce groupe de volumes « samba » par commodité. On créera les volumes logiques (LV) plus tard :
vgcreate samba /dev/sdb1
Joindre la machine virtuelle au domaine
Comme un exemple est plus simple pour expliquer, nous allons dire que notre domaine est example.com. Dans ce cadre ad001.example.com
est notre premier serveur Active Directory et ad002.example.com
notre deuxième. Ils tournent encore sous Windows.
Installer Kerberos
apt install krb5-user
Kerberos va permettre l’authentification des utilisateurs via le domaine. Pour cela nous devons le renseigner sur notre domaine en configurant le fichier /etc/krb5.conf
:
# Ajouter dans [realms], à la fin des autres entrées par exemple
EXAMPLE.COM = {
kdc = ad001.example.com # l’adresse de notre premier ad (serveur active directory)
kdc = ad002.example.com # l’adresse de notre deuxième ad
admin_server = ad001.example.com # l’AD principal
default_domain = example.com # notre domaine, dans ce cas example.com
}
# et dans [domain_realm], à la fin
.example.com = .EXAMPLE.COM
example.com = EXAMPLE.COM
# en bas du fichier, ajouter ce nouveau segment si vous avez des dinosaures dans votre réseau (vieux Windows, par exemple)
[login]
krb4_convert = true
krb4_get_tickets = false
Installer Samba
apt install samba
Samba cʼest le cœur, nous allons le configurer comme serveur de fichiers membre du domaine example.com. Voici les modifications à faire dans le fichier /etc/samba/smb.conf
, le reste on ne le touche pas, on laisse la configuration par défaut :
# Dans workgroup nous mettons le nom NetBIOS de notre domaine (sans le .com et en majuscules)
workgroup = EXAMPLE
# ici nous pouvons cacher des fichiers qui ne seront pas visibles par les utilisateurs (facultatif)
hide files = /lost+found/
# on définit le rôle de notre serveur (dans notre cas membre d’un domaine)
server role = member server
# nous activons la gestion des ACL dans Samba
# rajouter en dessous de map to guest = bad user
nt acl support = yes
inherit acls = Yes
username map = /etc/samba/user.map
map acl inherit = Yes
map archive = no
map hidden = no
map read only = no
map system = no
store dos attributes = yes
inherit permissions = Yes
security = ADS
realm = EXAMPLE.COM
# fin de l’insertion en dessous de map to guest = bad user
Enfin, on configure Samba pour qu’il utilise les utilisateurs du domaine à l’aide de la correspondance des identifiants. Voici les modifications à faire dans /etc/samba/smb.conf
:
# décommenter la ligne template shell = /bin/bash
# en dessous de cette ligne rajouter ce qui suit
idmap config example : schema_mode = rfc2307
idmap config example : range = 10000000-29999999
idmap config example : default = yes
idmap config example : backend = rid
idmap config * : range = 20000-29999
idmap config * : backend = tdb
winbind use default domain = true
Installer un serveur de temps
apt install ntp
Dans un domaine, toutes les machines (clients ou serveurs) doivent être à la même heure, au risque de ne pas pouvoir se connecter ou accéder à des ressources. Sous GNU/Linux, nous allons utiliser le programme NTP pour être à la même heure que le domaine. Nous allons prendre comme référentiel le serveur Active Directory principal. On configure le fichier /etc/ntp.conf
:
# Commenter (avec un #) les pools x.ubuntu.pool… et le pool ntp.ubuntu.com
# en dessous rajouter
NTPSERVERS="ad001.example.com"
# options supplémentaires pour ntpupdate (je ne sais pas pourquoi mais c’est là dans les docs)
NTPOPTIONS="-u"
On plonge la machine virtuelle dans lʼAD (Active Directory)
Cʼest équivalent à joindre un domaine sur un ordinateur sous Windows.
Nous allons redémarrer NTP et Samba pour prendre en charge nos modifications :
service ntp restart
service smbd restart
Avec la commande net ads
nous allons joindre la machine virtuelle au domaine.
Remplacer Administrator par l’utilisateur administrateur de votre domaine, NOMDUSERVEUR par le nom de votre serveur, example.com par le nom DNS de votre domaine. Ça va vous demander un mot de passe, vous devrez mettre le mot de passe de lʼadministrateur de votre domaine.
net ads join -S ad001 -U Administrator joined NOMDUSERVEUR to realm example.com
Vous devez voir en réponse :
Joined 'NOMDUSERVEUR' to dns domain 'EXAMPLE.COM'
Si vous voyez DNS update failed: NT_STATUS_UNSUCCESSFUL
, ce nʼest pas grave, il faudra ajouter vous-même le nom de la machine dans votre zone DNS.
Nous allons redémarrer winbind, vu que nous sommes dans lʼAD :
service winbind restart
Configurer NSS
Nous allons configurer le Name Service Switch, c’est un programme qui va chercher, entre autres, les infos sur les utilisateurs lors de leur connexion (habituellement /etc/passwd
et /etc/group
). Dans notre cas, nous allons indiquer en premier la méthode « files » (les utilisateurs locaux) et en second winbind, qui est un programme qui va interroger le domaine Windows.
# Modifier /etc/nsswitch.conf comme ci‑dessous
passwd: files winbind
group: files winbind
shadow: files winbind
On teste pour vérifier si tout est bon jusqu’à maintenant
realm discover -v example.com
Vérifiez que ça vous remonte les adresses IP des AD. Le résultat doit contenir :
Performing LDAP DSE lookup on: x.x.x.x (une fois par serveur AD)
Préparation de PAM
PAM signifie Pluggable Authentication Modules. NSS va interroger lʼAD et, grâce à PAM, nous allons autoriser lʼutilisateur à se connecter au travers de Samba. Par défaut, PAM autorise seulement les utilisateurs locaux, nous devons modifier plusieurs de ses mécanismes dʼauthentification pour quʼil accepte les utilisateurs du domaine.
Le mécanisme account
Le mécanisme account fournit une seule primitive. Il vérifie si le compte demandé est disponible : si le compte n’est pas arrivé à expiration, si lʼutilisateur est autorisé à se connecter à cette heure de la journée, etc. (dʼaprès Wikipédia).
# Modifier le fichier /etc/pam.d/common-account comme ci-dessous
account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so
account [success=1 new_authtok_reqd=done default=ignore] pam_winbind.so
Après avoir enregistré, taper la commande suivante :
pam-auth-update
Répondre no
.
Le mécanisme auth
Le mécanisme auth fournit deux primitives ; il assure l’authentification réelle, éventuellement en demandant et en vérifiant un mot de passe, et il définit des « certificats dʼidentité » tels que lʼappartenance à un groupe ou des « tickets » Kerberos (d’après Wikipédia).
# Modifier le fichier /etc/pam.d/common-auth comme ci‑dessous
auth [success=2 default=ignore] pam_unix.so nullok_secure
auth [success=1 default=ignore] pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
Le mécanisme password
Le mécanisme password fournit une seule primitive : il permet de mettre à jour le jeton d’authentification (en général un mot de passe), soit parce qu’il a expiré, soit parce que lʼutilisateur souhaite le modifier (d’après Wikipédia).
# Modifier le fichier /etc/pam.d/common-password comme ci-dessous
password [success=2 default=ignore] pam_unix.so obscure sha512
password [success=1 default=ignore] pam_winbind.so use_authtok try_first_pass
Le mécanisme session
Le mécanisme session fournit deux primitives : mise en place et fermeture de la session. Il est activé une fois quʼun utilisateur a été autorisé afin de lui permettre dʼutiliser son compte. Il lui fournit certaines ressources et certains services, par exemple en montant son répertoire personnel, en rendant sa boîte aux lettres disponible, en lançant un agent SSH, etc. (d’après Wikipédia).
# Modifier le fichier /etc/pam.d/common-session comme ci‑dessous, après la ligne :
# and here are more per-package modules (the "Additional" block)
session required pam_unix.so
session optional pam_systemd.so
session optional pam_winbind.so
session optional pam_mkhomedir.so
session required pam_mkhomedir.so skel=/etc/skel
Dernières finitions
On reconfigure le fuseau horaire (cette commande est propre à Ubuntu, Debian et leurs dérivées) :
dpkg-reconfigure tzdata
Mettre Europe → Paris si vous êtes sur le fuseau de Paris.
Et pour finir, on redémarre :
reboot
La machine virtuelle est prête pour accueillir son premier partage.
Création d’un partage
Pour l’exemple, nous allons créer un partage dénommé « salami » de 80 Gio sur notre machine virtuelle.
Préparation
Tout d’abord, une précaution :
vgdisplay
Regardez Free PE / Size pour vérifier qu’il y a assez de place disponible. Ben oui, cʼest idiot, mais ça va mieux marcher sʼil y a encore de la place !
Création du partage
Nous créons le point de montage :
mkdir /home/salami
Création du volume logique et formatage du système de fichiers en ext4
lvcreate -n salami -L 80g samba
mkfs -t ext4 /dev/samba/salami
Montage du volume logique
On cherche lʼidentifiant du système de fichiers :
blkid
Copier l’UUID fournit sur la ligne /dev/mapper/samba-salami
(seulement la partie entre guillemets). Éditer le fichier /etc/fstab
pour monter le dossier au démarrage de la machine, on y remplace l’UUID par celui obtenu avec blkid
. Attention, sans les guillemets !
UUID=7c1ffb53-89ac-432f-9f3c-e35349555820 /home/salami ext4 defaults,acl,user_xattr,barrier=1,usrquota,grpquota 0 1
Vous aurez remarqué des options inhabituelles sur notre ligne de montage :
-
acl
, car nous définissons des ACL sur cette partition ; -
user_xattr
, attributs étendus du système de fichiers, Samba en a besoin ; -
barrier=1
, pour garantir que les transactions TDB sont protégées contre les coupures de courant imprévues ; -
usrquota
etgrpquota
sont nécessaires pour utiliser des quotas par utilisateur (dans le cas d’un partage de répertoires personnels, par exemple).
Note : Dans la doc de Samba, il est écrit que ext4 intègre par défaut acl
, user_xattr
et barrier=1
, donc il nʼy aurait plus besoin de les déclarer.
Nous enlevons lʼespace réservé. Sans cette commande le système réserve 5 % pour root, c’est important sur une partition système pour ne pas bloquer la machine. Dans notre cas, ce nʼest pas important. Et 5 % de gros volume, ça fait beaucoup dʼespace réservé pour rien du tout :
tune2fs -m 0 /dev/mapper/samba-salami
Enfin, nous montons les partages :
mount -a
Vérifiez que la ligne /dev/mapper/samba-salami
est présente.
Une dernière précaution — de taille !
df -h
Définition des droits dʼaccès avec les ACL
Pourquoi de ne pas se contenter de Valid User
dans Samba ?
Si vous avez un domaine, cʼest que vous avez besoin d’une gestion centralisée des utilisateurs. Vous avez donc un certain nombre d’utilisateurs et de groupes et l’on va probablement vous demander, par exemple, que lʼaccès d’un sous‑dossier soit limité au personnel d’un service pour la lecture et autorisé seulement aux cadres pour lʼécriture. Si vous nʼavez que Samba pour gérer ça, vous devrez refaire un partage réseau par demande, vous nʼallez pas vous en sortir et vos utilisateurs non plus.
Vous pourrez aussi utiliser NFS pour les postes GNU/Linux qui accèdent à ce serveur. Dans ce cas, il n’y a pas de force user
dans NFS, donc les ACL seront nécessaires.
Je vous conseille par expérience de mettre uniquement des droits pour des groupes et de ne pas mettre des autorisations par personne. Par exemple, si M. Michu quitte l’entreprise et est remplacé par Mme Tartenpion, il suffira de copier le profil de M. Michu pour que Mme Tartenpion hérite directement des bons droits.
Dans notre cas, nous allons créer un groupe dans le domaine qui se nomme « salami-share » et nous y mettons les personnes qui auront le droit de lire et dʼécrire. Rien ne vous empêche de faire, par exemple, un groupe qui nʼaura quʼun accès en lecture.
Le chmod
suivant permet dʼéviter que le partage hérite de lʼaccès en lecture pour tout le monde.
chmod 700 /home/salami
Définition des ACL sur la racine du partage (dans notre exemple pour domain admin
et salami-share
) :
setfacl -R -m g:"EXAMPLE\domain admins":rwx /home/salami
setfacl -R -m g:"EXAMPLE\salami-share":rwx /home/salami
Définition des ACL par défaut du partage (les droits que prendront chaque dossier ou fichier créé sur notre partage ; dans notre exemple, pour domain admin
et salami‑share
) :
setfacl -R -m d:g:"EXAMPLE\domain admins":rwx /home/salami
setfacl -R -m d:g:"EXAMPLE\salami-share":rwx /home/salami
Définition du partage dans Samba
Pour éviter que les postes sous Windows voient le dossier lost+found
, on ancre le partage dans un sous‑dossier. Je sais, cʼest du bricolage ; merci de ne pas taper.
mkdir /home/salami/salami
Modification de Samba.
À la fin du fichier /etc/samba/smb.conf
, copiez ce quʼil y a ci‑dessous :
[salami]
path = /home/salami/salami
writable = yes
printable = no
browseable=yes
Valid Users = @"Domain Users"
On relance Samba pour rendre le partage est disponible sur le réseau :
/etc/init.d/smbd restart
Ou avec systemd :
systemctl smbd restart
Conclusion
Voilà, j’espère que cette petite aide va permettre à dʼautres de pouvoir remplacer facilement un serveur de fichiers Windows par un serveur GNU/Linux. Vous pourrez même administrer Samba depuis Windows : Gestion de lʼordinateur → Se connecter à un autre ordinateur (Outils système → Dossiers partagés), vous indiquez votre serveur Samba, il vient une erreur, vous cliquez sur OK.
Et pour finir, une petite anecdote. Pour les sauvegardes, nous utilisons Rsnapshot. Donc, sur les machines qui font tourner Rsnapshot, nous montions le serveur Windows en CIFS et nous faisions la sauvegarde comme ça ; il fallait de quarante minutes à une heure pour le faire tourner.
Depuis quʼon est entièrement sous GNU/Linux, un cycle ne prend plus que quinze à vingt minutes (évidemment, Rsnapshot se connecte maintenant avec SSH + Rsync).
# éviter le hack du sous-dossier
Posté par Thomas Debesse (site web personnel) . Évalué à 10. Dernière modification le 28 septembre 2019 à 22:13.
Tu peux aussi faire ainsi :
Si vous cherchez un consultant, je peux également remplacer votre AD ou mettre en place une réplication multi-site entièrement avec samba.
Ta dépêche m’aide à prendre conscience que si je couche sur le papier ma connaissance cela ferait peut-être plusieurs bouquins (j’ai 10 ans d’expérience dans ce domaine)… 😮
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: éviter le hack du sous-dossier
Posté par barmic 🦦 . Évalué à -1.
Cette dépêche ne t'a pas fais trop mal aux chevilles ?
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: éviter le hack du sous-dossier
Posté par Thomas Debesse (site web personnel) . Évalué à 10.
Sans blaguer, en ce moment je me demande comment je peux transmettre ma connaissance. Je fais du samba depuis 10 ans, je sais comment fournir une infra bureautique complète sans serveur Windows. J’avais écrit un journal il y a 4 ans quand je faisais mes recherches en vue de basculer en domaine AD les 4 ou 5 organisations dont j’avais la charge à ce moment-là. J’avais le désir d’écrire des journaux après ça pour détailler ces connaissances acquises, de la même manière qu’Ecran Plat vient de le faire, mais je manque de temps.
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: éviter le hack du sous-dossier
Posté par ZeroHeure . Évalué à 6.
Ça me brancherai de travailler à deux là-dessus, j'aime bien le travail de rédaction ou de réécriture. Cette dépêche était par exemple beaucoup plus courte, c'était un guide pas à pas, avec peu d'explication. On a proposé à l'auteur de la transformer et on l'a acompagné Ysabeau et moi en lui demandant des compléments.
"La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay
[^] # Re: éviter le hack du sous-dossier
Posté par Thomas Debesse (site web personnel) . Évalué à 10.
Je me rends compte aujourd’hui que le besoin est beaucoup plus profond. Écrire des articles sur des wiki ou sur LinuxFr c’est bien mais surtout il y a un véritable besoin de formation, un vrai besoin de proposer des formations et d’en avoir à disposition pour y envoyer son personnel par exemple.
C’est le nerf de la guerre, les entreprises envoient leur personnel en formation microsoft parce qu’il n’y a que du microsoft en formation (et du adobe pour les artistes).
Lorsqu’on cherche une formation linux, jusqu’à il y a peu quand tu regardais les programmes en gros c’était 1. prise en main de la ligne de commande, 2. savoir compiler un noyau. Alors ne nous voilons pas la face, quand on ouvre plein de nos appareils il y a du linux dedans donc il y a forcément un marché pour les gens qui savent compiler un noyau, mais une entreprise qui ne fait pas d’embarqué et qui cherche à fournir des compétences linux à ses adminsys, c’est pas compiler un noyau qu’elle cherchent à faire. Donc à part pour ceux qui font de l’embarqué, ce type de formation de produit que des script kiddies sous Linux.
Ce que je vois c’est que ce dont les entreprises ont besoin c’est d’envoyer leur personnel en formation (ou recevoir dans leurs murs un formateur) pour, par exemple :
C’est con mais pour celui qui veut administrer un parc informatique (Windows compris) avec SSH, il suffit juste de connaître les outils et la méthodologie. Il y a plein de produits commerciaux vendus à prix d’or pour Windows mais tous ceux que j’ai vu sont des Cygwin rebadgés, souvent avec des défauts très gênants).
Est-ce que vous saviez qu’on peut démarrer un OpenVPN sur une interface bridge linux pour mettre sur un même LAN toutes les machines virtuelles hébergés sur deux serveurs dédiés chez deux opérateurs différents ? Mais la création de l’interface virtuelle (au niveau ethernet) et l’ajout de cette interface au bridge, il faut le faire dans openvpn ou dans la configuration réseau de Debian ? C’est techniquement faisable aux deux endroits mais une seule façon de faire est une bonne idée. Cette question n’est pas du tout anodine car il s’agit de résoudre des questions de poule et d’œuf au démarrage des services (question qui peut se compliquer avec le pare-feu qui peut avoir besoin de connaître ladite interface)…
Ce qui apporte la connaissance des outils et la méthodologie, c’est une formation.
Mais je prends au hasard un programme de formation d’un organisme quelconque que j’ai sous la main :
À part une poignée d’exceptions (TypeScript, Gestion du stress, Oracle, et du Cisco) c’est du Microsoft de haut en bas. Certains décideurs pressés envoient leurs adminsys en formation Office 365 pour la seule raison qu’ils ont Word et Excel (pas 365). Ou n’importe quelle formation à peu près au hasard de la liste parce qu’ils doivent bien former leur personnel, eh… C’est à ce moment là, au moment d’envoyer le personnel en formation, que les technos internes de l’entreprise seront décidées. En effet l’être humain a tendance à utiliser ce pourquoi il a investi et à se persuader d’avoir fait le meilleur choix pour ne pas remettre en cause ses choix passés.
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: éviter le hack du sous-dossier
Posté par lelent . Évalué à 3.
Avez-vous pu résoudre ce bug dans W10 avec Samba (que l'on trouve sur quantité de forums) : au démarrage du poste W10, le lecteur réseau mappé ne peut pas se connecter, et on a droit au message suivant dans la zone de notification :
impossible de reconnecter tous les lecteurs réseau.
Merci
[^] # Re: éviter le hack du sous-dossier
Posté par Ecran Plat (site web personnel) . Évalué à 5.
Il se présentait aussi avec du windows server à l'autre bout, donc on s'en préoccupe pas plus que ça, surtout que si tu vas sur le partage réseau il se connecte.
C'est un problème de Microsoft pas de samba
[^] # Re: éviter le hack du sous-dossier
Posté par Thomas Debesse (site web personnel) . Évalué à 2.
La seule fois où je vois ce message c’est quand le lecteur réseau est déjà connecté (lié aux options pour « reconnecter automatiquement le lecteur réseau ») ce qui n’est pas très ennuyeux car fonctionnellement le lecteur est connecté dans tous les cas. Normalement l’AD indique aux clients quelle lettre de lecteur mapper avec quel chemin, et ce lecteur-là n’a pas à être connecté dans les scripts de connexion (on bien ce popup apparaîtra puisqu’il sera techniquement connecté deux fois de suite). Pour les autres lecteurs qui seraient ajoutés dans un script de connexion, il vaut mieux les ajouter en mode « persistant » (reconnecter automatiquement à la session suivante) au risque de provoquer ce pop-up, plutôt que de prendre le risque que le lecteur ne soit pas monté du tout (Windows ne semble pas très fiable sur ce point-là)…
Donc, à part le fait que j’ai déjà vu ce popup qui signifiait dans mon cas que le disque était déjà connecté, je n’ai jamais eu de problème à monter un lecteur réseau. Avec une infra samba correctement architecturée, j’ai pu faire la migration des clients WinXP → Win7 → Win10 avec cohabitation des versions pendant la phase de transition, ce qui est très important car sur certains aspects le dernier Windows 10 se considère autant différent du premier Windows 10 que le premier Windows 10 se considérait différent de Windows 7.
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: éviter le hack du sous-dossier
Posté par YBoy360 (site web personnel) . Évalué à 5.
nous cherchons à nous débarrasser d'AD justement, nous avons 2 sites avec relation d'approbation et tout le tintouin, les administrateurs ont déjà tenté l'aventure mais sans succès, ou alors avec un résultat partiellement convainquant (c'est la même rengaine pour malheureusement trop de projets où le temps était loin de manquer)..
L'optimisation des sauvegardes serait un plus.
je peux prendre contact via ton site ?
[^] # Re: éviter le hack du sous-dossier
Posté par Ecran Plat (site web personnel) . Évalué à 3.
Merci de l'info je testerai cela la semaine prochaine
# server side copy + copy on write = déduplication à la volée lors de la copie
Posté par Thomas Debesse (site web personnel) . Évalué à 10. Dernière modification le 28 septembre 2019 à 22:36.
Au lieu d’
ext4
je te conseillebtrfs
qui fait de la copie sur écriture. Depuis Windows 8 les clients Windows savent faire de la copie côté serveur, et Samba sait le faire aussi, cela signifie que si tu as Windows 10 en client, Samba 4 en serveur de fichier, etbtrfs
en système de fichier, lorsque les utilisateurs copient des fichiers d’un dossier à un autre le fichier n’est pas téléchargé pour être renvoyé par le client (économie de bande passante), mais le serveur ne le copie pas non-plus, le serveur le clone instantanément en le dédupliquant.C’est hyper pratique, ça signifie par exemple que le maquettiste peut copier des photos depuis la photothèque dans chacun des dossiers de ses projets afin de les garder autonome. Prévoir une sauvegarde qui déduplique évidemment (ex: borg).
Il te faudra mettre ceci dans les paramètres de ton partage:
Note que le fait d’avoir un système de fichier btrfs te permettra de faire une « machine à remonter le temps » avec un simple cron qui fait des snapshots. Personnellement je faits des snapshot toutes les heures, mes utilisateurs savent récupérer tous seuls le fichier qu’ils viennent de supprimer par erreur à 15h alors qu’ils travaillent dessus depuis 10h du matin (fichier qui ne serait pas présent dans la sauvegarde de la veille) parce qu’ils ont un partage spécial sous la forme
//server/instants/date/heure/<les partages>
.ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: server side copy + copy on write = déduplication à la volée lors de la copie
Posté par barmic 🦦 . Évalué à 2.
Pourquoi ?
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: server side copy + copy on write = déduplication à la volée lors de la copie
Posté par Thomas Debesse (site web personnel) . Évalué à 8.
Si tu encourages tes utilisateurs à profiter de la déduplication à la copie, t’as intérêt à ce que ta sauvegarde déduplique aussi ou bien elle va exploser en taille. Dans tous les cas je recommande les technos de sauvegarde dédupliquée comme borg.
cf. ce tweet de borg (qui cite les chiffres d’une organisation pour laquelle je travaille, du jour où nous avions atteint le péta octet de sauvegarde) :
1 Po de sauvegarde équivalent à 880 To d’archives compressées, stockées sur 2.2 To. Environ 155 600 archives, soit les archives quotidiennes pendant deux ans et six mois, sans nécessiter aucune purge. Sachant qu’un raid 1 de 16 To avec des disques garantis 5 ans coûte 1400 € et qu’un raid5 de 32’To avec des disques garantis 5 ans coûte 2100 €… Ça vaut vraiment la peine.
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: server side copy + copy on write = déduplication à la volée lors de la copie
Posté par barmic 🦦 . Évalué à 4.
Excuse-moi j'avais lu l'inverse.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: server side copy + copy on write = déduplication à la volée lors de la copie
Posté par ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ (site web personnel) . Évalué à 2.
Un raid 5 en btrfs ? Pardon ? un raid matériel dans ce cas ?
« IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace
[^] # Re: server side copy + copy on write = déduplication à la volée lors de la copie
Posté par Thomas Debesse (site web personnel) . Évalué à 5. Dernière modification le 30 septembre 2019 à 09:54.
Je ne confie jamais le raid à btrfs. btrfs peut se mettre au dessus d’un mdadm tout comme n’importe quel système de fichier (ext4…).
Dans l’absolu il serait meilleur de pouvoir confier le raid à btrfs (mdadm ne sait pas ce qu’est un fichier, btrfs devrait mieux savoir réparer une corruption que mdadm, sauf que mdadm est plus éprouvé).
Btrfs est éprouvé en tant que système de fichiern les NAS plus répandus (QNAP, Synology) utilisent btrfs, et il me semble bien qu’eux aussi le mettent par dessus d’un raid mdadm.
Il y a des cas où de toute façon tu n’as pas le choix, si tu veux intercaler une couche de chiffrement LUKS ou un cache SSD bcache entre le raid et le système de fichier, tu intercales cela entre mdadm et btrfs. Et puis c’est plus simple avec des machines virtuelles, le btrfs est au niveau du volume logique dans un lvm par dessus le raid mdadm.
Btrfs est très stable comme système de fichier si tu ne l’utilises que comme un « ext4 avec capacité de faire des instantanés et de la copie sur écriture ». Par contre, par conception, il ne doit pas être contraint en espace disque, il faut lui laisser plein de place pour conserver des performances correctes, avoir moins de 200Go de libre sur un volume de 8To et ça devient tout lent, mais vu que les disques 16To sont disponibles… autant bénéficier de tous ce qui est sexy dans btrfs au niveau système de fichier. :-)
Ceci est techniquement faisable :
La machine virtuelle ne voit que la ligne du haut [edit: le volume logique juste en dessous en fait, mais pas le pv ni le vg bien sûr].
Aussi, je ne fais pas confiance au raid matériel, la première raison étant qu’ils sont souvent plus lent que le raid logiciel (j’ai même souvent vu des carte RAID plus lentes que les ports SATA intégrés à la carte mère des serveur pour le lecteur CD etc.) et que souvent ça apporte des anti-fonctionnalités comme le fait de réserver l’hotplug au firmware de la carte raid et de le dissimuler à l’OS… Ma conclusion c’est que les cartes RAID n’existent vraiment que parce que personne n’a été viré pour en avoir achetée une, mais que le contraire est un risque que personne ne veut prendre.
ce commentaire est sous licence cc by 4 et précédentes
[^] # Re: server side copy + copy on write = déduplication à la volée lors de la copie
Posté par Thomas Debesse (site web personnel) . Évalué à 8. Dernière modification le 30 septembre 2019 à 10:23.
Idem si tu veux mettre un swap à côté de ton btrfs sur ton raid.
Ceci est la configuration de mes disques à la maison :
Je passe à un RAID5 dans les jours qui viennent (je renouvelle simplement mes disques et cette fois-ci je pars sur un RAID5). Note que je pourrai faire un simple
dd
de ce qu’il y a au dessus du RAID10 pour le mettre au dessus du RAID5 sans rien avoir à recréer (bcache, luks, lvm, btrfs), j’aurai simplement à agrandir chacune des couches en partant du bas après ça (puisque j’ai pris des disques de plus grande capacité).Typiquement, quand tu pousses des boutons dans un NAS clé en main avec des fonctionnalité avancées (cache ssd etc.), t’as des chances de finir avec un truc similaire sous le capot même si tu ne le vois pas (ça reste des linux avec mdadm, btrfs, samba etc.).
Ici c’est un peu plus complexe parce qu’il y a une couche de chiffrement et j’ai mis mon OS sur un raid SSD séparé (les NAS clé en main ont parfois leur OS sur un volume séparé, mais pas forcément un RAID).
Donc à gauche on a un RAID1 avec deux SSD qui sert de cache pour les données. Deux SSD M.2 sur une carte PCIe.
Au centre on a 4 disques en RAID10 pour le stockage des données. 4 disques à plateaux qui tournent comme des machines à laver, sur du SATA.
À droite on a un RAID1 pour le système, deux SSD SATA.
Au final cela fait deux PV, chacun avec une couche de chiffrement, puis les systèmes de fichiers. La couche lvm pourrait être évitée pour les données vu qu’il n’y a qu’un système de fichier sur ce volume, mais c’est confortable de pouvoir retailler si le besoin se fait sentir.
Note que le trim sait traverser toutes ces couches (y compris le bcache).
Bien sûr il est possible de faire des configurations plus simples (pas de chiffrement, pas de cache SSD, système et données sur un même RAID)…
ce commentaire est sous licence cc by 4 et précédentes
# proxmox
Posté par tomamplius . Évalué à -2.
Les Acl sont disponibles dans un lxc sous proxmox a condition de monté un répertoire du proxmox dans le lxc en éditant le fichier de configuration du lxc. C'est quand même beaucoup plus flexible qu'un qemu ou les données se retrouve dans un fichier disque partitionner.
[^] # Re: proxmox
Posté par ZeroHeure . Évalué à 3.
Relis bien l'article, il conseille d'avoir les disques « dans Ceph, dans du LVM, du ZFS ou dans un LUN », pas dans un fichier.
"La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay
[^] # Re: proxmox
Posté par Ecran Plat (site web personnel) . Évalué à 2.
Très mauvais solution avec ça ton container reste lier à ton hyperviseur (donc plus de migration possible dans une grappe)
Après avec qemu les données ne sont pas dans un fichier disque partitionner (qcow2), nous sommes plus en 2009, depuis nous avons eu lvm, zfs et ceph.
[^] # Re: proxmox
Posté par Kerro . Évalué à 3.
Quels sont les soucis avec qcow[2] ?
J'utilise ça sur tout un tas de petites machines et de petits serveurs, ça tourne impec.
[^] # Re: proxmox
Posté par Ecran Plat (site web personnel) . Évalué à 3.
Par fois ça ce corrompt J'ai eu une fois le cas avec virt-manager (heureusement que j'avais une sauvegarde, même en bootant depuis un live iso le disque virtuel n'était pas accessible)
quand tu utilises des snapshot le fichier qcows2 à tendance à enfler, même en détruisant les snasphots. Tu dois copier le contenus dans un nouveau qcows2.
J'utilise sur mon pc au taf des VM sous une ubuntu avec virt-manager et qcow2, j'ai ces problèmes la, sur mon pc à la maison j'utilise un pool zfs avec virt-manager, c'est beaucoup plus stable, par contre il faut faire les snapshots en cli (mais avec zfs c'est simple).
[^] # Re: proxmox
Posté par gnumdk (site web personnel) . Évalué à 6.
Hmm, j'ai des ACLs dans mes LXC sous Proxmox et j'ai pas le souvenir d'avoir touché quoi que ce soit.
D'ailleurs, quand je regarde sur le web, c'est le comportement par défaut.
[^] # Re: proxmox
Posté par Ecran Plat (site web personnel) . Évalué à 3.
J'ai fait le test et ça marche, désolé d'avoir raconté une connerie.
Par contre je ne sais pas si on peut faire des LV dans le container pour les partages (a moins de le faire à l'extérieur et de le rattacher à au container).
# winbind ou sssd ?
Posté par Vincent Danjean . Évalué à 3.
L'article utilise winbind. Quand j'ai intégré des machines linux (auth + NFSv4 + kerberos) dans un AD récemment, j'ai plutôt utilisé sssd qui me semblait plus souple et plus puissant. Est-ce que winbind était nécessaire ici ? Est-ce que sssd pourrait être utilisé à la place ?
[^] # Re: winbind ou sssd ?
Posté par closed . Évalué à 1.
Bonne question
car perso je suis perdu avec tout ces trucs kerberos sssd ?
dans ma docs et celle de linuxtricks on parle de sssd
voir ici : https://www.linuxtricks.fr/wiki/wiki.php?title=faire-adherer-centos-7-a-un-domaine-active-directory#paragraph_joindre-centos-au-domaine-windows
[^] # Re: winbind ou sssd ?
Posté par Ecran Plat (site web personnel) . Évalué à 3.
sssd est plus récent que winbind et est développé par redhat.
sssd est vraiment bien sur un poste client car il met en cache, ce qui permet de se loguer avec un portable en hors-ligne.
La comme on est sur des serveurs, le mode hors-ligne on s'en fiche un peut (parce que mon serveur de fichier sans réseau il ne sert à pas grand chose).
J'avais essayé avec sssd mais je m'était cassé les dents à l'époque et j’étais partis sur du winbind.
# Caméra Café
Posté par Christophe B. (site web personnel) . Évalué à 2.
Les miens ne font pas rire …
par contre j'ai des sultants et des tables mais ils sont pas toujours drôles.
OK j'aurais du attendre Dredi …
# Pourquoi pas Debian ?
Posté par Pierre Jarillon (site web personnel) . Évalué à 1.
Créer un serveur avec Ubuntu me parait curieux. Je pense qu'un serveur Debian est la valeur sûre, la base à laquelle on peut se référer et faire confiance.
Utiliser Ubuntu, c'est un peu comme utiliser un produit frelaté (le mot est assurément trop fort mais je n'ai pas mieux) alors que Debian est le produit original.
Raspberry est un Debian modifié car spécialement adapté au processeur ARM. Je ne vois aucune raison nécessitant une version modifiée de Debian dans le cas d'un serveur X86_64 dans un cadre professionnel. J'aimerais comprendre le choix d'Ubuntu.
NB : Pour info, j'utilise Mageia sur mes machines et Raspbian sur Raspberry.
[^] # Re: Pourquoi pas Debian ?
Posté par Ecran Plat (site web personnel) . Évalué à 6.
Parce que Ubuntu fournis des lts d'une durée de vie de 5 ans.
Je sais que je suis bon jusqu'en avril 2023.
Après quand j'ai commencé Debian 10 n'était pas encore sortie et je voulais pas partir sur une base que je devrais bientôt changer.
Mais je te rassure dans les 59 vm et containers:
12 debian
1 centos
22 ubuntu
2 pfsense
22 windows
Mais nos deux grappes sont sur proxmox (8 hyperviseurs) soit du debian ;-)
[^] # Re: Pourquoi pas Debian ?
Posté par Psychofox (Mastodon) . Évalué à 8.
Ubuntu n'est pas ma distro favorite loin de là et il y'a seulement 3 mois je bossais essentiellement sur du centos mais comme j'ai intégré récemment une boite qui utilise en grande majorité ubuntu je vais faire l'avocat du diable:
Ça a souvent du sens d'un point de vue maintenabilité de chercher l'homogénéité et de faire tout tourner sous la même distro. Moins de boulot et d'exceptions dans tes outils d'infrastructure as code, moins de dépôts à synchroniser, moins de doc à produire.
La popularité de la distro fait aussi qu'au niveau desktop c'est souvent la mieux supportés out of the box par des applis proprios de merde dont tu peux parfois difficilement te passer comme par exemple le logiciel de visio conférence compatible avec les salles équipées dans ta boite. Tu me diras qu'est-ce qu'on en a à foutre de l'utilisation desktop, on parle de serveurs. Ben des fois ce sont les admins linux serveurs qui font service de "support" pour les devs équipés de workstation linux. C'est toujours plus facile d'aider tes utilisateurs si tu utilises la même distro pour le reste.
Bon en réalité je n'ai jamais vu une courverture à 100% d'une distro linux dans une boite mais il y en a toujours une bien mieux connue/supportée par ses admins et utilisateurs.
[^] # Re: Pourquoi pas Debian ?
Posté par ZeroHeure . Évalué à 3.
Ça fait longtemps qu'Ubuntu n'est plus un ensemble de paquets Debian. Elle a ses outils et ses particularités. Sinon on peut tout aussi bien s'amuser à dire que Mageia n'est qu'une version frelatée de RedHat… tu répondrais qu'on ne connait pas Mageia et c'est exactememt l'impression que tu donnes avec Ubuntu serveur. :-) Lequel fait d'ailleurs tourner linuxfr si ma mémoire est bonne.
"La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay
# C'est fonctionnel sous Debian 10
Posté par closed . Évalué à 5.
Bonjour
Juste pour dire déjà merci.
je l'ai appliqué sur Debian 10 tout est OK.
merci
# listée sur Google news
Posté par ZeroHeure . Évalué à 6.
Ta dépêche est listée sur Google news, ça valait le coup de la reprendre en profondeur !
"La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay
# comment mettre un utilisateur ou plusieurs utilisateurs dans samba?
Posté par closed . Évalué à 1.
Bonjour
Juste une question
Comment je met un utilisateur ou plusieurs utilisateurs dans valid users ? sous quel forme ?[salami]
path = /home/salami/salami
writable = yes
printable = no
browseable=yes
Valid Users = @"Domain Users"
merci
[^] # Re: comment mettre un utilisateur ou plusieurs utilisateurs dans samba?
Posté par Kerro . Évalué à 4.
Tu as cherché plus des 4 secondes ?
L'explication est donnée par le premier lien retourné par Google avec « samba valid users ».
Valid Users = toto, titi, tutu
# Cela me fait penser que le projet SambaEdu4 aurait besoin de bénévoles
Posté par mikedafunk . Évalué à 2.
Bonjour à tous !
Votre billet m'inspire beaucoup. En effet, étant informaticien (surveillant) dans un lycée en Guyane, j'aimerais installer le serveur pédagogique SambaEdu4 AD (encore en stade béta) : https://www.sambaedu.org/
Mais j'ai des soucis depuis un vieux serveur IBM ESX6.0
Pour ceux qui ne connaissaient pas l'ancienne version SambaEdu3 :
http://mikedafunk.over-blog.org/2017/11/sambaedu-y-a-moins-bien-mais-c-est-plus-cher.html
Ce projet de contrôleur de domaine libre n'est porté que par une petite poignée de profs, donc si le cœur vous en dit d'apporter une pierre à l'édifice de ce projet, messieurs / dames, n'hésitez pas !
Désolé si je vous vous êtes senti spammé, lecteurs de linux.fr
Mike
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.