Projet

Général

Profil

Tâche #37544

Scénario #37541: droit de /var/lib/samba/private trop "ouverts" suite a restauration seth en 2.10

gestions des droits pour samba/private/

Ajouté par Ludwig Seys il y a 3 mois. Mis à jour il y a environ un mois.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
06/07/2026
Echéance:
% réalisé:

100%

Restant à faire (heures):
0.0

Description

imposer les bon droits après restauration via migration210.sh modifié.

Révisions associées

Révision 9352d0a3 (diff)
Ajouté par Ludwig Seys il y a 3 mois

migration210: corriger les permissions Samba AD après restauration

ref #37544

Révision d46345a5 (diff)
Ajouté par Ludwig Seys il y a environ 2 mois

report des modif pour les droits dans un autre paquet
ref: #37544

Révision dab0f53f (diff)
Ajouté par Ludwig Seys il y a environ 2 mois

imposition de droits fichier/dossier après une restauration

ref: #37544

Historique

#1 Mis à jour par Ludwig Seys il y a 3 mois

  • Statut changé de Nouveau à En cours

#2 Mis à jour par Ludwig Seys il y a 3 mois

  • Statut changé de En cours à À valider

#3 Mis à jour par Ludwig Seys il y a environ 2 mois

le placement dans le script migration n'est pas efficient, en effet le script utilise d'autres script qui peuvent êtres appelé ailleurs.

addc.py choisit entre deux scripts :

/usr/bin/online_addc_restore
/usr/bin/addc_restore

Et parmi les deux, c’est online_addc_restore qui restaure réellement /var/lib/samba :

rmtree(targetdir)
copytree('/home/backup/samba/bareos/', targetdir)

addc_restore, lui, semble surtout terminer une restauration déjà effectuée : démarrage Samba et restauration des ACL du sysvol.
Pourquoi les droits deviennent 0777

La ligne importante est : copytree('/home/backup/samba/bareos/', targetdir)
shutil.copytree() utilise par défaut copy2(), donc il préserve les permissions présentes dans /home/backup/samba/bareos/.

Autrement dit, il est probable que les fichiers soient déjà en 0777 dans le répertoire intermédiaire avant cette copie.

analyse et retour d'un état sains et fonctionnel :

La règle correcte est donc :

/var/lib/samba/private : 0755
dossiers internes par défaut : 0700
fichiers internes par défaut : 0600

Avec les exceptions suivantes :
0750 root:root ldap_priv
0755 root:root managed_account
0755 root:root smbd.tmp
0755 root:root tls
0755 root:root tls/certs
0644 root:root krb5.conf
0644 root:root dns_update_list
0644 root:root spn_update_list
0644 root:root tls/certs/*
0640 root:bind dns.keytab
0660 root:bind certains fichiers de sam.ldb.d

modification de addc.py dans eole-ad-dc (scribe-amonecole-seth)

ajout de run_addc_command() pour exécuter restauration et correction dans le même environnement ;
normalisation juste après une restauration réussie ;
fichiers réguliers par défaut en 0600 ;
répertoires internes par défaut en 0700 ;
/var/lib/samba/private remis en 0755 ;
restauration des exceptions observées sur ton Seth sain ;
restauration explicite de dns.keytab en 0640 root:bind ;
restauration des bases DNS de sam.ldb.d en 0660 root:bind ;
sockets ignorés volontairement ;
correction également des propriétaires incorrects comme eole:eole.

#4 Mis à jour par Benjamin Bohard il y a environ 2 mois

  • Statut changé de À valider à Résolu

#5 Mis à jour par Joël Cuissinat il y a environ un mois

eole-ad-dc$ git branch -r --contains dab0f53f 
  origin/2.10.0/master
  origin/HEAD -> origin/master
  origin/dist/eole/2.10.0/master
  origin/dist/eole/2.11.0/master
  origin/master

#6 Mis à jour par Joël Cuissinat il y a environ un mois

  • Statut changé de Résolu à Fermé
  • % réalisé changé de 0 à 100
  • Restant à faire (heures) mis à 0.0

Formats disponibles : Atom PDF