200.backup-passwd revision 65843
128263Spst#!/bin/sh 228263Spst# 350472Speter# $FreeBSD: head/etc/periodic/daily/200.backup-passwd 65843 2000-09-14 17:19:15Z brian $ 428263Spst# 528263Spst 661981Sbrian# If there is a global system configuration file, suck it in. 761981Sbrian# 861981Sbrianif [ -r /etc/defaults/periodic.conf ] 961981Sbrianthen 1061981Sbrian . /etc/defaults/periodic.conf 1161981Sbrian source_periodic_confs 1261981Sbrianfi 1328263Spst 1461981Sbriancase "$daily_backup_passwd_enable" in 1561981Sbrian [Yy][Ee][Ss]) 1665843Sbrian if [ ! -f /etc/master.passwd ] 1761981Sbrian then 1865843Sbrian echo '$daily_backup_passwd_enable" is set but /etc/master.passwd' \ 1965843Sbrian "doesn't exist" 2065843Sbrian rc=2 2165843Sbrian elif [ ! -f /etc/group ] 2265843Sbrian then 2365843Sbrian echo '$daily_backup_passwd_enable" is set but /etc/group' \ 2465843Sbrian "doesn't exist" 2565843Sbrian rc=2 2665843Sbrian else 2761981Sbrian bak=/var/backups 2865843Sbrian rc=0 2928263Spst 3061981Sbrian echo "" 3161981Sbrian echo "Backup passwd and group files:" 3228263Spst 3361981Sbrian if [ ! -f $bak/master.passwd.bak ] 3461981Sbrian then 3565843Sbrian rc=1 3661981Sbrian echo "no $bak/master.passwd.bak" 3765843Sbrian cp -p /etc/master.passwd $bak/master.passwd.bak || rc=3 3861981Sbrian fi 3928263Spst 4061981Sbrian if ! cmp -s $bak/master.passwd.bak /etc/master.passwd 4161981Sbrian then 4265843Sbrian [ $rc -lt 1 ] && rc=1 4361981Sbrian echo "$host passwd diffs:" 4461981Sbrian diff $bak/master.passwd.bak /etc/master.passwd |\ 4561981Sbrian sed 's/^\([<>] [^:]*\):[^:]*:/\1:(password):/' 4661981Sbrian mv $bak/master.passwd.bak $bak/master.passwd.bak2 4765843Sbrian cp -p /etc/master.passwd $bak/master.passwd.bak || rc=3 4861981Sbrian fi 4936333Sdes 5061981Sbrian if [ ! -f $bak/group.bak ] 5161981Sbrian then 5265843Sbrian [ $rc -lt 1 ] && rc=1 5361981Sbrian echo "no $bak/group.bak" 5465843Sbrian cp -p /etc/group $bak/group.bak || rc=3 5561981Sbrian fi 5661981Sbrian 5761981Sbrian if ! cmp -s $bak/group.bak /etc/group 5861981Sbrian then 5965843Sbrian [ $rc -lt 1 ] && rc=1 6061981Sbrian echo "$host group diffs:" 6161981Sbrian diff $bak/group.bak /etc/group 6261981Sbrian mv $bak/group.bak $bak/group.bak2 6365843Sbrian cp -p /etc/group $bak/group.bak || rc=3 6461981Sbrian fi 6561981Sbrian 6661981Sbrian if [ -f /etc/group ] 6761981Sbrian then 6861981Sbrian echo "" 6961981Sbrian echo "Verifying group file syntax:" 7065843Sbrian chkgrp /etc/group || rc=3 7161981Sbrian fi 7261981Sbrian fi;; 7365843Sbrian 7465843Sbrian *) rc=0;; 7561981Sbrianesac 7665843Sbrian 7765843Sbrianexit $rc 78