[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[RFR] man://manpages-de/man2/execve.2.po (Teil 3/3)



Hallo Mitübersetzer,
anbei der dritte Teil dieser organisch gewachsenen Handbuchseite mit
der Bitte um konstruktive Kritik.

Vielen Dank & Grüße

             Helge

-- 
      Dr. Helge Kreutzmann                     debian@helgefjell.de
           Dipl.-Phys.                   http://www.helgefjell.de/debian.php
        64bit GNU powered                     gpg signed mail preferred
           Help keep free software "libre": http://www.ffii.de/
#. type: TP
#, no-wrap
msgid "B<ENFILE>"
msgstr "B<ENFILE>"

#. type: Plain text
msgid ""
"The system-wide limit on the total number of open files has been reached."
msgstr ""
"Die systemweite Beschränkung für die Gesamtzahl offener Dateien wurde "
"erreicht."

#. type: TP
#, no-wrap
msgid "B<ENOENT>"
msgstr "B<ENOENT>"

#.  FIXME but see http://sourceware.org/bugzilla/show_bug.cgi?id=12241
#. type: Plain text
msgid ""
"The file I<filename> or a script or ELF interpreter does not exist, or a "
"shared library needed for the file or interpreter cannot be found."
msgstr ""
"Die Datei I<filename> oder ein Skript oder ein ELF-Interpreter existiert "
"nicht oder eine Laufzeitbibliothek, die für die Datei oder den Interpreter "
"benötigt wird, kann nicht gefunden werden."

#. type: TP
#, no-wrap
msgid "B<ENOEXEC>"
msgstr "B<ENOEXEC>"

#. type: Plain text
msgid ""
"An executable is not in a recognized format, is for the wrong architecture, "
"or has some other format error that means it cannot be executed."
msgstr ""
"Ein Programm ist nicht in einem erkennbaren Format, ist für die falsche "
"Architektur oder hat einen anderen Formatfehler, wodurch es nicht ausgeführt "
"werden kann."

#. type: TP
#, no-wrap
msgid "B<ENOMEM>"
msgstr "B<ENOMEM>"

#. type: Plain text
msgid "Insufficient kernel memory was available."
msgstr "Es war nicht genügend Kernel-Speicher verfügbar."

#. type: TP
#, no-wrap
msgid "B<ENOTDIR>"
msgstr "B<ENOTDIR>"

#. type: Plain text
msgid ""
"A component of the path prefix of I<filename> or a script or ELF interpreter "
"is not a directory."
msgstr ""
"Ein Teil des Pfadpräfixes von I<filename> oder ein Skript oder ELF-"
"Interpreter ist kein Verzeichnis."

#. type: TP
#, no-wrap
msgid "B<EPERM>"
msgstr "B<EPERM>"

#. type: Plain text
msgid ""
"The filesystem is mounted I<nosuid>, the user is not the superuser, and the "
"file has the set-user-ID or set-group-ID bit set."
msgstr ""
"Das Dateisystem ist I<nosuid> eingehängt, der Benutzer ist nicht der "
"Superuser und die Datei hat das Bit set-user-ID oder Bit set-group-ID "
"gesetzt."

#. type: Plain text
msgid ""
"The process is being traced, the user is not the superuser and the file has "
"the set-user-ID or set-group-ID bit set."
msgstr ""
"Der Prozess wird verfolgt, der Benutzer ist nicht der Superuser und die "
"Datei hat das Bit set-user-ID oder set-group-ID gesetzt."

#. type: Plain text
msgid ""
"A \"capability-dumb\" applications would not obtain the full set of "
"permitted capabilities granted by the executable file.  See "
"B<capabilities>(7)."
msgstr ""
"Eine »Capability-unfähige« Anwendung würde nicht die die Menge der vom "
"ausführbaren Programm gewährten erlaubten Capabilities erhalten. Siehe "
"B<capabilities>(7)."

#. type: TP
#, no-wrap
msgid "B<ETXTBSY>"
msgstr "B<ETXTBSY>"

#. type: Plain text
msgid "The specified executable was open for writing by one or more processes."
msgstr ""
"Das angegebene Programm war für einen oder mehrere Prozesse zum Schreiben "
"offen."

#. type: SH
#, no-wrap
msgid "CONFORMING TO"
msgstr "KONFORM ZU"

#.  SVr4 documents additional error
#.  conditions EAGAIN, EINTR, ELIBACC, ENOLINK, EMULTIHOP; POSIX does not
#.  document ETXTBSY, EPERM, EFAULT, ELOOP, EIO, ENFILE, EMFILE, EINVAL,
#.  EISDIR or ELIBBAD error conditions.
#. type: Plain text
msgid ""
"POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.  POSIX does not document the #! "
"behavior, but it exists (with some variations) on other UNIX systems."
msgstr ""
"POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. POSIX dokumentiert das #!-"
"Verhalten nicht, es existiert aber (mit einigen Variationen) auf anderen "
"UNIX-Systemen."

#. type: SH
#, no-wrap
msgid "NOTES"
msgstr "ANMERKUNGEN"

#. type: Plain text
msgid "Set-user-ID and set-group-ID processes can not be B<ptrace>(2)d."
msgstr ""
"Set-user-ID- und Set-group-ID-Prozesse können nicht mit B<ptrace>(2) "
"verfolgt werden."

#. type: Plain text
msgid ""
"The result of mounting a filesystem I<nosuid> varies across Linux kernel "
"versions: some will refuse execution of set-user-ID and set-group-ID "
"executables when this would give the user powers she did not have already "
"(and return B<EPERM>), some will just ignore the set-user-ID and set-group-"
"ID bits and B<exec>()  successfully."
msgstr ""
"Das Ergebnis des Einhängens eine Dateisystem mit I<nosuid> unterscheidet "
"sich abhängig von der Linux-Kernelversion. Unter einigen wird die "
"Ausfühnrung von Programmen mit set-user-ID und set-group-ID verweigert, wenn "
"das dem Benutzer Rechte geben würde, die er noch nicht bereits hatte (und "
"B<EPERM> zurückliefern). Unter anderen werden die Bits set-user-ID und set-"
"group-ID ignoriert und B<exec>() erfolgreich ausgeführt."

#.  e.g., EFAULT on Solaris 8 and FreeBSD 6.1; but
#.  HP-UX 11 is like Linux -- mtk, Apr 2007
#.  Bug filed 30 Apr 2007: http://bugzilla.kernel.org/show_bug.cgi?id=8408
#.  Bug rejected (because fix would constitute an ABI change).
#. type: Plain text
msgid ""
"On Linux, I<argv> and I<envp> can be specified as NULL.  In both cases, this "
"has the same effect as specifying the argument as a pointer to a list "
"containing a single null pointer.  B<Do not take advantage of this "
"nonstandard and nonportable misfeature!> On many other UNIX systems, "
"specifying I<argv> as NULL will result in an error (B<EFAULT>).  I<Some> "
"other UNIX systems treat the I<envp==NULL> case the same as Linux."
msgstr ""
"Unter Linux können I<argv> und I<envp> als NULL festgelegt werden. In beiden "
"Fällen hat dies den gleichen Effekt wie die Festlegung des Arguments auf "
"einen Zeiger auf eine Liste, die als einziges Element den NULL-Zeiger "
"enthält. B<Nutzen Sie diese nicht standardisierte und nicht portable "
"Misfunktionalität nicht aus!> Unter vielen UNIX-Systemen führt die "
"Festlegung von I<argv> als NULL zu einem Fehler (B<EFAULT>). I<Einige> "
"andere UNIX-Systeme behandeln den Fall I<envp==NULL> wie Linux."

#. type: Plain text
msgid ""
"POSIX.1 says that values returned by B<sysconf>(3)  should be invariant over "
"the lifetime of a process.  However, since Linux 2.6.23, if the "
"B<RLIMIT_STACK> resource limit changes, then the value reported by "
"B<_SC_ARG_MAX> will also change, to reflect the fact that the limit on space "
"for holding command-line arguments and environment variables has changed."
msgstr ""
"POSIX.1 besagt, dass die von B<sysconf>(3) zurückgelieferten Werte über die "
"Lebensdauer eines Prozesses unveränderlich sein sollen. Seit 2.6.23 wird der "
"von B<_SC_ARG_MAX> berichtete Wert sich allerdings auch ändern, wenn die "
"Ressourcenbegrenzung B<RLIMIT_STACK> sich ändert, um die Tatsache zu "
"berücksichtigen, dass die Begrenzung des Platzes zum Halten der "
"Befehlszeilenargumente und der Umgebungsvariablen sich geändert hat."

#. type: Plain text
msgid ""
"In most cases where B<execve>()  fails, control returns to the original "
"executable image, and the caller of B<execve>()  can then handle the error.  "
"However, in (rare) cases (typically caused by resource exhaustion), failure "
"may occur past the point of no return: the original executable image has "
"been torn down, but the new image could not be completely built.  In such "
"cases, the kernel kills the process with a B<SIGKILL> signal."
msgstr ""
"In den meisten Fällen, in denen B<execve>() fehlschlägt, kehrt die Steuerung "
"zu dem ursprünglichen Abbild zurück und der Aufrufende von B<execve>() kann "
"mit dem Fehler umgehen. In (seltenen) Fällen kann (typischerweise durch "
"Ressourcenerschöpfung verursacht) der Fehlschlag den Punkt ohne Rückkehr "
"passieren: das ursprüngliche Abbild wurde bereits entfernt aber das neue "
"Abbild konnte nicht komplett gebaut werden. In diesen Fällen beendet der "
"Kernel den Prozess mit einem Signal B<SIGKILL>."

#. type: Plain text
msgid ""
"A maximum line length of 127 characters is allowed for the first line in an "
"interpreter script."
msgstr ""
"Eine maximale Zeilenlänge von 127 Zeichen wird für die erste Zeile in einem "
"interpretierten Skript."

#.  e.g., Solaris 8
#.  e.g., FreeBSD before 6.0, but not FreeBSD 6.0 onward
#. type: Plain text
msgid ""
"The semantics of the I<optional-arg> argument of an interpreter script vary "
"across implementations.  On Linux, the entire string following the "
"I<interpreter> name is passed as a single argument to the interpreter, and "
"this string can include white space.  However, behavior differs on some "
"other systems.  Some systems use the first white space to terminate "
"I<optional-arg>.  On some systems, an interpreter script can have multiple "
"arguments, and white spaces in I<optional-arg> are used to delimit the "
"arguments."
msgstr ""
"Die Semantik des Arguments I<Optionale-Args> eines Interpreterskriptes "
"unterscheidet sich zwischen Implementierungen. Unter Linux wird die gesamte "
"Zeichenkette, die I<Interpreter> folgt, als einziges Argument an den "
"Interpreter übergeben und diese Zeichenkette kann Leerzeichen enthalten. Das "
"Verhalten unterscheidet sich aber auf einigen anderen Systemen. Einige "
"Systeme verwenden das erste Leerzeichen, um I<Optionale-Args> zu beenden. "
"Auf einigen Systemen kann ein Interpreterskript mehrere Argumente haben und "
"Leerzeichen in I<Optionale-Args> werden zum Begrenzen der Argumente verwandt."

#.  .SH BUGS
#.  Some Linux versions have failed to check permissions on ELF
#.  interpreters.  This is a security hole, because it allows users to
#.  open any file, such as a rewinding tape device, for reading.  Some
#.  Linux versions have also had other security holes in
#.  .BR execve ()
#.  that could be exploited for denial of service by a suitably crafted
#.  ELF binary. There are no known problems with 2.0.34 or 2.2.15.
#. type: Plain text
msgid "Linux ignores the set-user-ID and set-group-ID bits on scripts."
msgstr ""
"Linux ignoriert die Bits »set-user-ID« und »set-group-ID« bei Skripten."

#. type: SS
#, no-wrap
msgid "execve() and EAGAIN"
msgstr "execve() und EAGAIN"

#. type: Plain text
msgid ""
"A more detailed explanation of the B<EAGAIN> error that can occur (since "
"Linux 3.1) when calling B<execve>()  is as follows."
msgstr ""
"Eine detailliertere Beschreibung des Fehlers B<EAGAIN>, der  (seit Linux "
"3.1) beim Aufruf von B<execve>() auftreten kann, ist wie folgt:"

#.  commit 909cc4ae86f3380152a18e2a3c44523893ee11c4
#. type: Plain text
msgid ""
"The B<EAGAIN> error can occur when a I<preceding> call to B<setuid>(2), "
"B<setreuid>(2), or B<setresuid>(2)  caused the real user ID of the process "
"to change, and that change caused the process to exceed its B<RLIMIT_NPROC> "
"resource limit (i.e., the number of processes belonging to the new real UID "
"exceeds the resource limit).  From Linux 2.6.0 to 3.0, this caused the "
"B<set*uid>()  call to fail.  (Prior to 2.6, the resource limit was not "
"imposed on processes that changed their user IDs.)"
msgstr ""
"Der Fehler B<EAGAIN> kann auftreten, wenn ein I<vorhergehender> Aufruf von "
"B<setuid>(2), B<setreuid>(2) oder B<setresuid>(2) dazu führte, dass die "
"echte Benutzer-ID des Prozesses geändert wurde und diese Änderung dazu "
"führte, dass der Prozess seine Ressourcenbeschränkung B<RLIMIT_NPROC> "
"überschritt (d.h. die Anzahl der zu der neuen echten UID gehörenden Prozesse "
"überschreitet die Ressourcenbeschränkung). Von Linux 2.6.0 bis 3.0 führte "
"dies dazu, dass der Aufruf B<set*uid>() fehlschlug. (Vor 2.6 wurde die "
"Ressourcenbeschränkung bei Prozessen, die ihre Benutzer-IDs änderten, nicht "
"durchgesetzt.)"

#. type: Plain text
msgid ""
"Since Linux 3.1, the scenario just described no longer causes the "
"B<set*uid>()  call to fail, because it too often led to security holes where "
"buggy applications didn't check the return status and assumed that\\(emif "
"the caller had root privileges\\(emthe call would always succeed.  Instead, "
"the B<set*uid>()  calls now successfully change the real UID, but the kernel "
"sets an internal flag, named B<PF_NPROC_EXCEEDED>, to note that the "
"B<RLIMIT_NPROC> resource limit has been exceeded.  If the "
"B<PF_NPROC_EXCEEDED> flag is set and the resource limit is still exceeded at "
"the time of a subsequent B<execve>()  call, that call fails with the error "
"B<EAGAIN>.  This kernel logic ensures that the B<RLIMIT_NPROC> resource "
"limit is still enforced for the common privileged daemon workflow"
"\\(emnamely, B<fork>(2)  + B<set*uid>()  + B<execve>()."
msgstr ""
"Seit Linux 3.1 schlägt in dem gerade beschriebenen Szenario der Aufruf "
"B<set*uid>() nicht mehr fehl, da dies zu oft zu Sicherheitslöchern führte, "
"bei denen fehlerhafte Anwendungen nicht den Rückgabewert prüften und "
"annahmen, dass – falls der Aufrufende Root-Rechte hatte – der Aufruf immer "
"erfolgreich sein würde. Stattdessen ändert der Aufruf B<set*uid>() jetzt "
"erfolgreich die echte UID, aber der Kernel setzt einen internen Schalter "
"namens B<PF_NPROC_EXCEEDED>, um zu vermerken, dass die "
"Ressourcenbeschränkung B<RLIMIT_NPROC> überschritten wurde. Falls der "
"Schalter B<PF_NPROC_EXCEEDED> gesetzt ist und die Ressourcenbeschränkung zum "
"Zeitpunkt eines folgenden B<execve>()-Aufrufs immer noch überschritten ist, "
"dann schlägt dieser Aufruf mit dem Fehler B<EAGAIN> fehl. Diese Kernellogik "
"stellt sicher, dass die Ressourcenbeschränkung B<RLIMIT_NPROC> für den "
"häufigen Ablauf bei privilegierten Daemons – also B<fork>(2) + B<set*uid>() "
"+ B<execve>() – weiterhin durchgesetzt wird."

#. type: Plain text
msgid ""
"If the resource limit was not still exceeded at the time of the B<execve>()  "
"call (because other processes belonging to this real UID terminated between "
"the B<set*uid>()  call and the B<execve>()  call), then the B<execve>()  "
"call succeeds and the kernel clears the B<PF_NPROC_EXCEEDED> process flag.  "
"The flag is also cleared if a subsequent call to B<fork>(2)  by this process "
"succeeds."
msgstr ""
"Falls die Ressourcenbegrenzung zum Zeitpunkt des Aufrufs B<execve>() noch "
"nicht überschritten wurde (da andere zu dieser echten UID gehörende Prozesse "
"sich zwischen dem Aufruf von B<set*uid>() und dem Aufruf von B<execve>() "
"beendeten) dann gelingt der Aufruf und der Kernel bereinigt den "
"Prozessschalter B<PF_NPROC_EXCEEDED>. Der Schalter wird auch auf 0 gesetzt, "
"falls ein folgender Aufruf von B<fork>(2) durch diesen Prozess gelingt."

#. type: SS
#, no-wrap
msgid "Historical"
msgstr "Geschichtliches"

#.  .SH BUGS
#.  Some Linux versions have failed to check permissions on ELF
#.  interpreters.  This is a security hole, because it allows users to
#.  open any file, such as a rewinding tape device, for reading.  Some
#.  Linux versions have also had other security holes in
#.  .BR execve ()
#.  that could be exploited for denial of service by a suitably crafted
#.  ELF binary. There are no known problems with 2.0.34 or 2.2.15.
#. type: Plain text
msgid ""
"With UNIX\\ V6, the argument list of an B<exec>()  call was ended by 0, "
"while the argument list of I<main> was ended by -1.  Thus, this argument "
"list was not directly usable in a further B<exec>()  call.  Since UNIX\\ V7, "
"both are NULL."
msgstr ""
"Unter UNIX\\ V6 wurde die Argumentenliste von einem B<exec>()-Aufruf durch 0 "
"beendet, während die Argumentenliste von I<main> durch -1 beendet wurde. "
"Daher war diese Argumentenliste nicht für weitere B<exec>()-Aufrufe direkt "
"verwendbar. Seit UNIX\\ V7 sind beide NULL."

#. type: SH
#, no-wrap
msgid "EXAMPLE"
msgstr "BEISPIEL"

#. type: Plain text
msgid ""
"The following program is designed to be execed by the second program below.  "
"It just echoes its command-line arguments, one per line."
msgstr ""
"Das folgende Programm ist dafür gedacht, vom zweiten folgenden Programm "
"ausgeführt zu werden. Es gibt nur seine Befehlszeile (eine pro Zeile) wieder "
"aus."

#. type: Plain text
#, no-wrap
msgid "/* myecho.c */\n"
msgstr "/* myecho.c */\n"

#. type: Plain text
#, no-wrap
msgid ""
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"
msgstr ""
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"

#. type: Plain text
#, no-wrap
msgid ""
"int\n"
"main(int argc, char *argv[])\n"
"{\n"
"    int j;\n"
msgstr ""
"int\n"
"main(int argc, char *argv[])\n"
"{\n"
"    int j;\n"

#. type: Plain text
#, no-wrap
msgid ""
"    for (j = 0; j E<lt> argc; j++)\n"
"        printf(\"argv[%d]: %s\\en\", j, argv[j]);\n"
msgstr ""
"    for (j = 0; j E<lt> argc; j++)\n"
"        printf(\"argv[%d]: %s\\en\", j, argv[j]);\n"

#. type: Plain text
#, no-wrap
msgid ""
"    exit(EXIT_SUCCESS);\n"
"}\n"
msgstr ""
"    exit(EXIT_SUCCESS);\n"
"}\n"

#. type: Plain text
msgid ""
"This program can be used to exec the program named in its command-line "
"argument:"
msgstr ""
"Dieses Programm kann zur Ausführung des in seinem Befehlszeilenargument "
"benannten Programms verwandt werden:"

#. type: Plain text
#, no-wrap
msgid "/* execve.c */\n"
msgstr "/* execve.c */\n"

#. type: Plain text
#, no-wrap
msgid ""
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>unistd.hE<gt>\n"
msgstr ""
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>unistd.hE<gt>\n"

#. type: Plain text
#, no-wrap
msgid ""
"int\n"
"main(int argc, char *argv[])\n"
"{\n"
"    char *newargv[] = { NULL, \"hello\", \"world\", NULL };\n"
"    char *newenviron[] = { NULL };\n"
msgstr ""
"int\n"
"main(int argc, char *argv[])\n"
"{\n"
"    char *newargv[] = { NULL, \"hello\", \"world\", NULL };\n"
"    char *newenviron[] = { NULL };\n"

#. type: Plain text
#, no-wrap
msgid ""
"    if (argc != 2) {\n"
"        fprintf(stderr, \"Usage: %s E<lt>file-to-execE<gt>\\en\", argv[0]);\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"
msgstr ""
"    if (argc != 2) {\n"
"\tprintf(stderr, \"Aufruf: %s E<lt>auszuführende-DateiE<gt>\\en\", argv[0]);\n"
"\texit(EXIT_FAILURE);\n"
"    }\n"

#. type: Plain text
#, no-wrap
msgid "    newargv[0] = argv[1];\n"
msgstr "    newargv[0] = argv[1];\n"

#. type: Plain text
#, no-wrap
msgid ""
"    execve(argv[1], newargv, newenviron);\n"
"    perror(\"execve\");   /* execve() returns only on error */\n"
"    exit(EXIT_FAILURE);\n"
"}\n"
msgstr ""
"    execve(argv[1], newargv, newenviron);\n"
"    perror(\"execve\");   /* execve() kehrt nur im Fehlerfall zurück */\n"
"    exit(EXIT_FAILURE);\n"
"}\n"

#. type: Plain text
msgid "We can use the second program to exec the first as follows:"
msgstr ""
"Wir können das zweite Programm verwenden, um das erste wie folgt aufzurufen:"

#. type: Plain text
#, no-wrap
msgid ""
"$B< cc myecho.c -o myecho>\n"
"$B< cc execve.c -o execve>\n"
"$B< ./execve ./myecho>\n"
"argv[0]: ./myecho\n"
"argv[1]: hello\n"
"argv[2]: world\n"
msgstr ""
"$B< cc myecho.c -o myecho>\n"
"$B< cc execve.c -o execve>\n"
"$B< ./execve ./myecho>\n"
"argv[0]: ./myecho\n"
"argv[1]: hello\n"
"argv[2]: world\n"

#. type: Plain text
msgid ""
"We can also use these programs to demonstrate the use of a script "
"interpreter.  To do this we create a script whose \"interpreter\" is our "
"I<myecho> program:"
msgstr ""
"Wir können diese Programme auch zur Demonstration der Verwendung eines "
"Skript-Interpreters verwenden. Dafür erstellen wir ein Skript, dessen "
"»Interpreter« unser I<myecho>-Programm ist."

#. type: Plain text
#, no-wrap
msgid ""
"$B< cat E<gt> script>\n"
"B<#!./myecho script-arg>\n"
"B<^D>\n"
"$B< chmod +x script>\n"
msgstr ""
"$B< cat E<gt> script>\n"
"B<#!./myecho script-arg>\n"
"B<^D>\n"
"$B< chmod +x script>\n"

#. type: Plain text
msgid "We can then use our program to exec the script:"
msgstr "Wir können dann unser Program verwenden, um das Skript auszuführen:"

#. type: Plain text
#, no-wrap
msgid ""
"$B< ./execve ./script>\n"
"argv[0]: ./myecho\n"
"argv[1]: script-arg\n"
"argv[2]: ./script\n"
"argv[3]: hello\n"
"argv[4]: world\n"
msgstr ""
"$B< ./execve ./script>\n"
"argv[0]: ./myecho\n"
"argv[1]: script-arg\n"
"argv[2]: ./script\n"
"argv[3]: hello\n"
"argv[4]: world\n"

#. type: SH
#, no-wrap
msgid "SEE ALSO"
msgstr "SIEHE AUCH"

#. type: Plain text
msgid ""
"B<chmod>(2), B<execveat>(2), B<fork>(2), B<get_robust_list>(2), "
"B<ptrace>(2), B<execl>(3), B<fexecve>(3), B<getopt>(3), B<system>(3), "
"B<credentials>(7), B<environ>(7), B<path_resolution>(7), B<ld.so>(8)"
msgstr ""
"B<chmod>(2), B<execveat>(2), B<fork>(2), B<get_robust_list>(2), "
"B<ptrace>(2), B<execl>(3), B<fexecve>(3), B<getopt>(3), B<system>(3), "
"B<credentials>(7), B<environ>(7), B<path_resolution>(7), B<ld.so>(8)"

#. type: SH
#, no-wrap
msgid "COLOPHON"
msgstr "KOLOPHON"

#. type: Plain text
msgid ""
"This page is part of release 4.15 of the Linux I<man-pages> project.  A "
"description of the project, information about reporting bugs, and the latest "
"version of this page, can be found at \\%https://www.kernel.org/doc/man-";
"pages/."
msgstr ""
"Diese Seite ist Teil der Veröffentlichung 4.15 des Projekts Linux-I<man-"
"pages>. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet "
"werden können sowie die aktuelle Version dieser Seite finden sich unter \\"
"%https://www.kernel.org/doc/man-pages/.";

Attachment: signature.asc
Description: Digital signature


Reply to: