diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2008-11-04 03:59:04 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2008-11-04 03:59:04 +0000 |
commit | dec24cbaa335462f04e85c9eb2f25e0a892566a8 (patch) | |
tree | 755e1d5bc11819a40dda3e689f46ec252439a15b /etc/rc.initial.toggle_sshd | |
parent | 6bc75694a4665a51e7518383a8dd48a64de853d9 (diff) | |
download | pfsense-dec24cbaa335462f04e85c9eb2f25e0a892566a8.zip pfsense-dec24cbaa335462f04e85c9eb2f25e0a892566a8.tar.gz |
Adding toggle SSHD command from 1.3. This is very well tested.
Diffstat (limited to 'etc/rc.initial.toggle_sshd')
-rw-r--r-- | etc/rc.initial.toggle_sshd | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/etc/rc.initial.toggle_sshd b/etc/rc.initial.toggle_sshd new file mode 100644 index 0000000..bf60c19 --- /dev/null +++ b/etc/rc.initial.toggle_sshd @@ -0,0 +1,65 @@ +#! /usr/local/bin/php -f +<?php +/* + sshd - Modified to work on disk based system + Copyright 2004 Scott K Ullrich + + Original Copyright (C) 2004 Fred Mol <fredmol@xs4all.nl>. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ + +require_once("functions.inc"); +require_once("config.inc"); + +$fp = fopen('php://stdin', 'r'); + +if (isset($config['system']['enablesshd'])) { + echo "SSHD is currently enabled. Would you like to disable? [y/n]? "; + $yn = chop(fgets($fp)); + if ($yn[0] == "y") { + unset($config['system']['enablesshd']); + echo "\nWriting configuration..."; + write_config(); + echo " done.\n"; + echo "\nDisabling SSHD..."; + exec("/etc/sshd"); + echo " done.\n"; + exec("ps awux | grep '/usr/sbin/sshd' | grep -v grep | awk '{print $2}' | xargs kill"); + } + +} else { + echo "SSHD is currently disabled. Would you like to enable? [y/n]? "; + $yn = chop(fgets($fp)); + if ($yn[0] == "y") { + $config['system']['enablesshd'] = true; + echo "\nWriting configuration..."; + write_config(); + echo " done.\n"; + echo "\nEnabling SSHD..."; + exec("/etc/sshd"); + echo " done.\n\n"; + } +} + +fclose($fp); |