Danke für die Hinweise, ich habe mich noch nicht so mit fifos beschäftigt.
Daher muss ich da noch hintersteigen., wie das genau funktioniert.
Ich habe mir jetzt einfach ein Skript und ein paar Funktionen geschrieben.
Die hier habe ich in meine .$SHELLrc getan:
Code:
getTty() {
TTYFILE=`tty | cut -d "/" -f 4`
if [ -n "$TTYFILE" ]; then
TTYFILE=$TTYFILE
TTYBASE=`tty | cut -d "/" -f 3`
TTY_FILE="${TTYBASE}_${TTYFILE}"
else
TTY_FILE=`tty | cut -d "/" -f 3`
fi
echo $TTY_FILE
}
logUser() {
groups $USER | grep vcon 1>/dev/null
if [ "$?" -eq 0 ]; then
TTY_FILE=`getTty`
if [ ! -d "/tmp/vcon/" ]; then
mkdir -m 0770 /tmp/vcon
chown $USER:vcon /tmp/vcon
fi
if [ -e "/tmp/vcon/${TTY_FILE}" ]; then
SCRIPT_SWITCH="-a"
else
touch "/tmp/vcon/${TTY_FILE}"
chmod 0770 "/tmp/vcon/${TTY_FILE}"
chown $USER:vcon "/tmp/vcon/${TTY_FILE}"
fi
script -f ${SCRIPT_SWITCH} "/tmp/vcon/${TTY_FILE}"
else
echo "Nicht in der Gruppe vcon. Breche ab..."
fi
}
Und das Skript habe ich in /usr/local/bin/grabvcon.sh getan:
Code:
#!/bin/bash
is_numeric() {
case "$1" in
[0-9] )
echo 0
;;
* )
echo 1
;;
esac
}
getTty() {
TTYFILE=`tty | cut -d "/" -f 4`
if [ -n "$TTYFILE" ]; then
TTYFILE=$TTYFILE
TTYBASE=`tty | cut -d "/" -f 3`
TTY_FILE="${TTYBASE}_${TTYFILE}"
else
TTY_FILE=`tty | cut -d "/" -f 3`
fi
echo $TTY_FILE
}
groups $USER | grep vcon 1>/dev/null
if [ "$?" -eq 0 ]; then
if [ -d "/tmp/vcon" ]; then
COUNT=0
FILES=""
for i in /tmp/vcon/*;
do
if [ "$i" != "/tmp/vcon/`getTty`" ]; then
COUNT=$[$COUNT+1]
FILES="$FILES $i"
fi
done
FILES=($FILES)
if [ $COUNT -gt 0 ]; then
COUNT=0
clear
printf "Bitte auswählen:\n-------\n"
for j in ${FILES[@]};
do
echo "${COUNT}) : $j"
COUNT=$[$COUNT+1]
done
MAXCOUNT=$[$COUNT-1]
printf "Auswahl: "
read CHOICE
while [ "`is_numeric $CHOICE`" -eq 1 ] || [ "$CHOICE" -gt $MAXCOUNT ] || [ "$CHOICE" -lt 0 ];
do
clear
printf "Falsche Eingabe.\nBitte auswählen:\n--------\n"
COUNT=0
for j in ${FILES[@]};
do
echo "${COUNT}) : $j"
COUNT=$[$COUNT+1]
done
printf "Auswahl: "
read CHOICE
done
tail -n 1000 -f ${FILES[$CHOICE]}
else
echo "Keine Konsolen angelegt."
exit 0
fi
else
echo "Derzeit keine Konsolen verfuegbar."
exit 0
fi
else
echo "Keine Berechtigung."
exit 1
fi
exit 0
Die jeweiligen Benutzer der Gruppe vcon starten ihr Log mit logUser und per grabvcon.sh kann dann die Datei angezeigt werden.
Lesezeichen