#!/bin/bash # # globus-gridftp-sshftp # # chkconfig: - 20 80 # description: Controls sshftp access to the globus-gridftp-server. # ### BEGIN INIT INFO # Provides: globus-gridftp-sshftp # Required-Start: $remote_fs $syslog $network # Required-Stop: $remote_fs $syslog # Default-Stop: 0 1 2 3 4 5 6 # Short-Description: Globus GridFTP SSHFTP # Description: sshftp access to the Globus Gridftp Server ### END INIT INFO # source function library . /etc/init.d/functions sbindir=/usr/sbin sysconfdir=/etc rc=0 defaultconf=${sysconfdir}/gridftp-sshftp enabledconf=/etc/grid-security/sshftp # Include defaults if available if [ -r /etc/sysconfig/globus-gridftp-sshftp ] ; then . /etc/sysconfig/globus-gridftp-sshftp fi start() { echo -n "Enabling sshftp access to globus-gridftp-server: " if [ ! -f $defaultconf ]; then ${sbindir}/globus-gridftp-server-enable-sshftp -out $defaultconf rc=$? fi if [ $rc -eq 0 -a ! -d /etc/grid-security ] ; then mkdir /etc/grid-security rc=$? fi if [ $rc -eq 0 -a ! -f $enabledconf ]; then ln -s $defaultconf $enabledconf rc=$? fi [ $rc -eq 0 ] && success || failure echo return $rc } stop() { echo -n "Disabling sshftp access to globus-gridftp-server: " if [ -L $enabledconf ]; then rm $enabledconf rc=$? elif [ -f $enabledconf ]; then mv $enabledconf ${enabledconf}.save rc=$? fi [ $rc -eq 0 ] && success || failure echo return $rc } case "$1" in start) start ;; stop) stop ;; status) if [ -f $enabledconf ]; then echo "sshftp access to globus-gridftp-server is enabled." exit 0 else echo "sshftp access to globus-gridftp-server is disabled." exit 3 fi ;; restart|force-reload) stop start ;; reload) ;; reconfigure) stop ${sbindir}/globus-gridftp-server-enable-sshftp -force -out $defaultconf start ;; *) echo "Usage: $0 {start|stop|status|restart|reload|reconfigure}" exit 1 ;; esac exit $rc