1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2012-03-22 04:25+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
16 "Content-Type: text/plain; charset=CHARSET\n"
17 "Content-Transfer-Encoding: 8bit\n"
20 #: build/C/man2/add_key.2:10
26 #: build/C/man2/add_key.2:10 build/C/man2/keyctl.2:10 build/C/man2/request_key.2:10
32 #: build/C/man2/add_key.2:10 build/C/man2/keyctl.2:10 build/C/man2/request_key.2:10
38 #: build/C/man2/add_key.2:10 build/C/man2/keyctl.2:10 build/C/man2/request_key.2:10
40 msgid "Linux Key Management Calls"
44 #: build/C/man2/add_key.2:11 build/C/man2/keyctl.2:11 build/C/man2/request_key.2:11
50 #: build/C/man2/add_key.2:13
51 msgid "add_key - Add a key to the kernel's key management facility"
55 #: build/C/man2/add_key.2:13 build/C/man2/keyctl.2:13 build/C/man2/request_key.2:13
61 #: build/C/man2/add_key.2:16 build/C/man2/keyctl.2:16 build/C/man2/request_key.2:16
63 msgid "B<#include E<lt>keyutils.hE<gt>>\n"
67 #: build/C/man2/add_key.2:20
70 "B<key_serial_t add_key(const char *>I<type>B<, const char "
71 "*>I<description>B<,>\n"
72 "B< const void *>I<payload>B<, size_t >I<plen>B<,>\n"
73 "B< key_serial_t >I<keyring>B<);>\n"
77 #: build/C/man2/add_key.2:20 build/C/man2/keyctl.2:18 build/C/man2/request_key.2:20
83 #: build/C/man2/add_key.2:33
85 "B<add_key>() asks the kernel to create or update a key of the given I<type> "
86 "and I<description>, instantiate it with the I<payload> of length I<plen>, "
87 "and to attach it to the nominated I<keyring> and to return its serial "
92 #: build/C/man2/add_key.2:36
94 "The key type may reject the data if it's in the wrong format or in some "
99 #: build/C/man2/add_key.2:44
101 "If the destination I<keyring> already contains a key that matches the "
102 "specified I<type> and I<description> then, if the key type supports it, that "
103 "key will be updated rather than a new key being created; if not, a new key "
104 "will be created and it will displace the link to the extant key from the "
109 #: build/C/man2/add_key.2:49
111 "The destination I<keyring> serial number may be that of a valid keyring to "
112 "which the caller has write permission, or it may be a special keyring ID:"
116 #: build/C/man2/add_key.2:49 build/C/man2/request_key.2:70
118 msgid "B<KEY_SPEC_THREAD_KEYRING>"
122 #: build/C/man2/add_key.2:52 build/C/man2/request_key.2:73
123 msgid "This specifies the caller's thread-specific keyring."
127 #: build/C/man2/add_key.2:52 build/C/man2/request_key.2:73
129 msgid "B<KEY_SPEC_PROCESS_KEYRING>"
133 #: build/C/man2/add_key.2:55 build/C/man2/request_key.2:76
134 msgid "This specifies the caller's process-specific keyring."
138 #: build/C/man2/add_key.2:55 build/C/man2/request_key.2:76
140 msgid "B<KEY_SPEC_SESSION_KEYRING>"
144 #: build/C/man2/add_key.2:58 build/C/man2/request_key.2:79
145 msgid "This specifies the caller's session-specific keyring."
149 #: build/C/man2/add_key.2:58 build/C/man2/request_key.2:79
151 msgid "B<KEY_SPEC_USER_KEYRING>"
155 #: build/C/man2/add_key.2:61 build/C/man2/request_key.2:82
156 msgid "This specifies the caller's UID-specific keyring."
160 #: build/C/man2/add_key.2:61 build/C/man2/request_key.2:82
162 msgid "B<KEY_SPEC_USER_SESSION_KEYRING>"
166 #: build/C/man2/add_key.2:64 build/C/man2/request_key.2:85
167 msgid "This specifies the caller's UID-session keyring."
171 #: build/C/man2/add_key.2:64
177 #: build/C/man2/add_key.2:67
179 "There are a number of key types available in the core key management code, "
180 "and these can be specified to this function:"
184 #: build/C/man2/add_key.2:67
190 #: build/C/man2/add_key.2:80
192 "Keys of the user-defined key type may contain a blob of arbitrary data, and "
193 "the I<description> may be any valid string, though it is preferred that the "
194 "description be prefixed with a string representing the service to which the "
195 "key is of interest and a colon (for instance ``B<afs:mykey>''). The "
196 "I<payload> may be empty or B<NULL> for keys of this type."
200 #: build/C/man2/add_key.2:80
202 msgid "B<``keyring''>"
206 #: build/C/man2/add_key.2:89
208 "Keyrings are special key types that may contain links to sequences of other "
209 "keys of any type. If this interface is used to create a keyring, then a "
210 "B<NULL> I<payload> should be specified, and I<plen> should be zero."
214 #: build/C/man2/add_key.2:89 build/C/man2/keyctl.2:79 build/C/man2/request_key.2:90
220 #: build/C/man2/add_key.2:96
222 "On success B<add_key>() returns the serial number of the key it created or "
223 "updated. On error, the value B<-1> will be returned and errno will have "
224 "been set to an appropriate error."
228 #: build/C/man2/add_key.2:96 build/C/man2/keyctl.2:86 build/C/man2/request_key.2:97
234 #: build/C/man2/add_key.2:97 build/C/man2/keyctl.2:103 build/C/man2/request_key.2:120
240 #: build/C/man2/add_key.2:100
241 msgid "The keyring doesn't exist."
245 #: build/C/man2/add_key.2:100 build/C/man2/keyctl.2:94 build/C/man2/request_key.2:108
247 msgid "B<EKEYEXPIRED>"
251 #: build/C/man2/add_key.2:103
252 msgid "The keyring has expired."
256 #: build/C/man2/add_key.2:103 build/C/man2/keyctl.2:100 build/C/man2/request_key.2:114
258 msgid "B<EKEYREVOKED>"
262 #: build/C/man2/add_key.2:106
263 msgid "The keyring has been revoked."
267 #: build/C/man2/add_key.2:106
273 #: build/C/man2/add_key.2:109
274 msgid "The payload data was invalid."
278 #: build/C/man2/add_key.2:109 build/C/man2/request_key.2:117
284 #: build/C/man2/add_key.2:112 build/C/man2/request_key.2:120
285 msgid "Insufficient memory to create a key."
289 #: build/C/man2/add_key.2:112 build/C/man2/keyctl.2:90 build/C/man2/request_key.2:104
295 #: build/C/man2/add_key.2:116 build/C/man2/request_key.2:108
297 "The key quota for this user would be exceeded by creating this key or "
298 "linking it to the keyring."
302 #: build/C/man2/add_key.2:116 build/C/man2/keyctl.2:87 build/C/man2/request_key.2:98
308 #: build/C/man2/add_key.2:119 build/C/man2/request_key.2:101
309 msgid "The keyring wasn't available for modification by the user."
313 #: build/C/man2/add_key.2:119 build/C/man2/keyctl.2:106 build/C/man2/request_key.2:123
319 #: build/C/man2/add_key.2:127 build/C/man2/keyctl.2:114 build/C/man2/request_key.2:131
321 "Although this is a Linux system call, it is not present in I<libc> but can "
322 "be found rather in I<libkeyutils>. When linking, B<-lkeyutils> should be "
323 "specified to the linker."
327 #: build/C/man2/add_key.2:127 build/C/man2/keyctl.2:114 build/C/man2/request_key.2:131
333 #: build/C/man2/add_key.2:131
334 msgid "B<keyctl>(1), B<keyctl>(2), B<request_key>(2)"
338 #: build/C/man2/add_key.2:131 build/C/man2/keyctl.2:160 build/C/man2/request_key.2:136
344 #: build/C/man2/add_key.2:138 build/C/man2/keyctl.2:167 build/C/man2/request_key.2:143
346 "This page is part of release 3.37 of the Linux I<man-pages> project. A "
347 "description of the project, and information about reporting bugs, can be "
348 "found at http://www.kernel.org/doc/man-pages/."
352 #: build/C/man2/keyctl.2:10
358 #: build/C/man2/keyctl.2:13
359 msgid "keyctl - Manipulate the kernel's key management facility"
363 #: build/C/man2/keyctl.2:18
365 msgid "B<long keyctl(int >I<cmd>B<, ...);>\n"
369 #: build/C/man2/keyctl.2:21
370 msgid "B<keyctl>() has a number of functions available:"
374 #: build/C/man2/keyctl.2:21
376 msgid "B<KEYCTL_GET_KEYRING_ID\t>"
380 #: build/C/man2/keyctl.2:24
381 msgid "Ask for a keyring's ID."
385 #: build/C/man2/keyctl.2:24
387 msgid "B<KEYCTL_JOIN_SESSION_KEYRING\t>"
391 #: build/C/man2/keyctl.2:27
392 msgid "Join or start named session keyring."
396 #: build/C/man2/keyctl.2:27
398 msgid "B<KEYCTL_UPDATE\t\t\t>"
402 #: build/C/man2/keyctl.2:30
403 msgid "Update a key."
407 #: build/C/man2/keyctl.2:30
409 msgid "B<KEYCTL_REVOKE\t\t\t>"
413 #: build/C/man2/keyctl.2:33
414 msgid "Revoke a key."
418 #: build/C/man2/keyctl.2:33
420 msgid "B<KEYCTL_CHOWN\t\t\t>"
424 #: build/C/man2/keyctl.2:36
425 msgid "Set ownership of a key."
429 #: build/C/man2/keyctl.2:36
431 msgid "B<KEYCTL_SETPERM\t\t\t>"
435 #: build/C/man2/keyctl.2:39
436 msgid "Set perms on a key."
440 #: build/C/man2/keyctl.2:39
442 msgid "B<KEYCTL_DESCRIBE\t\t\t>"
446 #: build/C/man2/keyctl.2:42
447 msgid "Describe a key."
451 #: build/C/man2/keyctl.2:42
453 msgid "B<KEYCTL_CLEAR\t\t\t>"
457 #: build/C/man2/keyctl.2:45
458 msgid "Clear contents of a keyring."
462 #: build/C/man2/keyctl.2:45
464 msgid "B<KEYCTL_LINK\t\t\t>"
468 #: build/C/man2/keyctl.2:48
469 msgid "Link a key into a keyring."
473 #: build/C/man2/keyctl.2:48
475 msgid "B<KEYCTL_UNLINK\t\t\t>"
479 #: build/C/man2/keyctl.2:51
480 msgid "Unlink a key from a keyring."
484 #: build/C/man2/keyctl.2:51
486 msgid "B<KEYCTL_SEARCH\t\t\t>"
490 #: build/C/man2/keyctl.2:54
491 msgid "Search for a key in a keyring."
495 #: build/C/man2/keyctl.2:54
497 msgid "B<KEYCTL_READ\t\t\t>"
501 #: build/C/man2/keyctl.2:57
502 msgid "Read a key or keyring's contents."
506 #: build/C/man2/keyctl.2:57
508 msgid "B<KEYCTL_INSTANTIATE\t\t>"
512 #: build/C/man2/keyctl.2:60
513 msgid "Instantiate a partially constructed key."
517 #: build/C/man2/keyctl.2:60
519 msgid "B<KEYCTL_NEGATE\t\t\t>"
523 #: build/C/man2/keyctl.2:63
524 msgid "Negate a partially constructed key."
528 #: build/C/man2/keyctl.2:63
530 msgid "B<KEYCTL_SET_REQKEY_KEYRING\t>"
534 #: build/C/man2/keyctl.2:66
535 msgid "Set default request-key keyring."
539 #: build/C/man2/keyctl.2:66
541 msgid "B<KEYCTL_SET_TIMEOUT\t\t>"
545 #: build/C/man2/keyctl.2:69
546 msgid "Set timeout on a key."
550 #: build/C/man2/keyctl.2:69
552 msgid "B<KEYCTL_ASSUME_AUTHORITY\t\t>"
556 #: build/C/man2/keyctl.2:72
557 msgid "Assume authority to instantiate key."
561 #: build/C/man2/keyctl.2:79
563 "These are wrapped by B<libkeyutils> into individual functions to permit "
564 "compiler the compiler to check types. See the B<See Also> section at the "
569 #: build/C/man2/keyctl.2:86
571 "On success B<keyctl>() returns the serial number of the key it found. On "
572 "error, the value B<-1> will be returned and errno will have been set to an "
577 #: build/C/man2/keyctl.2:90
578 msgid "A key operation wasn't permitted."
582 #: build/C/man2/keyctl.2:94
584 "The key quota for the caller's user would be exceeded by creating a key or "
585 "linking it to the keyring."
589 #: build/C/man2/keyctl.2:97
590 msgid "An expired key was found or specified."
594 #: build/C/man2/keyctl.2:97 build/C/man2/request_key.2:111
596 msgid "B<EKEYREJECTED>"
600 #: build/C/man2/keyctl.2:100
601 msgid "A rejected key was found or specified."
605 #: build/C/man2/keyctl.2:103
606 msgid "A revoked key was found or specified."
610 #: build/C/man2/keyctl.2:106
611 msgid "No matching key was found or an invalid key was specified."
615 #: build/C/man2/keyctl.2:116
616 msgid "B<keyctl>(1),"
620 #: build/C/man2/keyctl.2:118
621 msgid "B<add_key>(2),"
625 #: build/C/man2/keyctl.2:120
626 msgid "B<request_key>(2),"
630 #: build/C/man2/keyctl.2:122
631 msgid "B<keyctl_get_keyring_ID>(3),"
635 #: build/C/man2/keyctl.2:124
636 msgid "B<keyctl_join_session_keyring>(3),"
640 #: build/C/man2/keyctl.2:126
641 msgid "B<keyctl_update>(3),"
645 #: build/C/man2/keyctl.2:128
646 msgid "B<keyctl_revoke>(3),"
650 #: build/C/man2/keyctl.2:130
651 msgid "B<keyctl_chown>(3),"
655 #: build/C/man2/keyctl.2:132
656 msgid "B<keyctl_setperm>(3),"
660 #: build/C/man2/keyctl.2:134
661 msgid "B<keyctl_describe>(3),"
665 #: build/C/man2/keyctl.2:136
666 msgid "B<keyctl_clear>(3),"
670 #: build/C/man2/keyctl.2:138
671 msgid "B<keyctl_link>(3),"
675 #: build/C/man2/keyctl.2:140
676 msgid "B<keyctl_unlink>(3),"
680 #: build/C/man2/keyctl.2:142
681 msgid "B<keyctl_search>(3),"
685 #: build/C/man2/keyctl.2:144
686 msgid "B<keyctl_read>(3),"
690 #: build/C/man2/keyctl.2:146
691 msgid "B<keyctl_instantiate>(3),"
695 #: build/C/man2/keyctl.2:148
696 msgid "B<keyctl_negate>(3),"
700 #: build/C/man2/keyctl.2:150
701 msgid "B<keyctl_set_reqkey_keyring>(3),"
705 #: build/C/man2/keyctl.2:152
706 msgid "B<keyctl_set_timeout>(3),"
710 #: build/C/man2/keyctl.2:154
711 msgid "B<keyctl_assume_authority>(3),"
715 #: build/C/man2/keyctl.2:156
716 msgid "B<keyctl_describe_alloc>(3),"
720 #: build/C/man2/keyctl.2:158
721 msgid "B<keyctl_read_alloc>(3),"
725 #: build/C/man2/keyctl.2:160
726 msgid "B<request-key>(8)"
730 #: build/C/man2/request_key.2:10
736 #: build/C/man2/request_key.2:13
737 msgid "request_key - Request a key from the kernel's key management facility"
741 #: build/C/man2/request_key.2:20
744 "B<key_serial_t request_key(const char *>I<type>B<, const char "
745 "*>I<description>B<,>\n"
746 "B< const char *>I<callout_info>B<,>\n"
747 "B< key_serial_t >I<keyring>B<);>\n"
751 #: build/C/man2/request_key.2:29
753 "B<request_key>() asks the kernel to find a key of the given I<type> that "
754 "matches the specified I<description> and, if successful, to attach it to the "
755 "nominated I<keyring> and to return its serial number."
759 #: build/C/man2/request_key.2:34
761 "B<request_key>() first recursively searches all the keyrings attached to "
762 "the calling process in the order thread-specific keyring, process-specific "
763 "keyring and then session keyring for a matching key."
767 #: build/C/man2/request_key.2:42
769 "If B<request_key>() is called from a program invoked by B<request_key>() "
770 "on behalf of some other process to generate a key, then the keyrings of that "
771 "other process will be searched next, using that other process's UID, GID, "
772 "groups and security context to control access."
776 #: build/C/man2/request_key.2:49
778 "The keys in each keyring searched are checked for a match before any child "
779 "keyrings are recursed into. Only keys that are B<searchable> for the caller "
780 "may be found, and only B<searchable> keyrings may be searched."
784 #: build/C/man2/request_key.2:57
786 "If the key is not found then, if I<callout_info> is set, this function will "
787 "attempt to look further afield. In such a case, the I<callout_info> is "
788 "passed to a userspace service such as B</sbin/request-key> to generate the "
793 #: build/C/man2/request_key.2:65
795 "If that is unsuccessful also, then an error will be returned, and a "
796 "temporary negative key will be installed in the nominated I<keyring>. This "
797 "will expire after a few seconds, but will cause subsequent calls to "
798 "B<request_key>() to fail until it does."
802 #: build/C/man2/request_key.2:70
804 "The I<keyring> serial number may be that of a valid keyring to which the "
805 "caller has write permission, or it may be a special keyring ID:"
809 #: build/C/man2/request_key.2:90
811 "If a key is created, no matter whether it's a valid key or a negative key, "
812 "it will displace any other key of the same type and description from the "
813 "destination I<keyring>."
817 #: build/C/man2/request_key.2:97
819 "On success B<request_key>() returns the serial number of the key it found. "
820 "On error, the value B<-1> will be returned and errno will have been set to "
821 "an appropriate error."
825 #: build/C/man2/request_key.2:101
831 #: build/C/man2/request_key.2:104
832 msgid "The request was interrupted by a signal."
836 #: build/C/man2/request_key.2:111
837 msgid "An expired key was found, but no replacement could be obtained."
841 #: build/C/man2/request_key.2:114
842 msgid "The attempt to generate a new key was rejected."
846 #: build/C/man2/request_key.2:117
847 msgid "A revoked key was found, but no replacement could be obtained."
851 #: build/C/man2/request_key.2:123
852 msgid "No matching key was found."
856 #: build/C/man2/request_key.2:136
857 msgid "B<keyctl>(1), B<add_key>(2), B<keyctl>(2), B<request-key>(8)"