[paquet filesystem] question sur le fonctionnement (résolu)
Publié : jeu. 21 mars 2013, 19:45
salut,
il m'arrive parfois de me retrouver avec des pacnew à gérer concernant group et gshadow.
habituellement je compare l'ancien et le nouveau avec meld et j'applique les modif avec le prog vipw (oui je sais je devrais utiliser groupmod etc..)
n'empêche qu'hier en regardant le contenu du dernier paquet filesystem j'ai été surpris de voir qu'il existe un script dans une fonction postupgrade dans le fichier .install qui intervient sur ces fichiers (group, gshadow etc ...) dont voici le contenu :
par ailleurs , lorsqu'on regarde les fichiers livrés avec le paquet on constate qu'il existe un fichier group et gshadow déjà pleins (ou bien ont ils été remplis puis empaquettés pour être installés en dur ensuite ?)
Bien que je trouve le procédé du script plutôt classos
je ne vois pas son intérêt que pour les primo-installation car pour les anciennes installations pour peu que des groupes aient été créés par l'utilisateur ou les applis après l'installe (ce qui est souvent le cas) un pacnew sera à tous les coups généré.
Dans ce cas pourquoi ne pas livrer simplement un fichier group et shadow en dur pour les primo-installes ?
il m'arrive parfois de me retrouver avec des pacnew à gérer concernant group et gshadow.
habituellement je compare l'ancien et le nouveau avec meld et j'applique les modif avec le prog vipw (oui je sais je devrais utiliser groupmod etc..)
n'empêche qu'hier en regardant le contenu du dernier paquet filesystem j'ai été surpris de voir qu'il existe un script dans une fonction postupgrade dans le fichier .install qui intervient sur ces fichiers (group, gshadow etc ...) dont voici le contenu :
Code : Tout sélectionner
# args: <group> [options]
_addgroup() {
if ! getent group "$1" >/dev/null; then
groupadd "$@" >/dev/null
fi
}
# args: <group> [options]
_adduser() {
if ! getent passwd "$1" >/dev/null; then
useradd "$@" >/dev/null
fi
}
post_upgrade() {
_addgroup optical -g 93
_addgroup audio -g 92
_addgroup video -g 91
_addgroup floppy -g 94
_addgroup storage -g 95
_addgroup log -g 19
_addgroup utmp -g 20
_addgroup power -g 98
_addgroup network -g 90
_addgroup games -g 50
_addgroup uucp -g 14
_addgroup http -g 33
_adduser http -u 33 -d /srv/http -g http -s /bin/false
_addgroup scanner -g 96
_addgroup rfkill -g 24
_addgroup lock -g 54
_addgroup uuidd -g 68
_adduser uuidd -u 68 -d / -g uuidd -s /sbin/nologin
_addgroup dbus -g 81
_adduser dbus -u 81 -d / -g dbus -s /sbin/nologin
_addgroup systemd-journal -g 190
# sync gshadow to group (fixes FS#19869)
if ! grep -q '^lock:' etc/gshadow; then
grpconv >/dev/null
fi
if ! grep -q '^include /etc/ld.so.conf.d/\*.conf$' etc/ld.so.conf; then
echo 'include /etc/ld.so.conf.d/*.conf' >> etc/ld.so.conf
fi
# set "Last password change" > 0; otherwise su $user wont work
for user in bin daemon mail ftp http nobody; do
if LANG=C chage -l ${user} | grep -q 'password must be changed'; then
chage -d 14871 ${user}
fi
done
}
Bien que je trouve le procédé du script plutôt classos

Dans ce cas pourquoi ne pas livrer simplement un fichier group et shadow en dur pour les primo-installes ?