Email-Ticket via Procmailrc

Allgemein Fragen, deutsche News, Ankündigungen & Events zu Znuny
Locked
underflyer
Znuny newbie
Posts: 4
Joined: 12 Feb 2014, 16:50
Znuny Version: 3.3.1
Real Name: Alex R.

Email-Ticket via Procmailrc

Post by underflyer »

Hallo zusammen,

meine E-Mails kommen auf meiner Maschine per SMTP an:
z.B. test1@example.com
mittels
/etc/mail/aliases
werden diese an den user otrs weitergeleitet
der user otrs hat in seinem Home-Verzeichnis ("/opt/otrs") eine .procmailrc wo die EMails nach Queues sortiert werden:

Code: Select all

:0 fhw :
* ^X-Original-To: test1@example.org
| formail -I "X-OTRS-Queue: QueueTest1"
Das alles Funktioniert auch eigentlich perfekt. Allerdings bekomme ich nach der 2. Mail oder 3. Mail das Problem dass die Rechte in dem OTRS-Verzeichnis nicht mehr stimmen.
Im Prinzip leuchtet mir der Fehler ein:
- Apache hat einen Linux -User
- OTRS selbst hat einen Linux-User
aber Achtung
- Postfix hat auch einen eigenen Linux-User
d.H. das Skript von OTRS zum Erstellen einsortiern Mail wird nicht vom webuser oder otrsuser aufgerufen, sondern vom postfixuser

das Skript otrs.SetPermissions.pl kennt aber nur webuser und otrs-user.

Oder muss ich hier für Postfix den Adminuser angeben?

Hat jemand ähnliche Probleme schon mal gehabt?
Ich würde gerne bei SMTP bleiben, da ich so schneller meine Tickets generieren kann, als via cronjob über pop3/imap

Vielen Dank und viele Grüße
Alex
schulmann
Znuny wizard
Posts: 477
Joined: 20 Nov 2011, 16:08
Znuny Version: 6.5.11
Real Name: Schulmann

Re: Email-Ticket via Procmailrc

Post by schulmann »

Normalerweise sollte es so funktionieren:
  • Die Mails gehen an den Linux-User "otrs" mit Hilfe eines Eintrags in einer Postfix-canonical-Table (recipient_canonical_maps = ...).
  • Über die Postfix-Datei main.cf (mailbox_command = ...) wird procmail als Zustellungsmethode festgelegt.
  • Deshalb wird bei einer eingehenden Mail procmail mit dem Linux-User "otrs" aufgerufen (siehe Postfix-Dokumentation).
  • Ein Berechtigungsproblem kann es damit dann eigentlich nicht geben.
  • Die Ansteuerung der verschiedenen OTRS-Queues erfolgt über Postmaster-Filter innerhalb von OTRS durch die Auswertung des SMTP-To-Headers.
Znuny6/Debian/ESXi
underflyer
Znuny newbie
Posts: 4
Joined: 12 Feb 2014, 16:50
Znuny Version: 3.3.1
Real Name: Alex R.

Re: Email-Ticket via Procmailrc

Post by underflyer »

hallo schulmann,

es wäre super wenn es so wäre:
ich bekomme aber dann den Fehler:

Code: Select all

OTRS-otrs.PostMaster.pl-10[26078]: [Error][Kernel::System::Main::FileWrite][Line:485]: Can't write '/opt/otrs/var/tmp/CacheFileStorable/CacheInternalTicket/7/8/78cb0d20c5a84aa11360d158ab6d0a71': Permission denied
das verzeichnis sieht so aus:
ls -al
total 16
drwsrwsrwt 2 lighttpd lighttpd 4096 Feb 13 11:59 .
drwsrwsrwt 18 lighttpd lighttpd 4096 Feb 11 11:18 ..
-rwsrwsrwt 1 lighttpd lighttpd 40 Jan 10 22:37 78b816550ee176ba496f1de8a3515b74
-rw-rw---- 1 lighttpd lighttpd 597 Feb 13 11:59 78cb0d20c5a84aa11360d158ab6d0a71
hab ich evtl. die Rechte falsch gesetzt?
bisher habe ich mich halt dadurch beholfen den CacheFileStorable per cron regelmäßig per chmod 777 & chroot freizugeben. Ich weiß, es ist unsicher, aber wenn ich ne Lösung habe stelle ich es ab.

VG Alex

Grüssle Alex
schulmann
Znuny wizard
Posts: 477
Joined: 20 Nov 2011, 16:08
Znuny Version: 6.5.11
Real Name: Schulmann

Re: Email-Ticket via Procmailrc

Post by schulmann »

underflyer wrote:hab ich evtl. die Rechte falsch gesetzt?
Mit lighthttpd kenne ich mich nicht aus.

Ich verwende den Apache und gebe explizit (bei meinem Linux-Derivat) noch

Code: Select all

cd ~otrs && bin/otrs.SetPermissions.pl --otrs-user=otrs --web-user=wwwrun --otrs-group=www --web-group=www /opt/otrs
ein.

Bei meiner Testinstallation ist die primäre Gruppe des OTRS-Users www ohne dass ich irgendetwas spezielles dafür getan habe.
Wie sieht das bei Dir aus?
Znuny6/Debian/ESXi
underflyer
Znuny newbie
Posts: 4
Joined: 12 Feb 2014, 16:50
Znuny Version: 3.3.1
Real Name: Alex R.

Re: Email-Ticket via Procmailrc

Post by underflyer »

Hi,

ich bin inzwischen in der Thematik ein bisschen weiter, aber ne Lösung ist noch nicht in Sicht:

mit folgenden Rechten kann ich die Seite zwar aufrufen, aber das procmail geht gar nicht. Interessant ist, daß das Skript /opt/otrs/.procmailrc mit chown root:root ändert.

Code: Select all

bin/otrs.SetPermissions.pl --otrs-user=otrs --web-user=lighttpd --otrs-group=otrs --web-group=lighttpd  /opt/otrs
Grund ist das: /opt/otrs/var/tmp/CacheFileStorable/CacheInternalUser/* mit den benutzern lighttpd:lighttpd eingerichtet wird

mit dieser Variante geht das Procmail aber ich kann nicht mehr surfen (zugriff verweigert)

Code: Select all

bin/otrs.SetPermissions.pl --otrs-user=otrs --web-user=lighttpd --otrs-group=otrs --web-group=otrs  /opt/otrs
Grund ist das: /opt/otrs/var/tmp/CacheFileStorable/CacheInternalUser/* mit den benutzern otrs:otrs eingerichtet wird

gibt es keine Mischung der Rechte z.B. lighttpd:otrs ??
underflyer
Znuny newbie
Posts: 4
Joined: 12 Feb 2014, 16:50
Znuny Version: 3.3.1
Real Name: Alex R.

Re: Email-Ticket via Procmailrc

Post by underflyer »

ok,

hab den fehler gefunden, es waren die Rechte.
der Scheduler läuft, wenn man ihn per Browser startet, mit den Rechten des Web-servers lighttpd:lighttpd
man muss ihn von Hand starten otrs:lighttpd

dann bleiben die Rechte auch korrekt ;-)

P.S.: bei meiner vorigen email scheint es als ob der Scheduler im Hintergrund noch lief und die Rechte auf lighttpd:lighttpd gesetzt hat
Locked