Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

mittels Bash ein Passwort eingeben/übergeben

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
Wisha
Newbie
Newbie
Beiträge: 4
Registriert: 27. Okt 2004, 12:04

mittels Bash ein Passwort eingeben/übergeben

Beitrag von Wisha »

Hi @ all

Ich fummel grad so ein bisschen mit eigenen Scripts rum und will, dass das Bash 'adduser' Mailboxen in Cyrus anlegt:

Code: Alles auswählen

cyradm -u cyrus localhost
Dann soll er natürlich das Passwort von selber eingeben.
Nur wie geht das, wenn es geht?

Ob nun automatisch oder manuell, jedenfalls kommt nach cyradm ja noch der nächste Schritt. Mailboxen anlegen. Leider führt meine Bash alle Befehle die nach cyradm kommen erst dann aus, wenn ich aus Cyrus wieder raus bin. Also

Code: Alles auswählen

cm user.benutzer
wird erst wieder außerhalb von Cyrus ausgeführt.

So nun meine Frage:
Kann man das mit einem Bash überhaupt realisieren und wenn ja wie?
wumpfreak
Newbie
Newbie
Beiträge: 36
Registriert: 7. Apr 2004, 13:25
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von wumpfreak »

Solange der cyradm läuft ist die Kontrolle deinem Script "entzogen". Da kannst Du AFAIK mit Shell-Mitteln nix machen.

Um mit Programmen "interagieren" zu können, brauchst Du ein Tool wie z.B. expect http://expect.nist.gov/.

Grüße

Stephan
Wisha
Newbie
Newbie
Beiträge: 4
Registriert: 27. Okt 2004, 12:04

Beitrag von Wisha »

iss ja schade aber trotzdem danke
Wisha
Newbie
Newbie
Beiträge: 4
Registriert: 27. Okt 2004, 12:04

kann ich wohl

Beitrag von Wisha »

@ alle die es wissen wollen
Man kann es doch mittels einer Bash lösen

Hier mein Script zum Löschen vom Benutzern aus OpenXchange und der dazugehörigen Mailboxen aus Cyrus.

Code: Alles auswählen

#!/bin/bash
TELNET="telnet"
IMAPSERVER="localhost"
IMAPPORT="imap2"
CYRUS="cyrus"
PASSWORD="geheim"

set -e

echo "########################################################################"
echo "                  $1 wird entfernt"
echo "########################################################################"

/opt/ox/sbin/deluser_ox --username=$1

echo "########################################################################"
echo "          Mailboxen von $1 werden gelöscht"
echo "########################################################################"

(echo . login $CYRUS $PASSWORD
sleep 1
echo . setacl user/$1 cyrus cd
sleep 1
echo . delete user/$1
sleep 1
echo . logout
sleep 1
) | $TELNET $IMAPSERVER $IMAPPORT
Wobei letzeres die Kommunikation von/mit cyradm übernimmt.
Antworten