Trotz laufender Reviews noch ein "Neuer". Diese Handbuchseite ist alphabetisch die zweite in der Liste offener Übersetzungen für Abschnitt 2. Und sie ist Teamarbeit: Tobias hat die alte Übersetzung verworfen, Helge hat mit der Übersetzung angefangen und ich die Übersetzung vor der letzten Version der manpages-de abgeschlossen.
Kennwerte: 16K, 47 Meldungen, 144 Zeilen formatierte Ausgabe. Wie immer in jüngerer Zeit erspare ich Euch die letzten beiden Abschnitte. Viele Grüße, Martin
# German translation of manpages # This file is distributed under the same license as the manpages-de package. # Copyright © of this file: # Tobias Quathamer <to...@debian.org>, 2012. # Helge Kreutzmann <deb...@helgefjell.de>, 2012. # Martin Eberhard Schauer <martin.e.scha...@gmx.de>, 2012. msgid "" msgstr "" "Project-Id-Version: manpages-de\n" "POT-Creation-Date: 2012-08-26 13:29+0300\n" "PO-Revision-Date: 2012-10-19 01:29+0200\n" "Last-Translator: Tobias Quathamer <to...@debian.org>\n" "Language-Team: German <debian-l10n-german@lists.debian.org>\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. type: TH #, no-wrap msgid "CAPGET" msgstr "CAPGET" #. type: TH #, no-wrap msgid "2012-08-05" msgstr "5. August 2012" #. type: TH #, no-wrap msgid "Linux" msgstr "Linux" #. type: TH #, no-wrap msgid "Linux Programmer's Manual" msgstr "Linux-Programmierhandbuch" #. type: SH #, no-wrap msgid "NAME" msgstr "BEZEICHNUNG" # Wie sollte der Plural von Capability hier verwendet werden. Die korrekte # deutsche Variante endet in -ys, Helge hat in capabilities(7) bewusst # die ie-Variante verwendet. #. type: Plain text msgid "capget, capset - set/get capabilities of thread(s)" msgstr "capget, capset - setzt/ermittelt die Capabilities von Thread(s)" #. type: SH #, no-wrap msgid "SYNOPSIS" msgstr "ÃBERSICHT" #. type: Plain text msgid "B<#include E<lt>sys/capability.hE<gt>>" msgstr "B<#include E<lt>sys/capability.hE<gt>>" #. type: Plain text msgid "" "B<int capget(cap_user_header_t >I<hdrp>B<, cap_user_data_t >I<datap>B<);>" msgstr "" "B<int capget(cap_user_header_t >I<hdrp>B<, cap_user_data_t >I<datap>B<);>" #. type: Plain text msgid "" "B<int capset(cap_user_header_t >I<hdrp>B<, const cap_user_data_t " ">I<datap>B<);>" msgstr "" "B<int capset(cap_user_header_t >I<hdrp>B<, const cap_user_data_t " ">I<datap>B<);>" #. type: SH #, no-wrap msgid "DESCRIPTION" msgstr "BESCHREIBUNG" # Umformulieren, auch im Original? # Vorschlag: # ⦠"diskreten Capabilities aufgeteilt. Für jeden Thread gibt es drei # Gruppen von Capabilities. Die effektiven (effective) Capabilities (so # vorhanden) geben, welche Capabilities er aktuell gebrauchen darf. Die # vererbbaren (inheritable) Capabilities können über einen Aufruf von # B<execve>(2) weitergegeben werden. Die erlaubten (permitted) Capabilities # darf er zu den effektiven oder vererbbaren hinzufügen. #. type: Plain text msgid "" "As of Linux 2.2, the power of the superuser (root) has been partitioned into " "a set of discrete capabilities. Each thread has a set of effective " "capabilities identifying which capabilities (if any) it may currently " "exercise. Each thread also has a set of inheritable capabilities that may " "be passed through an B<execve>(2) call, and a set of permitted capabilities " "that it can make effective or inheritable." msgstr "" "Seit Linux 2.2 ist die Macht des Superusers (Root) in eine Gruppe von " "diskreten Capabilities aufgeteilt. Jeder Thread hat eine Gruppe an " "effektiven Capabilities, die angeben, welche Capabilities (falls zutreffend) " "er derzeit ausführen darf. Jeder Thread hat auch eine Gruppe an vererbbaren " "Capabilities, die über einen B<execve>(2)-Aufruf weitergegeben werden können " "und eine Gruppe an erlaubten Capabilities, die er zu effektiven oder " "vererbbaren hinzufügen kann." # Ãbersetzung von raw? #. type: Plain text msgid "" "These two functions are the raw kernel interface for getting and setting " "thread capabilities. Not only are these system calls specific to Linux, but " "the kernel API is likely to change and use of these functions (in particular " "the format of the I<cap_user_*_t> types) is subject to extension with each " "kernel revision, but old programs will keep working." msgstr "" "Diese zwei Funktionen sind die »unverkleidete« Kernel-Schnittstelle zum " "Ermitteln und Setzen der Thread-Capabilities. Die Systemaufrufe sind nicht " "nur Linux-spezifisch, auch die Kernel-API wird sich wahrscheinlich ändern " "und die Verwendung dieser Funktionen (insbesondere das Format der " "I<cap_user_*_t>-Typen) unterliegt in jeder Kernel-Revision Erweiterungen, " "aber alte Programme werden weiterhin funktionieren." #. type: Plain text msgid "" "The portable interfaces are B<cap_set_proc>(3) and B<cap_get_proc>(3); if " "possible you should use those interfaces in applications. If you wish to " "use the Linux extensions in applications, you should use the easier-to-use " "interfaces B<capsetp>(3) and B<capgetp>(3)." msgstr "" "Die portablen Schnittstellen sind B<cap_set_proc>(3) und B<cap_get_proc>(3); " "falls möglich, sollten Sie in Anwendungen diese Schnittstellen verwenden. " "Falls Sie in Anwendungen die Linux-Erweiterungen verwenden möchten, sollten " "Sie die leichter zu verwendenden Schnittstellen B<capsetp>(3) und B<capgetp>" "(3) verwenden." #. type: SS #, no-wrap msgid "Current details" msgstr "Aktuelle Details" #. type: Plain text msgid "" "Now that you have been warned, some current kernel details. The structures " "are defined as follows." msgstr "" "Nachdem Sie gewarnt wurden, einige aktuelle Kernel-Datails. Die Strukturen " "sind wie folgt definiert:" #. type: Plain text #, no-wrap msgid "" "#define _LINUX_CAPABILITY_VERSION_1 0x19980330\n" "#define _LINUX_CAPABILITY_U32S_1 1\n" msgstr "" "#define _LINUX_CAPABILITY_VERSION_1 0x19980330\n" "#define _LINUX_CAPABILITY_U32S_1 1\n" #. type: Plain text #, no-wrap msgid "" "#define _LINUX_CAPABILITY_VERSION_2 0x20071026\n" "#define _LINUX_CAPABILITY_U32S_2 2\n" msgstr "" "#define _LINUX_CAPABILITY_VERSION_2 0x20071026\n" "#define _LINUX_CAPABILITY_U32S_2 2\n" #. type: Plain text #, no-wrap msgid "" "typedef struct __user_cap_header_struct {\n" " __u32 version;\n" " int pid;\n" "} *cap_user_header_t;\n" msgstr "" "typedef struct __user_cap_header_struct {\n" " __u32 version;\n" " int pid;\n" "} *cap_user_header_t;\n" #. type: Plain text #, no-wrap msgid "" "typedef struct __user_cap_data_struct {\n" " __u32 effective;\n" " __u32 permitted;\n" " __u32 inheritable;\n" "} *cap_user_data_t;\n" msgstr "" "typedef struct __user_cap_data_struct {\n" " __u32 effective;\n" " __u32 permitted;\n" " __u32 inheritable;\n" "} *cap_user_data_t;\n" # FIXME: B<capabilities>(7) #. type: Plain text msgid "" "I<effective, permitted, inheritable> are bitmasks of the capabilities " "defined in I<capability(7).> Note the I<CAP_*> values are bit indexes and " "need to be bit-shifted before ORing into the bit fields. To define the " "structures for passing to the system call you have to use the I<struct " "__user_cap_header_struct> and I<struct __user_cap_data_struct> names because " "the typedefs are only pointers." msgstr "" "I<effective, permitted> und I<inheritable> sind Bitmasken der in " "B<capabilities>(7) definierten Capabilities. Beachten Sie, dass I<CAP_*>-" "Werte Bitindizes sind und bitweise verschoben werden müssen, bevor sie per " "ODER in die Bitfelder geschrieben werden. Um die Strukturen zu definieren, " "die an den Systemaufruf übergeben werden sollen, müssen Sie die Namen " "I<struct __user_cap_header_struct> und I<struct __user_cap_data_struct> " "verwenden, da die Typedefs nur Zeiger sind." #. type: Plain text msgid "" "Kernels prior to 2.6.25 prefer 32-bit capabilities with version " "B<_LINUX_CAPABILITY_VERSION_1>, and kernels 2.6.25+ prefer 64-bit " "capabilities with version B<_LINUX_CAPABILITY_VERSION_2>. Note, 64-bit " "capabilities use I<datap>[0] and I<datap>[1], whereas 32-bit capabilities " "use only I<datap>[0]." msgstr "" "Kernel vor 2.6.25 bevorzugen 32-Bit-Capabilities mit Version " "B<_LINUX_CAPABILITY_VERSION_1>; Kernel 2.6.25+ bevorzugen 64-Bit-" "Capabilities mit Version B<_LINUX_CAPABILITY_VERSION_2>. Beachten Sie, dass " "64-Bit-Capabilities I<datap>[0] und I<datap>[1] verwenden, während 32-Bit-" "Capabilities nur I<datap>[0] verwenden." #. type: Plain text msgid "" "Another change affecting the behavior of these system calls is kernel " "support for file capabilities (VFS capability support). This support is " "currently a compile time option (added in kernel 2.6.24)." msgstr "" "Eine weitere Ãnderung betrifft das Verhalten dieser Systemaufrufe im " "Hinblick auf Datei-Capabilities (VFS-Capability-Unterstützung). Diese " "Unterstützung ist derzeit eine Compilierzeit-Option (hinzugefügt in Kernel " "2.6.24)." #. type: Plain text msgid "" "For B<capget>() calls, one can probe the capabilities of any process by " "specifying its process ID with the I<hdrp-E<gt>pid> field value." msgstr "" "Für Aufrufe von B<capget>() können die Capabilities eines Prozesses über die " "Angabe der Prozess-ID mit dem Feldwert I<hdrp-E<gt>pid> ermittelt werden." #. type: SS #, no-wrap msgid "With VFS Capability Support" msgstr "Mit VFS-Capability-Unterstützung" #. type: Plain text msgid "" "VFS Capability support creates a file-attribute method for adding " "capabilities to privileged executables. This privilege model obsoletes " "kernel support for one process asynchronously setting the capabilities of " "another. That is, with VFS support, for B<capset>() calls the only " "permitted values for I<hdrp-E<gt>pid> are 0 or B<getpid>(2), which are " "equivalent." msgstr "" "VFS-Capability-Unterstützung erstellt eine auf Dateiattributen basierende " "Methode zum Hinzufügen von Funktionen für privilegierte ausführbare Dateien. " "Dieses Privilegienmodell ersetzt die Kernel-Unterstützung dafür, dass ein " "Prozess asynchron die Capabilities eines anderen setzt. Das heiÃt, mit VFS-" "Unterstützung sind für Aufrufe von B<capset>() die einzig zulässigen, " "gleichwertigen Werte für I<hdrp-E<gt>pid> 0 oder B<getpid>(2)." #. type: SS #, no-wrap msgid "Without VFS Capability Support" msgstr "Ohne VFS-Capability-Unterstützung" # FIXME: ID is -I<pid> #. type: Plain text msgid "" "When the kernel does not support VFS capabilities, B<capset>() calls can " "operate on the capabilities of the thread specified by the I<pid> field of " "I<hdrp> when that is nonzero, or on the capabilities of the calling thread " "if I<pid> is 0. If I<pid> refers to a single-threaded process, then I<pid> " "can be specified as a traditional process ID; operating on a thread of a " "multithreaded process requires a thread ID of the type returned by B<gettid>" "(2). For B<capset>(), I<pid> can also be: -1, meaning perform the change on " "all threads except the caller and B<init>(8); or a value less than -1, in " "which case the change is applied to all members of the process group whose " "ID is -I<pid>." msgstr "" "Falls der Kernel VFS-Capabilities nicht unterstützt, können Aufrufe von " "B<capset>() auf die Capabilities des durch das I<pid>-Feld von I<hdrp> " "beschriebenen Threads zugreifen, wenn das Feld von Null verschieden ist; " "falls I<pid> gleich 0 ist, wird auf die Capabilities des aufrufenden Threads " "zugegriffen. Falls sich I<pid> auf einen single-threaded Prozess bezieht, " "kann I<pid> auch als herkömmliche Prozess-ID angegeben werden. Der Zugriff " "auf einen Thread eines Multithread-Prozesses erfordert eine Thread-ID vom " "Typ, den B<gettid>(2) zurückgibt. Für B<capset>() kann I<pid> auch -1 sein, " "d.h. die Ãnderung wird für alle Threads auÃer dem Aufrufenden und B<init>(8) " "durchgeführt; ein Wert kleiner als -1 bewirkt die Ãnderung für alle " "Mitglieder der Prozessgruppe, deren ID -I<pid> ist." #. type: Plain text msgid "For details on the data, see B<capabilities>(7)." msgstr "Für Details der Daten siehe B<capabilities>(7)." #. type: SH #, no-wrap msgid "RETURN VALUE" msgstr "RÃCKGABEWERT" #. type: Plain text msgid "" "On success, zero is returned. On error, -1 is returned, and I<errno> is set " "appropriately." msgstr "" "Bei Erfolg wird Null zurückgegeben. Bei einem Fehler wird -1 zurückgegeben " "und I<errno> entsprechend gesetzt." #. type: Plain text msgid "" "The calls will fail with the error B<EINVAL>, and set the I<version> field " "of I<hdrp> to the kernel preferred value of B<_LINUX_CAPABILITY_VERSION_?> " "when an unsupported I<version> value is specified. In this way, one can " "probe what the current preferred capability revision is." msgstr "" "Die Aufrufe werden mit dem Fehler B<EINVAL> fehlschlagen und das Feld " "I<version> von I<hdrp> auf den vom Kernel bevorzugten Wert von " "B<_LINUX_CAPABILITY_VERSION_?> setzen, wenn ein nicht unterstützter Wert für " "I<version> angegeben wird. Auf diese Weise kann herausgefunden werden, wie " "die derzeit bevorzugte Capability-Revision lautet." #. type: SH #, no-wrap msgid "ERRORS" msgstr "FEHLER" #. type: TP #, no-wrap msgid "B<EFAULT>" msgstr "B<EFAULT>" #. type: Plain text msgid "" "Bad memory address. I<hdrp> must not be NULL. I<datap> may be NULL only " "when the user is trying to determine the preferred capability version format " "supported by the kernel." msgstr "" "Ungültige Speicheradresse. I<hdrp> darf nicht NULL sein. I<datap> darf nur " "dann NULL sein, wenn der Benutzer versucht, das vom Kernel unterstützte " "bevorzugte Capability-Versionsformat zu ermitteln." #. type: TP #, no-wrap msgid "B<EINVAL>" msgstr "B<EINVAL>" #. type: Plain text msgid "One of the arguments was invalid." msgstr "Eines der Argumente war ungültig." #. type: TP #, no-wrap msgid "B<EPERM>" msgstr "B<EPERM>" # FIXME: GroÃbuchstaben, Gebrauch von Permitted? #. type: Plain text msgid "" "An attempt was made to add a capability to the Permitted set, or to set a " "capability in the Effective or Inheritable sets that is not in the Permitted " "set." msgstr "" "Es wurde versucht, eine Capability zu der erlaubten Menge hinzuzufügen oder " "eine Capability in der effektiven oder vererbbaren Menge zu setzen, die " "nicht in der erlaubten Menge enthalten ist." #. type: Plain text msgid "" "The caller attempted to use B<capset>() to modify the capabilities of a " "thread other than itself, but lacked sufficient privilege. For kernels " "supporting VFS capabilities, this is never permitted. For kernels lacking " "VFS support, the B<CAP_SETPCAP> capability is required. (A bug in kernels " "before 2.6.11 meant that this error could also occur if a thread without " "this capability tried to change its own capabilities by specifying the " "I<pid> field as a nonzero value (i.e., the value returned by B<getpid>(2)) " "instead of 0.)" msgstr "" "Der Aufrufende versuchte, B<capset>() zu verwenden, um die Capabilities " "eines von ihm selbst verschiedenen Threads zu verändern, hatte dazu aber " "nicht die benötigten Privilegien. Für Kernel, die VFS-Capabilities " "unterstützen, ist dies nie erlaubt. Für Kernel ohne VFS-Unterstützung wird " "die Capability B<CAP_SETPCAP> benötigt. (Ein Fehler in Kerneln vor 2.6.11 " "führte dazu, dass dieser Fehler auch auftreten konnte, falls ein Thread ohne " "diese Capability versuchte, seine eigenen Capabilities zu ändern, indem er " "das Feld I<pid> auf einen von numerisch Null verschiedenen Wert (d.h. den " "von B<getpid>(2) zurückgelieferten Wert) anstatt 0 setzte.)" #. type: TP #, no-wrap msgid "B<ESRCH>" msgstr "B<ESRCH>" #. type: Plain text msgid "No such thread." msgstr "Kein solcher Thread." #. type: SH #, no-wrap msgid "CONFORMING TO" msgstr "KONFORM ZU" #. type: Plain text msgid "These system calls are Linux-specific." msgstr "Diese Systemaufrufe sind Linux-spezifisch." #. type: SH #, no-wrap msgid "NOTES" msgstr "ANMERKUNGEN" # FIXME: Is there a Debian package? #. type: Plain text msgid "" "The portable interface to the capability querying and setting functions is " "provided by the I<libcap> library and is available here:" msgstr "" "Die portable Schnittstelle der Funktionen zum Abfragen und Setzen der " "Capabilities wird durch die Bibliothek I<libcap> bereitgestellt, die unter " "folgender Adresse erhältlich ist:" #. type: UR #, no-wrap msgid "http://www.kernel.org\\:/pub\\:/linux\\:/libs\\:/security\\:/linux-privs" msgstr "http://www.kernel.org\\:/pub\\:/linux\\:/libs\\:/security\\:/linux-privs"