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

[RFR] man://manpages-de/user_namespaces.7.po (9/12)



Hallo Mitübersetzer,
ich habe mir noch mal ein paar Handbuchseiten vorgenommen. Die
angehängte ist aus dem Paket manpages und enthält
256 Zeichenketten (ca. 22 pro Teil). Ich würde mich um
konstruktive Kritik zu der Übersetzung sehr freuen.

Vielen Dank!

Viele 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: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-tumbleweed
#, no-wrap
msgid ""
"static void\n"
"update_map(char *mapping, char *map_file)\n"
"{\n"
"    int fd;\n"
"    size_t map_len;     /* Length of \\(aqmapping\\(aq */\n"
msgstr ""
"static void\n"
"update_map(char *mapping, char *map_file)\n"
"{\n"
"    int fd;\n"
"    size_t map_len;     /* Länge der »Abbildung« */\n"

#. type: Plain text
#: archlinux fedora-rawhide mageia-cauldron opensuse-tumbleweed
#, no-wrap
msgid "    /* Replace commas in mapping string with newlines. */\n"
msgstr "    /* Kommata durch Zeilenumbrüche in Abbildungszeichenkette ersetzen. */\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-tumbleweed
#, no-wrap
msgid ""
"    map_len = strlen(mapping);\n"
"    for (int j = 0; j E<lt> map_len; j++)\n"
"        if (mapping[j] == \\(aq,\\(aq)\n"
"            mapping[j] = \\(aq\\en\\(aq;\n"
msgstr ""
"    map_len = strlen(mapping);\n"
"    for (int j = 0; j E<lt> map_len; j++)\n"
"        if (mapping[j] == \\(aq,\\(aq)\n"
"            mapping[j] = \\(aq\\en\\(aq;\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-leap-15-3 opensuse-tumbleweed
#, no-wrap
msgid ""
"    fd = open(map_file, O_RDWR);\n"
"    if (fd == -1) {\n"
"        fprintf(stderr, \"ERROR: open %s: %s\\en\", map_file,\n"
"                strerror(errno));\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"
msgstr ""
"    fd = open(map_file, O_RDWR);\n"
"    if (fd == -1) {\n"
"        fprintf(stderr, \"FEHLER: open %s: %s\\en\", map_file,\n"
"                strerror(errno));\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-leap-15-3 opensuse-tumbleweed
#, no-wrap
msgid ""
"    if (write(fd, mapping, map_len) != map_len) {\n"
"        fprintf(stderr, \"ERROR: write %s: %s\\en\", map_file,\n"
"                strerror(errno));\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"
msgstr ""
"    if (write(fd, mapping, map_len) != map_len) {\n"
"        fprintf(stderr, \"FEHLER: write %s: %s\\en\", map_file,\n"
"                strerror(errno));\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-leap-15-3 opensuse-tumbleweed
#, no-wrap
msgid ""
"    close(fd);\n"
"}\n"
msgstr ""
"    close(fd);\n"
"}\n"

