Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comm.software.mailserver > #7041
| From | Helmut Waitzmann <nn.throttle@xoxy.net> |
|---|---|
| Newsgroups | de.comm.software.mailserver |
| Subject | Re: Cyrus: cyr_ls: 1: Syntax error: "(" unexpected |
| Date | 2024-07-10 20:46 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <837cdtf5kr.fsf@helmutwaitzmann.news.arcor.de> (permalink) |
| References | <udn518$12l7v$1@dont-email.me> |
Marco Moock <mm+usenet-es@dorfdsl.de>:
> m@srv1:~$ sudo su - cyrus /usr/lib/cyrus/bin/cyr_ls user.mm
> /usr/lib/cyrus/bin/cyr_ls: 1: Syntax error: "(" unexpected
>
> Mache ich da was falsch oder ist da ein Fehler drin?
>
Das Shell‐Kommando
su - cyrus /usr/lib/cyrus/bin/cyr_ls user.mm
befiehlt „su“, nach dem Wechsel der Benutzerkennung auf „cyrus“
und Herstellen einer ordentlichen Prozessumgebung das für den
Account „cyrus“ (in der Account‐Datenbank) konfigurierte Shell
(hier sei mal angenommen, es sei das „/bin/sh“) zu starten und
ihm beim Start einen „argv“‐Parametervektor (siehe das manual
page „exevp(3)“), der aus der folgenden Liste von Parametern
besteht, mitzugeben:
„-su“, „/usr/lib/cyrus/bin/cyr_ls“ und „user.mm“
Dadurch wird dem von „su“ gestarteten Shell befohlen, als
Login‐Shell zu laufen, das Shell‐Skript
„/usr/lib/cyrus/bin/cyr_ls“ einzulesen und abzuarbeiten und dem
Shell‐Skript im ersten positional parameter („"$1"“) den Wert
„user.mm“ bereitzustellen.
Das hat nur einen Sinn, wenn „/usr/lib/cyrus/bin/cyr_ls“
tatsächlich ein Shell‐Skript ist. Die Fehlermeldung,
die du erhalten hast, lässt mich vermuten, dass
„/usr/lib/cyrus/bin/cyr_ls“ kein Shell‐Skript ist.
Unter der Annahme, dass für den Account „cyrus“ in der
Account‐Datenbank als Shell ein zum POSIX‐Standard kompatibles
Shell konfiguriert ist, meintest du vermutlich eher
sudo su -- - cyrus -c '"$@"' sh /usr/lib/cyrus/bin/cyr_ls user.mm
Das startet ein Login‐Shell, das die Kommandozeile „"$@"“, den
Kommandonamen „sh“ und die positional parameters („"$1"“ und
„"$2"“) „/usr/lib/cyrus/bin/cyr_ls“ und „user.mm“ übergeben
bekommt.
Back to de.comm.software.mailserver | Previous | Next — Previous in thread | Find similar | Unroll thread
Cyrus: cyr_ls: 1: Syntax error: "(" unexpected Marco Moock <mm+usenet-es@dorfdsl.de> - 2023-09-11 15:34 +0200
Re: Cyrus: cyr_ls: 1: Syntax error: "(" unexpected Marco Moock <mm+usenet-es@dorfdsl.de> - 2023-09-11 15:40 +0200
Re: Cyrus: cyr_ls: 1: Syntax error: "(" unexpected Ulf Volmer <u.volmer@u-v.de> - 2023-09-11 15:52 +0200
Falsche Nutzung von sudo (was: Re: Cyrus: cyr_ls: 1: Syntax error: "(" unexpected) Marco Moock <mm+usenet-es@dorfdsl.de> - 2023-09-11 16:16 +0200
Re: Cyrus: cyr_ls: 1: Syntax error: "(" unexpected Helmut Waitzmann <nn.throttle@xoxy.net> - 2024-07-10 21:04 +0200
Re: Cyrus: cyr_ls: 1: Syntax error: "(" unexpected Helmut Waitzmann <nn.throttle@xoxy.net> - 2024-07-10 20:46 +0200
csiph-web