eash ist ein System, mit dem man über Client-Server-Architektur Shell-Eingaben überwachen kann. RPMS sind bei Mandriva zu finden. Damit die Kommunikation zwischen Client und Server klappt, sind passende Zertifikate zu erzeugen.
.self
#!/bin/bash
if [ -z "$1" ]
then
echo "Usage: `basename "$0"` filename [bits]"
echo "Create a self signed certificate. CN is set to filename."
exit 1
fi
if [ -f "$1.key" -o -f "$1.pem" -o -f "$1.pub" ]
then
echo "already exists: $1"
exit 1
fi
openssl genrsa -out "$1.key" "${2:-1024}"
openssl req -subj "/CN=$1" -new -key "$1.key" |
openssl x509 -req -days 9999 -signkey "$1.key" -out "$1.pub"
cat "$1.pub" "$1.key" > "$1.pem"
echo "private: key $1.key certificate $1.pem"
echo "public: key $1.pub ($1.pub also is the certificate)"
.sign
#!/bin/bash
if [ -z "$1" ]
then
echo "Usage: `basename "$0"` key filename [bits]"
echo "Create a signed certificate in filename. CN is set to filename."
exit 1
fi
if [ -f "$2.key" -o -f "$2.crt" -o -f "$2.pem" -o -f "$2.pub" ]
then
echo "already exists: $2"
exit 1
fi
ca="${1%.pem}"
ca="${ca%.}"
if [ ! -f "$ca.pem" -o ! -f "$ca.pub" ]
then
echo "missing $ca.pem"
exit 1
fi
openssl genrsa -out "$2.key" "${3:-1024}"
openssl req -subj "/CN=$2" -new -key "$2.key" |
openssl x509 -req -days 9999 -CA "$ca.pem" -CAserial "$ca.srl" -CAcreateserial -out "$2.crt"
if [ -n "$2.crt" ]
then
cat "$2.crt" "$2.key" "$ca.pub" > "$2.pem"
cat "$2.crt" "$ca.pub" > "$2.pub"
fi
echo "private: key $2.key certificate $2.pem"
echo "public: key $2.pub certificate $2.crt"
.list
#!/bin/bash
in="${1%.pem}"
in="${in%.}"
openssl x509 -noout -text -in "$in.pem"
openssl verify -CAfile "$in.pem" "$in.pem"
./.self root./.sign root server./.sign root client/etc/eas/easd_config
PrivateKey /etc/eas/certs/server.pem CertificateAuthority /etc/eas/certs/root.pem
/etc/eas/eash_config
PrivateKey /etc/eas/certs/client.pem CertificateAuthority /etc/eas/certs/root.pem LogServer logging.server.com
Wir wollen als Login-Shell für unsere Benutzer /bin/bash, somit erzeugen wir gemäß Dokumentation den Symlink.
/etc/shells
/usr/bin/eash_bin_bash
Der Benutzer test soll in all seinem Tun überwacht werden. Somit ist die /etc/passwd entsprechend anzupassen.
/etc/passwd
test:x:500:500::/home/test:/usr/bin/eash_bin_bash
eas_play jederzeit abgerufen werden.