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/
100%
Description
imposer les bon droits après restauration via migration210.sh modifié.
Révisions associées
migration210: corriger les permissions Samba AD après restauration
ref #37544
report des modif pour les droits dans un autre paquet
ref: #37544
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