Sponsored Content
Full Discussion: Secure a KSH script
Top Forums Shell Programming and Scripting Secure a KSH script Post 302432995 by methyl on Monday 28th of June 2010 08:05:42 AM
Old 06-28-2010
Code:
The trap command is a ksh builtin.
ksh type trap
trap is a shell builtin



Ignoring trap for the moment, there is an issue in this menu script where it calls itself. It will eventially fail because the shells will be nested too deep.
The following construct using shell functions and "return" is better:



Code:
#!/usr/bin/ksh

main_menu()
{
while true
do
        clear
        echo
        print "CSIA RBAC -- CONFIGURACION --"
        echo

        print "1) Habilitar/Desabilitar RBAC en el sistema"
        print "2) Configurar comandos privados"
        print "6) Salir"

        echo
        echo "Seleccione la opcion:"
        echo

        read SELECT
        case $SELECT in
                1)      menu_1
                        ;;
                2)      menu_2
                        ;;
                6)      return 
                        ;;
        esac
done
}
#
menu_1()
{
while true
do
        print "a) Habilitar RBAC?"
        print "b) Desabilitar RBAC?"
        echo
        echo "Seleccione la opcion:"
        echo
        read SELECT2
        case $SELECT2 in
                "a") print "Habilitando RBAC"
                        sleep 2
                        return
                        ;;
                "b") print "Desabilitando RBAC"
                        sleep 2
                        return
                        ;;
                "")     return
                        ;;
                *) print "Invalid"
                        sleep 2
                        ;;
        esac
done
}
#
menu_2()
{
while true
do
        print "a) Listar los comandos privilegiados activos"
        print "b) Anadir comando a RBAC"
        print "c) Eliminar comando a RBAC"
        echo
        echo "Seleccione la opcion:"
        echo
        read SELECT2
        case $SELECT2 in
                "a") echo "Comandos activos:" && lssecattr -c ALL|grep csia|awk
 '{print $1}'
                        sleep 2
                        return
                        ;;
                "b") ./addcmdrbac.ksh
                        sleep 2
                        return
                        ;;
                "c") ./delcmdrbac.ksh
                        sleep 2
                        return
                        ;;
                "")     return
                        ;;
                *) print "Invalid"
                        sleep 2
                        ;;
        esac
done
}
#
#######
main_menu
exit

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to secure my script from Ctrl-C

Hi all I am looking for a way to ensure that once a user is logged in and running a script, he cannot break out of it. Thanks J (12 Replies)
Discussion started by: jhansrod
12 Replies

2. Shell Programming and Scripting

f-secure sftp in shell script

Hi, I am trying to use sftp in a ksh - Shell script, but not even a simple script like this returns not output: sftp username@remotehost <<END ls END If I do something like this: sftp username@remotehost <<END | tee logfile ls END I get this error message: Warning: tcgetattr... (1 Reply)
Discussion started by: friand
1 Replies

3. UNIX for Dummies Questions & Answers

ksh autocomplete; f-secure/ssh character mapping

I'm coming from a c-shell environment where I was spoiled with the tab completion on the command line, only to find that using korn-shell I don't have this capability. The only thing I can find by googling is to use 'set filec' - but that doesn't work (and I think is only for c-shell anyway). ... (0 Replies)
Discussion started by: uacheesehead
0 Replies

4. Shell Programming and Scripting

executing a ksh script from another ksh script

Hi, I'm new to unix scripting.How can i call a script from another script. I have a.ksh and b.ksh .I have to call b.ksh from a.ksh after it is successfully exceuted. I tried using #!/bin/ksh -x in a.ksh and at the end i have used /path/b.ksh My problem is it is executing only a.ksh.it... (6 Replies)
Discussion started by: ammu
6 Replies

5. Solaris

Secure FTP Problem using Sun SSH on Client system F-Secure on Server system

I am using shell script to do secure ftp. I have done key file setup to do password less authentication. Following are the FTP Details: FTP Client has Sun SSH. FTP Server has F-Secure. I am using SCP Command to do secure copy files. When I am doing this, I am getting the foll error scp:... (2 Replies)
Discussion started by: ftpguy
2 Replies

6. Shell Programming and Scripting

tracing a ksh script within a ksh script