# FIXME Text missing? in order to drop → in order to drop privileges?
#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-leap-15-3 opensuse-tumbleweed
#, no-wrap
msgid ""
"/* Linux 3.19 made a change in the handling of setgroups(2) and the\n"
"   \\(aqgid_map\\(aq file to address a security issue. The issue allowed\n"
"   *unprivileged* users to employ user namespaces in order to drop\n"
"   The upshot of the 3.19 changes is that in order to update the\n"
"   \\(aqgid_maps\\(aq file, use of the setgroups() system call in this\n"
"   user namespace must first be disabled by writing \"deny\" to one of\n"
"   the /proc/PID/setgroups files for this namespace.  That is the\n"
"   purpose of the following function. */\n"
msgstr ""
"/* Linux 3.19 änderte die Handhabung von setgroups(2) und die Datei\n"
"   »gid_map«, um ein Sicherheitsproblem zu adressieren. Das Problem erlaubte\n"
"   *nicht privilegierten* Benutzern einen Benutzernamensraum einzusetzen, um\n"
"   abzugeben. Das Fazit der 3.19er Änderung ist, dass die Verwendung des\n"
"   Systemaufrufs setgroups() in diesem Benutzernamensraum zuerst durch\n"
"   Schreiben von »deny« in eine der Dateien /proc/PID/setgroups für diesen\n"
"   Namensraum erfolgen muss, damit die Datei »gid_maps« aktualisert wird.\n"
"   Das ist der Zweck der folgenden Funktion. */\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-leap-15-3 opensuse-tumbleweed
#, no-wrap
msgid ""
"static void\n"
"proc_setgroups_write(pid_t child_pid, char *str)\n"
"{\n"
"    char setgroups_path[PATH_MAX];\n"
"    int fd;\n"
msgstr ""
"static void\n"
"proc_setgroups_write(pid_t child_pid, char *str)\n"
"{\n"
"    char setgroups_path[PATH_MAX];\n"
"    int fd;\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-tumbleweed
#, no-wrap
msgid ""
"    snprintf(setgroups_path, PATH_MAX, \"/proc/%jd/setgroups\",\n"
"            (intmax_t) child_pid);\n"
msgstr ""
"    snprintf(setgroups_path, PATH_MAX, \"/proc/%jd/setgroups\",\n"
"            (intmax_t) child_pid);\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-leap-15-3 opensuse-tumbleweed
#, no-wrap
msgid ""
"    fd = open(setgroups_path, O_RDWR);\n"
"    if (fd == -1) {\n"
msgstr ""
"    fd = open(setgroups_path, O_RDWR);\n"
"    if (fd == -1) {\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-leap-15-3 opensuse-tumbleweed
#, no-wrap
msgid ""
"        /* We may be on a system that doesn\\(aqt support\n"
"           /proc/PID/setgroups. In that case, the file won\\(aqt exist,\n"
"           and the system won\\(aqt impose the restrictions that Linux 3.19\n"
"           added. That\\(aqs fine: we don\\(aqt need to do anything in order\n"
"           to permit \\(aqgid_map\\(aq to be updated.\n"
msgstr ""
"        /* Vielleicht sind wir auf einem System, das /proc/PID/setgroups\n"
"           nicht unterstützt. Dann wird diese Datei nicht existieren und das\n"
"           System wird nicht die Beschränkungen erzwingen, die Linux 3.19\n"
"           hinzugefügt hat. Das ist ok, wir brauchen nichts zu machen, damit\n"
"           »gid_map« aktualisiert wird.\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-leap-15-3 opensuse-tumbleweed
#, no-wrap
msgid ""
"           However, if the error from open() was something other than\n"
"           the ENOENT error that is expected for that case,  let the\n"
"           user know. */\n"
msgstr ""
"           Falls allerdings der Fehler von open() sich von ENOENT\n"
"           unterscheidet (der in diesem Fall zu erwarten ist), informieren\n"
"           wir den Benutzer. */\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-leap-15-3 opensuse-tumbleweed
#, no-wrap
msgid ""
"        if (errno != ENOENT)\n"
"            fprintf(stderr, \"ERROR: open %s: %s\\en\", setgroups_path,\n"
"                strerror(errno));\n"
"        return;\n"
"    }\n"
msgstr ""
"        if (errno != ENOENT)\n"
"            fprintf(stderr, \"FEHLER: open %s: %s\\en\", setgroups_path,\n"
"                strerror(errno));\n"
"        return;\n"
"    }\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-leap-15-3 opensuse-tumbleweed
#, no-wrap
msgid ""
"    if (write(fd, str, strlen(str)) == -1)\n"
"        fprintf(stderr, \"ERROR: write %s: %s\\en\", setgroups_path,\n"
"            strerror(errno));\n"
msgstr ""
"    if (write(fd, str, strlen(str)) == -1)\n"
"        fprintf(stderr, \"FEHLER: write %s: %s\\en\", setgroups_path,\n"
"            strerror(errno));\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-tumbleweed
#, no-wrap
msgid ""
"static int              /* Start function for cloned child */\n"
"childFunc(void *arg)\n"
"{\n"
"    struct child_args *args = arg;\n"
"    char ch;\n"
msgstr ""
"static int              /* Funktion für geklontes Kind starten */\n"
"childFunc(void *arg)\n"
"{\n"
"    struct child_args *args = arg;\n"
"    char ch;\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-leap-15-3 opensuse-tumbleweed
#, no-wrap
msgid ""
"    /* Wait until the parent has updated the UID and GID mappings.\n"
"       See the comment in main(). We wait for end of file on a\n"
"       pipe that will be closed by the parent process once it has\n"
"       updated the mappings. */\n"
msgstr ""
"    /* Warten, bis der Elternprozess seine UID- und GID-Abbildungen\n"
"       aktualisiert hat. Siehe den Kommentar in main(). Wir warten, bis\n"
"       auf einer Pipe das Dateiende kommt, die vom Elternprozess geschlossen\n"
"       wird, sobald er seine Abbildungen aktualisiert hat. */\n"

