Frage : Sichern eines KSH-Indexes

Ich habe einen KSH-Index, auf AIX6.1 zu laufen, das als normaler Benutzer laufen gelassen wird (nicht Wurzel). Mein Index ruft andere Shell-Skripts hervor. Ist hier mein Index:

# Katze menu2.ksh
#! /USR/BIN/KSH

CLEAR
ECHO
PRINT „CSIA RBAC -- CONFIGURACION --„
echo

function settrap {
Falle „Druck „Sie schlugen Control-C! ““ INT
}

settrap

print „1) Configurar Kommandos privados "
print „2) Configurar usuarios en RBAC "
print „3) Salir "

echo
echo „Seleccione La opcion: „
echo

while zutreffend; do
las SELECT
Fall $SELECT in
1) Druck „A) Listar los Kommandos privilegiados activos "
Druck „B) Anadir Kommando ein RBAC "
Druck „c) Eliminar Kommando ein RBAC "
während gelesenes SELECT2; do
/> „a-“) Echo „Kommandos activos: “ && lssecattr - c ALLES|Grep csia|awk „{Druck $1}“; ;
„b“) ./addcmdrbac.ksh; ;
„c“) ./delcmdrbac.ksh; ;
esac
Bruch 2
erfolgt; ;
2) Druck „A) Wahl ein "
Druck„B) Wahl b "
während gelesenes SELECT2; do
Fall $SELECT2 in
„a“) Druck „vorgewählt“; ;
„b“) Druck „B vorgewählt“; ;
esac
Bruch 2
erfolgt; ;

3) Bruch; ;
esac
./menu2.ksh
# break
done

Question:
How kann ich einen jeden möglichen Benutzer verhindern, um meinen Index mit Ctrol+C oder Ctrol+Z abzubrechen oder andere Tötung oder Abbruch Signal?
Can schütze ich dieses vor dem Haupt Index (menu2.ksh)?

Antwort : Sichern eines KSH-Indexes

Hallo wieder und traurig!

Ich übersah, dass Sie offensichtlich die Vermächtnisversion von KSH verwenden, das für AIX Standard ist.

Im Vergleich mit dem neueren ksh93 (das ich für selbst gemachte Indexe verwende), gestützt das Setzen des Blockierbefehls in eine Funktion nicht wirklich mit KSH! Es funktioniert nur innerhalb der Funktion und nicht im benennenden Index!

So konnten Sie entweder zu ksh93 schalten (durch das Ersetzen #! /bin/ksh mit #! /bin/ksh93, aber überprüfen bitte gänzlich auf Kompatibilität))oder Sie müssen using eine Funktion abtreten.

Sowieso (KSH oder ksh93) konnten Sie die „Falle“ Befehl“ setzen in eine autonome Akte und „in eine Quelle“ es, wo benötigt.

1) Eine Akte herstellen, die gerade Blockier"" INT-HUP BEENDIGTEN AUSDRUCK enthält und diese Akte z.B. /etc/ignoretrap benennen.

2) Hinzufügen.  /etc/ignoretrap als die zweite Linie zu, welcher Index wünschte. Merken „. “ (Punktraum) vorhergehendes settrap! Es ist wichtig!

Und bitte mach's gut, um die Fallen using eine leere Zeichenkette als der Befehl wirklich zu ignorieren! Das Ausdrucken einer Schnur in vielen Fällen erbringt nicht das erwünschte Ergebnis (den Index fortsetzend, als ob nichts geschehen).

wmp

Weitere Lösungen  
 
programming4us programming4us