I normally trace a script with the ksh -x <script name> and redirect strderr to file. But if you have a script like the examble below...... vi hairy bear=`grep bear animals` if then ksh more_animals fi If I ksh -x hairy it won't trace "more_animals" unless I put a -x in it. Is... (1 Reply)
Discussion started by: shorty
1 Replies

7. Shell Programming and Scripting

import var and function from ksh script to another ksh script

Ih all, i have multiples ksh scripts for crontab's unix jobs they all have same variables declarations and some similar functions i would have a only single script file to declare my variables, like: var1= "aaa" var2= "bbb" var3= "ccc" ... function ab { ...} function bc { ... }... (2 Replies)
Discussion started by: wolfhurt
2 Replies

8. Shell Programming and Scripting

KSH script to run other ksh scripts and output it to a file and/or email

Hi I am new to this Scripting process and would like to know How can i write a ksh script that will call other ksh scripts and write the output to a file and/or email. For example ------- Script ABC ------- a.ksh b.ksh c.ksh I need to call all three scripts execute them and... (2 Replies)
Discussion started by: pacifican
2 Replies

9. Shell Programming and Scripting

Bash Script - Mail Secure.log

I'm putting together a fairly simple script, to check "secure.log" for content and email the results in a cron, nightly. The script runs fine upon manual execution, it's a problem when ran in cron. This is on a Mac server. Any thoughts? #!bin/bash #Email secure.log, nightly. Subject="Secure... (6 Replies)
Discussion started by: Nvizn
6 Replies

10. Shell Programming and Scripting

Making a script secure to code injection

Heyas I've been told my scipts would be insecure, and to fix that. Figured i might rethink some parts of my coding style, meanwhile i tried to write an additional catcher. After reading: fail : Security Issues - didnt help too much, infact - it confused me even more. n/a:... (8 Replies)
Discussion started by: sea
8 Replies
ECHO(3) 								 1								   ECHO(3)

echo - Output one or more strings

SYNOPSIS
void echo (string $arg1, [string $...]) DESCRIPTION
Outputs all parameters. echo is not actually a function (it is a language construct), so you are not required to use parentheses with it. echo (unlike some other language constructs) does not behave like a function, so it cannot always be used in the context of a function. Additionally, if you want to pass more than one parameter to echo, the parameters must not be enclosed within parentheses. echo also has a shortcut syntax, where you can immediately follow the opening tag with an equals sign. Prior to PHP 5.4.0, this short syn- tax only works with the short_open_tag configuration setting enabled. I have <?=$foo?> foo. PARAMETERS
o $arg1 - The parameter to output. o $... - RETURN VALUES
No value is returned. EXAMPLES
Example #1 echo examples <?php echo "Hello World"; echo "This spans multiple lines. The newlines will be output as well"; echo "This spans multiple lines. The newlines will be output as well."; echo "Escaping characters is done "Like this"."; // You can use variables inside of an echo statement $foo = "foobar"; $bar = "barbaz"; echo "foo is $foo"; // foo is foobar // You can also use arrays $baz = array("value" => "foo"); echo "this is {$baz['value']} !"; // this is foo ! // Using single quotes will print the variable name, not the value echo 'foo is $foo'; // foo is $foo // If you are not using any other characters, you can just echo variables echo $foo; // foobar echo $foo,$bar; // foobarbarbaz // Some people prefer passing multiple parameters to echo over concatenation. echo 'This ', 'string ', 'was ', 'made ', 'with multiple parameters.', chr(10); echo 'This ' . 'string ' . 'was ' . 'made ' . 'with concatenation.' . " "; echo <<<END This uses the "here document" syntax to output multiple lines with $variable interpolation. Note that the here document terminator must appear on a line with just a semicolon. no extra whitespace! END; // Because echo does not behave like a function, the following code is invalid. ($some_var) ? echo 'true' : echo 'false'; // However, the following examples will work: ($some_var) ? print 'true' : print 'false'; // print is also a construct, but // it behaves like a function, so // it may be used in this context. echo $some_var ? 'true': 'false'; // changing the statement around ?> NOTES
Note Because this is a language construct and not a function, it cannot be called using variable functions. SEE ALSO
print(3), printf(3), flush(3), Heredoc syntax. PHP Documentation Group ECHO(3)
All times are GMT -4. The time now is 03:23 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy