PREIN
/bin/sh
# Add Naat console in /etc/shells
grep -qw 'naat-console' /etc/shells || \
echo "/usr/bin/naat-console" >> /etc/shells
# Add admin group exist if doesn't exit
grep -q '^admin:' /etc/group || \
/usr/sbin/groupadd admin 2> /dev/null
# Add the admin user (for console) if doesn't exist
grep -q '^admin:' /etc/passwd || \
/usr/sbin/useradd -c "Administrator" -g admin -G adm -d /home/admin \
-s /usr/bin/naat-console admin 2> /dev/null
# Backup the configuration file
if [ "$1" = "2" ]; then
cp -fp /var/lib/naat/configuration /var/lib/naat/configuration.rpmbackup;
fi
POSTIN
/bin/sh
# add sudoers entry
/bin/chmod a+w /etc/sudoers
grep -q '%admin' /etc/sudoers || \
echo "%admin ALL=(ALL) NOPASSWD: /usr/bin/event-handler.pl , /usr/share/naat/scripts/*" >> /etc/sudoers;
grep -q 'Defaults !syslog' /etc/sudoers || echo 'Defaults !syslog' >> /etc/sudoers
/bin/chmod 0440 /etc/sudoers
# Restore the values stored in the previous configuration file
if [ "$1" = "2" ]; then
perl -n -e 'if (!defined ($read) ) {
open (CONFIG, "/var/lib/naat/configuration.rpmbackup") or die "Can t open config file: $!";
while (<CONFIG>) {
chomp; s/\#.*//; s/^\s+//; s/\s+$//; next unless length;
($var, $value) = split(/\s*=\s*/, $_, 2);
$hash{$var} = $value;
}
close (CONFIG);
$read = "true";
}
$line = $_;
chomp; s/\#.*//; s/^\s+//; s/\s+$//;
if (length) {
($var, $value) = split(/\s*=\s*/, $_, 2);
if ($value !~ /(get:|set:)/ && exists $hash{$var} ) {
$line = "$var=$hash{$var}\n";
}
}
print $line;
' -i /var/lib/naat/configuration;
fi
POSTUN
/bin/sh
# it it's a full uninstall
if [ "$1" = "0" ]; then
# remove sudoers entry
/bin/chmod a+w /etc/sudoers
grep -q '%admin' /etc/sudoers && \
perl -ni -e 'print unless m!^%admin.*!' /etc/sudoers;
/bin/chmod 0440 /etc/sudoers
grep -q 'Defaults !syslog' /etc/sudoers && \
perl -ni -e 'print unless m/^Defaults !syslog/' /etc/sudoers
# Remove Naat console from /etc/shells
perl -ni -e 'print unless m!/usr/bin/naat-console.*!' /etc/shells
fi