#!/usr/bin/env bash cd /usr/local/share/pandora_agent/ # Copy daemon file mv com.pandorafms.pandorafms.plist /Library/LaunchDaemons/ if [ -f /etc/pandora/pandora_agent.conf ] then # Stop the agent process `launchctl stop com.pandorafms.pandorafms` PFMSAGENT=`ps aux | grep pandora_agent | grep -v postinstall | grep -v grep | wc -l` if [ "$PFMSAGENT" -gt "0" ] then PIDAGENT=`ps aux | grep pandora_agent | grep -v postinstall | grep -v grep | awk '{print $2}'` kill $PIDAGENT fi else # Ask for user and password SERVER=`/usr/local/share/pandora_agent/inst_utilities/get_serverip.scpt` GROUP=`/usr/local/share/pandora_agent/inst_utilities/get_group.scpt` REMOTECFG=`/usr/local/share/pandora_agent/inst_utilities/get_remotecfg.scpt` # Write the conf file `/usr/local/share/pandora_agent/inst_utilities/print_conf.pl /usr/local/share/pandora_agent/pandora_agent.conf server_ip $SERVER` `/usr/local/share/pandora_agent/inst_utilities/print_conf.pl /usr/local/share/pandora_agent/pandora_agent.conf group $GROUP` `/usr/local/share/pandora_agent/inst_utilities/print_conf.pl /usr/local/share/pandora_agent/pandora_agent.conf remote_config $REMOTECFG` # Create agent directories and files mkdir -p /usr/local/bin/ mkdir -p /usr/local/share/man/man1/ mkdir -p /usr/local/share/pandora_agent/collections/ mkdir -p /usr/local/share/pandora_agent/commands/ mkdir -p /usr/local/share/pandora_agent/ref/ mkdir -p /etc/pandora/ mkdir -p /var/spool/pandora/data_out/ mkdir -p /var/log/pandora/ mv pandora_agent.conf /etc/pandora/ touch /var/log/pandora/pandora_agent.log # Setting permissions to directories and files chmod -R 700 /usr/local/share/pandora_agent/collections chmod -R 700 /usr/local/share/pandora_agent/commands chmod -R 700 /usr/local/share/pandora_agent/ref chmod -R 755 /etc/pandora/ chmod -R 700 /var/spool/pandora/data_out chmod -R 711 /var/log/pandora chmod 640 /var/log/pandora/pandora_agent.log chmod 640 /etc/pandora/pandora_agent.conf fi # Copying agent utilities to /usr/local/bin and securing them cp -f pandora_agent /usr/local/bin/ chmod 755 /usr/local/bin/pandora_agent chown root:wheel /usr/local/bin/pandora_agent cp -f pandora_agent_exec /usr/local/bin/ chmod 755 /usr/local/bin/pandora_agent_exec chown root:wheel /usr/local/bin/pandora_agent_exec cp -f pandora_revent /usr/local/bin/ chmod 755 /usr/local/bin/pandora_revent chown root:wheel /usr/local/bin/pandora_revent # Copying tentacle_client to /usr/local/bin and securing it cp -f tentacle_client /usr/local/bin/ chmod 755 /usr/local/bin/tentacle_client chown root:wheel /usr/local/bin/tentacle_client # Create symbolic links in /etc/pandora/ ln -s /usr/local/share/pandora_agent/plugins /etc/pandora/plugins ln -s /usr/local/share/pandora_agent/commands /etc/pandora/commands ln -s /usr/local/share/pandora_agent/collections /etc/pandora/collections ln -s /usr/local/share/pandora_agent/ref /etc/pandora/ref # Copy manuals cp -f man/man1/pandora_agent.1.gz /usr/local/share/man/man1/ chmod 644 /usr/local/share/man/man1/pandora_agent.1.gz cp -f man/man1/tentacle_client.1.gz /usr/local/share/man/man1/ chmod 644 /usr/local/share/man/man1/tentacle_client.1.gz # Create newsyslog entry # logfilename [owner:group] mode count size(KB) when flags [/pid_file] [sig_num] echo "/var/log/pandora/pandora_agent.log : 640 5 2048 * Z" > /etc/newsyslog.d/pandora_agent.conf # Install the daemon `launchctl load -wF /Library/LaunchDaemons/com.pandorafms.pandorafms.plist` # Launch the daemon `launchctl start com.pandorafms.pandorafms` # Clean all install utilites rm -Rf inst_utilities exit 0