diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2008-02-22 00:35:56 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2008-02-22 00:35:56 +0000 |
commit | 069f9baee01515af8ba296f9cf280b7afcda55ab (patch) | |
tree | 919b3f952283dac16c38c4ced5263f7403dd4960 | |
parent | 08cf5428d6fa7d080869574cee0f22e669b8db03 (diff) | |
download | pfsense-069f9baee01515af8ba296f9cf280b7afcda55ab.zip pfsense-069f9baee01515af8ba296f9cf280b7afcda55ab.tar.gz |
Adding script to allow enabling / disabling of SSHD from console menu.
-rwxr-xr-x | etc/rc.initial | 6 | ||||
-rw-r--r-- | etc/rc.initial.toggle_sshd | 63 |
2 files changed, 68 insertions, 1 deletions
diff --git a/etc/rc.initial b/etc/rc.initial index 48764bb..4c1ef9a 100755 --- a/etc/rc.initial +++ b/etc/rc.initial @@ -78,6 +78,7 @@ echo "10) Filter Logs" echo "11) Restart webConfigurator" echo "12) pfSense PHP shell" echo "13) Upgrade from console" +echo "14) Enable/Disable SSHD" for i in /var/db/pfi/capable_*; do if [ -f $i -a ! -L /cf/conf ]; then echo "98) Move configuration file to removable device" @@ -138,7 +139,10 @@ case ${opmode} in 13) php -f /etc/rc.initial.firmware_update ;; -14) +14) + php -f /etc/rc.initial.toggle_sshd + ;; +15) /etc/rc.banner ;; 98) diff --git a/etc/rc.initial.toggle_sshd b/etc/rc.initial.toggle_sshd new file mode 100644 index 0000000..d531ea1 --- /dev/null +++ b/etc/rc.initial.toggle_sshd @@ -0,0 +1,63 @@ +#! /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("functions.inc"); +require("config.inc"); + +$fp = fopen('php://stdin', 'r'); + +if (isset($config['system']['ssh']['enable'])) { + echo "SSHD is currently enabled. Would you like to disable? [y/n]? "; + $yn = chop(fgets($fp)); + if ($yn[0] == "y") { + unset($config['system']['ssh']['enable']); + echo "\nWriting configuration..."; + write_config(); + echo "\n\nDisabling SSHD..."; + exec("/etc/sshd"); + echo "\n"; + } + +else { + echo "SSHD is currently disabled. Would you like to enable? [y/n]? "; + $yn = chop(fgets($fp)); + if ($yn[0] == "y") { + $config['system']['ssh']['enable'] = true; + echo "\nWriting configuration..."; + write_config(); + echo "\n\nEnabling SSHD..."; + exec("/etc/sshd"); + echo "\n"; + } +} + +fclose($fp); + |