#. type: Plain text
#: archlinux fedora-rawhide mageia-cauldron opensuse-tumbleweed
#, no-wrap
msgid ""
"    close(args-E<gt>pipe_fd[1]);    /* Close our descriptor for the write\n"
"                                   end of the pipe so that we see EOF\n"
"                                   when parent closes its descriptor. */\n"
"    if (read(args-E<gt>pipe_fd[0], &ch, 1) != 0) {\n"
"        fprintf(stderr,\n"
"                \"Failure in child: read from pipe returned != 0\\en\");\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"
msgstr ""
"    close(args-E<gt>pipe_fd[1]);    /* Unseren Deskriptor für das Ende des\n"
"                                       Schreibens schließen, so dass wir EOF\n"
"                                       sehen, wenn der Elternprozess seinen\n"
"                                       Deskriptor schließt. */\n"
"    if (read(args-E<gt>pipe_fd[0], &ch, 1) != 0) {\n"
"        fprintf(stderr,\n"
"                \"Fehler im Kind: Lesen von der Pipe lieferte != 0\\en\");\n"
"        exit(EXIT_FAILURE);\n"
"    }\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-leap-15-3 opensuse-tumbleweed
#, no-wrap
msgid "    close(args-E<gt>pipe_fd[0]);\n"
msgstr "    close(args-E<gt>pipe_fd[0]);\n"

#. type: Plain text
#: archlinux fedora-rawhide mageia-cauldron opensuse-tumbleweed
#, no-wrap
msgid "    /* Execute a shell command. */\n"
msgstr "    /* Einen Shell-Befehl ausführen. */\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-leap-15-3 opensuse-tumbleweed
#, no-wrap
msgid ""
"    printf(\"About to exec %s\\en\", args-E<gt>argv[0]);\n"
"    execvp(args-E<gt>argv[0], args-E<gt>argv);\n"
"    errExit(\"execvp\");\n"
"}\n"
msgstr ""
"    printf(\"Gleich wird exec %s ausgeführt\\en\", args-E<gt>argv[0]);\n"
"    execvp(args-E<gt>argv[0], args-E<gt>argv);\n"
"    errExit(\"execvp\");\n"
"}\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-leap-15-3 opensuse-tumbleweed
#, no-wrap
msgid "#define STACK_SIZE (1024 * 1024)\n"
msgstr "#define STACK_SIZE (1024 * 1024)\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-leap-15-3 opensuse-tumbleweed
#, no-wrap
msgid "static char child_stack[STACK_SIZE];    /* Space for child\\(aqs stack */\n"
msgstr "static char child_stack[STACK_SIZE];    /* Platz für den Stack des Kindes */\n"

#. type: Plain text
#: archlinux debian-bullseye debian-unstable fedora-rawhide mageia-cauldron
#: opensuse-leap-15-3 opensuse-tumbleweed
#, no-wrap
msgid ""
"int\n"
"main(int argc, char *argv[])\n"
"{\n"
"    int flags, opt, map_zero;\n"
"    pid_t child_pid;\n"
"    struct child_args args;\n"
"    char *uid_map, *gid_map;\n"
"    const int MAP_BUF_SIZE = 100;\n"
"    char map_buf[MAP_BUF_SIZE];\n"
"    char map_path[PATH_MAX];\n"
msgstr ""
"int\n"
"main(int argc, char *argv[])\n"
"{\n"
"    int flags, opt, map_zero;\n"
"    pid_t child_pid;\n"
"    struct child_args args;\n"
"    char *uid_map, *gid_map;\n"
"    const int MAP_BUF_SIZE = 100;\n"
"    char map_buf[MAP_BUF_SIZE];\n"
"    char map_path[PATH_MAX];\n"

Attachment: signature.asc
Description: PGP signature


Reply to: