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.
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2012-03-19 23:50+0900\n"
10 "PO-Revision-Date: 2012-03-20 00:04+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
19 #: build/C/man2/add_key.2:10
25 #: build/C/man2/add_key.2:10 build/C/man2/keyctl.2:10
26 #: build/C/man2/request_key.2:10
32 #: build/C/man2/add_key.2:10 build/C/man2/keyctl.2:10
33 #: build/C/man2/request_key.2:10
39 #: build/C/man2/add_key.2:10 build/C/man2/keyctl.2:10
40 #: build/C/man2/request_key.2:10
42 msgid "Linux Key Management Calls"
43 msgstr "Linux Key Management Calls"
46 #: build/C/man2/add_key.2:11 build/C/man2/keyctl.2:11
47 #: build/C/man2/request_key.2:11
53 #: build/C/man2/add_key.2:13
54 msgid "add_key - Add a key to the kernel's key management facility"
58 #: build/C/man2/add_key.2:13 build/C/man2/keyctl.2:13
59 #: build/C/man2/request_key.2:13
65 #: build/C/man2/add_key.2:16 build/C/man2/keyctl.2:16
66 #: build/C/man2/request_key.2:16
68 msgid "B<#include E<lt>keyutils.hE<gt>>\n"
69 msgstr "B<#include E<lt>keyutils.hE<gt>>\n"
72 #: build/C/man2/add_key.2:19
75 "B<key_serial_t add_key(const char *>I<type>B<, const char *>I<description>B<,>\n"
76 "B<const void *>I<payload>B<, size_t >I<plen>B<, key_serial_t >I<keyring>B<);>\n"
78 "B<key_serial_t add_key(const char *>I<type>B<, const char *>I<description>B<,>\n"
79 "B<const void *>I<payload>B<, size_t >I<plen>B<, key_serial_t >I<keyring>B<);>\n"
82 #: build/C/man2/add_key.2:19 build/C/man2/keyctl.2:18
83 #: build/C/man2/request_key.2:19
89 #: build/C/man2/add_key.2:32
91 "B<add_key>() asks the kernel to create or update a key of the given I<type> "
92 "and I<description>, instantiate it with the I<payload> of length I<plen>, "
93 "and to attach it to the nominated I<keyring> and to return its serial number."
97 #: build/C/man2/add_key.2:35
99 "The key type may reject the data if it's in the wrong format or in some "
104 #: build/C/man2/add_key.2:43
106 "If the destination I<keyring> already contains a key that matches the "
107 "specified I<type> and I<description> then, if the key type supports it, that "
108 "key will be updated rather than a new key being created; if not, a new key "
109 "will be created and it will displace the link to the extant key from the "
114 #: build/C/man2/add_key.2:48
116 "The destination I<keyring> serial number may be that of a valid keyring to "
117 "which the caller has write permission, or it may be a special keyring ID:"
121 #: build/C/man2/add_key.2:48 build/C/man2/request_key.2:69
123 msgid "B<KEY_SPEC_THREAD_KEYRING>"
124 msgstr "B<KEY_SPEC_THREAD_KEYRING>"
127 #: build/C/man2/add_key.2:51 build/C/man2/request_key.2:72
128 msgid "This specifies the caller's thread-specific keyring."
132 #: build/C/man2/add_key.2:51 build/C/man2/request_key.2:72
134 msgid "B<KEY_SPEC_PROCESS_KEYRING>"
135 msgstr "B<KEY_SPEC_PROCESS_KEYRING>"
138 #: build/C/man2/add_key.2:54 build/C/man2/request_key.2:75
139 msgid "This specifies the caller's process-specific keyring."
143 #: build/C/man2/add_key.2:54 build/C/man2/request_key.2:75
145 msgid "B<KEY_SPEC_SESSION_KEYRING>"
146 msgstr "B<KEY_SPEC_SESSION_KEYRING>"
149 #: build/C/man2/add_key.2:57 build/C/man2/request_key.2:78
150 msgid "This specifies the caller's session-specific keyring."
154 #: build/C/man2/add_key.2:57 build/C/man2/request_key.2:78
156 msgid "B<KEY_SPEC_USER_KEYRING>"
157 msgstr "B<KEY_SPEC_USER_KEYRING>"
160 #: build/C/man2/add_key.2:60 build/C/man2/request_key.2:81
161 msgid "This specifies the caller's UID-specific keyring."
165 #: build/C/man2/add_key.2:60 build/C/man2/request_key.2:81
167 msgid "B<KEY_SPEC_USER_SESSION_KEYRING>"
168 msgstr "B<KEY_SPEC_USER_SESSION_KEYRING>"
171 #: build/C/man2/add_key.2:63 build/C/man2/request_key.2:84
172 msgid "This specifies the caller's UID-session keyring."
176 #: build/C/man2/add_key.2:63
182 #: build/C/man2/add_key.2:66
184 "There are a number of key types available in the core key management code, "
185 "and these can be specified to this function:"
189 #: build/C/man2/add_key.2:66
195 #: build/C/man2/add_key.2:79
197 "Keys of the user-defined key type may contain a blob of arbitrary data, and "
198 "the I<description> may be any valid string, though it is preferred that the "
199 "description be prefixed with a string representing the service to which the "
200 "key is of interest and a colon (for instance ``B<afs:mykey>''). The "
201 "I<payload> may be empty or B<NULL> for keys of this type."
205 #: build/C/man2/add_key.2:79
207 msgid "B<``keyring''>"
208 msgstr "B<``keyring''>"
211 #: build/C/man2/add_key.2:88
213 "Keyrings are special key types that may contain links to sequences of other "
214 "keys of any type. If this interface is used to create a keyring, then a "
215 "B<NULL> I<payload> should be specified, and I<plen> should be zero."
219 #: build/C/man2/add_key.2:88 build/C/man2/keyctl.2:79
220 #: build/C/man2/request_key.2:89
226 #: build/C/man2/add_key.2:95
228 "On success B<add_key>() returns the serial number of the key it created or "
229 "updated. On error, the value B<-1> will be returned and errno will have "
230 "been set to an appropriate error."
234 #: build/C/man2/add_key.2:95 build/C/man2/keyctl.2:86
235 #: build/C/man2/request_key.2:96
241 #: build/C/man2/add_key.2:96 build/C/man2/keyctl.2:103
242 #: build/C/man2/request_key.2:119
248 #: build/C/man2/add_key.2:99
249 msgid "The keyring doesn't exist."
253 #: build/C/man2/add_key.2:99 build/C/man2/keyctl.2:94
254 #: build/C/man2/request_key.2:107
256 msgid "B<EKEYEXPIRED>"
257 msgstr "B<EKEYEXPIRED>"
260 #: build/C/man2/add_key.2:102
261 msgid "The keyring has expired."
265 #: build/C/man2/add_key.2:102 build/C/man2/keyctl.2:100
266 #: build/C/man2/request_key.2:113
268 msgid "B<EKEYREVOKED>"
269 msgstr "B<EKEYREVOKED>"
272 #: build/C/man2/add_key.2:105
273 msgid "The keyring has been revoked."
277 #: build/C/man2/add_key.2:105
283 #: build/C/man2/add_key.2:108
284 msgid "The payload data was invalid."
288 #: build/C/man2/add_key.2:108 build/C/man2/request_key.2:116
294 #: build/C/man2/add_key.2:111 build/C/man2/request_key.2:119
295 msgid "Insufficient memory to create a key."
299 #: build/C/man2/add_key.2:111 build/C/man2/keyctl.2:90
300 #: build/C/man2/request_key.2:103
306 #: build/C/man2/add_key.2:115 build/C/man2/request_key.2:107
308 "The key quota for this user would be exceeded by creating this key or "
309 "linking it to the keyring."
313 #: build/C/man2/add_key.2:115 build/C/man2/keyctl.2:87
314 #: build/C/man2/request_key.2:97
320 #: build/C/man2/add_key.2:118 build/C/man2/request_key.2:100
321 msgid "The keyring wasn't available for modification by the user."
325 #: build/C/man2/add_key.2:118 build/C/man2/keyctl.2:106
326 #: build/C/man2/request_key.2:122
332 #: build/C/man2/add_key.2:126 build/C/man2/keyctl.2:114
333 #: build/C/man2/request_key.2:130
335 "Although this is a Linux system call, it is not present in I<libc> but can "
336 "be found rather in I<libkeyutils>. When linking, B<-lkeyutils> should be "
337 "specified to the linker."
341 #: build/C/man2/add_key.2:126 build/C/man2/keyctl.2:114
342 #: build/C/man2/request_key.2:130
348 #: build/C/man2/add_key.2:130
349 msgid "B<keyctl>(1), B<keyctl>(2), B<request_key>(2)"
350 msgstr "B<keyctl>(1), B<keyctl>(2), B<request_key>(2)"
353 #: build/C/man2/add_key.2:130 build/C/man2/keyctl.2:160
354 #: build/C/man2/request_key.2:135
360 #: build/C/man2/add_key.2:137 build/C/man2/keyctl.2:167
361 #: build/C/man2/request_key.2:142
363 "This page is part of release 3.35 of the Linux I<man-pages> project. A "
364 "description of the project, and information about reporting bugs, can be "
365 "found at http://man7.org/linux/man-pages/."
369 #: build/C/man2/keyctl.2:10
375 #: build/C/man2/keyctl.2:13
376 msgid "keyctl - Manipulate the kernel's key management facility"
380 #: build/C/man2/keyctl.2:18
382 msgid "B<long keyctl(int >I<cmd>B<, ...);>\n"
383 msgstr "B<long keyctl(int >I<cmd>B<, ...);>\n"
386 #: build/C/man2/keyctl.2:21
387 msgid "B<keyctl>() has a number of functions available:"
391 #: build/C/man2/keyctl.2:21
393 msgid "B<KEYCTL_GET_KEYRING_ID\t>"
394 msgstr "B<KEYCTL_GET_KEYRING_ID\t>"
397 #: build/C/man2/keyctl.2:24
398 msgid "Ask for a keyring's ID."
402 #: build/C/man2/keyctl.2:24
404 msgid "B<KEYCTL_JOIN_SESSION_KEYRING\t>"
405 msgstr "B<KEYCTL_JOIN_SESSION_KEYRING\t>"
408 #: build/C/man2/keyctl.2:27
409 msgid "Join or start named session keyring."
413 #: build/C/man2/keyctl.2:27
415 msgid "B<KEYCTL_UPDATE\t\t\t>"
416 msgstr "B<KEYCTL_UPDATE\t\t\t>"
419 #: build/C/man2/keyctl.2:30
420 msgid "Update a key."
424 #: build/C/man2/keyctl.2:30
426 msgid "B<KEYCTL_REVOKE\t\t\t>"
427 msgstr "B<KEYCTL_REVOKE\t\t\t>"
430 #: build/C/man2/keyctl.2:33
431 msgid "Revoke a key."
435 #: build/C/man2/keyctl.2:33
437 msgid "B<KEYCTL_CHOWN\t\t\t>"
438 msgstr "B<KEYCTL_CHOWN\t\t\t>"
441 #: build/C/man2/keyctl.2:36
442 msgid "Set ownership of a key."
446 #: build/C/man2/keyctl.2:36
448 msgid "B<KEYCTL_SETPERM\t\t\t>"
449 msgstr "B<KEYCTL_SETPERM\t\t\t>"
452 #: build/C/man2/keyctl.2:39
453 msgid "Set perms on a key."
457 #: build/C/man2/keyctl.2:39
459 msgid "B<KEYCTL_DESCRIBE\t\t\t>"
460 msgstr "B<KEYCTL_DESCRIBE\t\t\t>"
463 #: build/C/man2/keyctl.2:42
464 msgid "Describe a key."
468 #: build/C/man2/keyctl.2:42
470 msgid "B<KEYCTL_CLEAR\t\t\t>"
471 msgstr "B<KEYCTL_CLEAR\t\t\t>"
474 #: build/C/man2/keyctl.2:45
475 msgid "Clear contents of a keyring."
479 #: build/C/man2/keyctl.2:45
481 msgid "B<KEYCTL_LINK\t\t\t>"
482 msgstr "B<KEYCTL_LINK\t\t\t>"
485 #: build/C/man2/keyctl.2:48
486 msgid "Link a key into a keyring."
490 #: build/C/man2/keyctl.2:48
492 msgid "B<KEYCTL_UNLINK\t\t\t>"
493 msgstr "B<KEYCTL_UNLINK\t\t\t>"
496 #: build/C/man2/keyctl.2:51
497 msgid "Unlink a key from a keyring."
501 #: build/C/man2/keyctl.2:51
503 msgid "B<KEYCTL_SEARCH\t\t\t>"
504 msgstr "B<KEYCTL_SEARCH\t\t\t>"
507 #: build/C/man2/keyctl.2:54
508 msgid "Search for a key in a keyring."
512 #: build/C/man2/keyctl.2:54
514 msgid "B<KEYCTL_READ\t\t\t>"
515 msgstr "B<KEYCTL_READ\t\t\t>"
518 #: build/C/man2/keyctl.2:57
519 msgid "Read a key or keyring's contents."
523 #: build/C/man2/keyctl.2:57
525 msgid "B<KEYCTL_INSTANTIATE\t\t>"
526 msgstr "B<KEYCTL_INSTANTIATE\t\t>"
529 #: build/C/man2/keyctl.2:60
530 msgid "Instantiate a partially constructed key."
534 #: build/C/man2/keyctl.2:60
536 msgid "B<KEYCTL_NEGATE\t\t\t>"
537 msgstr "B<KEYCTL_NEGATE\t\t\t>"
540 #: build/C/man2/keyctl.2:63
541 msgid "Negate a partially constructed key."
545 #: build/C/man2/keyctl.2:63
547 msgid "B<KEYCTL_SET_REQKEY_KEYRING\t>"
548 msgstr "B<KEYCTL_SET_REQKEY_KEYRING\t>"
551 #: build/C/man2/keyctl.2:66
552 msgid "Set default request-key keyring."
556 #: build/C/man2/keyctl.2:66
558 msgid "B<KEYCTL_SET_TIMEOUT\t\t>"
559 msgstr "B<KEYCTL_SET_TIMEOUT\t\t>"
562 #: build/C/man2/keyctl.2:69
563 msgid "Set timeout on a key."
567 #: build/C/man2/keyctl.2:69
569 msgid "B<KEYCTL_ASSUME_AUTHORITY\t\t>"
570 msgstr "B<KEYCTL_ASSUME_AUTHORITY\t\t>"
573 #: build/C/man2/keyctl.2:72
574 msgid "Assume authority to instantiate key."
578 #: build/C/man2/keyctl.2:79
580 "These are wrapped by B<libkeyutils> into individual functions to permit "
581 "compiler the compiler to check types. See the B<See Also> section at the "
586 #: build/C/man2/keyctl.2:86
588 "On success B<keyctl>() returns the serial number of the key it found. On "
589 "error, the value B<-1> will be returned and errno will have been set to an "
594 #: build/C/man2/keyctl.2:90
595 msgid "A key operation wasn't permitted."
599 #: build/C/man2/keyctl.2:94
601 "The key quota for the caller's user would be exceeded by creating a key or "
602 "linking it to the keyring."
606 #: build/C/man2/keyctl.2:97
607 msgid "An expired key was found or specified."
611 #: build/C/man2/keyctl.2:97 build/C/man2/request_key.2:110
613 msgid "B<EKEYREJECTED>"
614 msgstr "B<EKEYREJECTED>"
617 #: build/C/man2/keyctl.2:100
618 msgid "A rejected key was found or specified."
622 #: build/C/man2/keyctl.2:103
623 msgid "A revoked key was found or specified."
627 #: build/C/man2/keyctl.2:106
628 msgid "No matching key was found or an invalid key was specified."
632 #: build/C/man2/keyctl.2:116
633 msgid "B<keyctl>(1),"
634 msgstr "B<keyctl>(1),"
637 #: build/C/man2/keyctl.2:118
638 msgid "B<add_key>(2),"
639 msgstr "B<add_key>(2),"
642 #: build/C/man2/keyctl.2:120
643 msgid "B<request_key>(2),"
644 msgstr "B<request_key>(2),"
647 #: build/C/man2/keyctl.2:122
648 msgid "B<keyctl_get_keyring_ID>(3),"
649 msgstr "B<keyctl_get_keyring_ID>(3),"
652 #: build/C/man2/keyctl.2:124
653 msgid "B<keyctl_join_session_keyring>(3),"
654 msgstr "B<keyctl_join_session_keyring>(3),"
657 #: build/C/man2/keyctl.2:126
658 msgid "B<keyctl_update>(3),"
659 msgstr "B<keyctl_update>(3),"
662 #: build/C/man2/keyctl.2:128
663 msgid "B<keyctl_revoke>(3),"
664 msgstr "B<keyctl_revoke>(3),"
667 #: build/C/man2/keyctl.2:130
668 msgid "B<keyctl_chown>(3),"
669 msgstr "B<keyctl_chown>(3),"
672 #: build/C/man2/keyctl.2:132
673 msgid "B<keyctl_setperm>(3),"
674 msgstr "B<keyctl_setperm>(3),"
677 #: build/C/man2/keyctl.2:134
678 msgid "B<keyctl_describe>(3),"
679 msgstr "B<keyctl_describe>(3),"
682 #: build/C/man2/keyctl.2:136
683 msgid "B<keyctl_clear>(3),"
684 msgstr "B<keyctl_clear>(3),"
687 #: build/C/man2/keyctl.2:138
688 msgid "B<keyctl_link>(3),"
689 msgstr "B<keyctl_link>(3),"
692 #: build/C/man2/keyctl.2:140
693 msgid "B<keyctl_unlink>(3),"
694 msgstr "B<keyctl_unlink>(3),"
697 #: build/C/man2/keyctl.2:142
698 msgid "B<keyctl_search>(3),"
699 msgstr "B<keyctl_search>(3),"
702 #: build/C/man2/keyctl.2:144
703 msgid "B<keyctl_read>(3),"
704 msgstr "B<keyctl_read>(3),"
707 #: build/C/man2/keyctl.2:146
708 msgid "B<keyctl_instantiate>(3),"
709 msgstr "B<keyctl_instantiate>(3),"
712 #: build/C/man2/keyctl.2:148
713 msgid "B<keyctl_negate>(3),"
714 msgstr "B<keyctl_negate>(3),"
717 #: build/C/man2/keyctl.2:150
718 msgid "B<keyctl_set_reqkey_keyring>(3),"
719 msgstr "B<keyctl_set_reqkey_keyring>(3),"
722 #: build/C/man2/keyctl.2:152
723 msgid "B<keyctl_set_timeout>(3),"
724 msgstr "B<keyctl_set_timeout>(3),"
727 #: build/C/man2/keyctl.2:154
728 msgid "B<keyctl_assume_authority>(3),"
729 msgstr "B<keyctl_assume_authority>(3),"
732 #: build/C/man2/keyctl.2:156
733 msgid "B<keyctl_describe_alloc>(3),"
734 msgstr "B<keyctl_describe_alloc>(3),"
737 #: build/C/man2/keyctl.2:158
738 msgid "B<keyctl_read_alloc>(3),"
739 msgstr "B<keyctl_read_alloc>(3),"
742 #: build/C/man2/keyctl.2:160
743 msgid "B<request-key>(8)"
744 msgstr "B<request-key>(8)"
747 #: build/C/man2/request_key.2:10
753 #: build/C/man2/request_key.2:13
754 msgid "request_key - Request a key from the kernel's key management facility"
758 #: build/C/man2/request_key.2:19
761 "B<key_serial_t request_key(const char *>I<type>B<, const char *>I<description>B<,>\n"
762 "B<const char *>I<callout_info>B<, key_serial_t >I<keyring>B<);>\n"
764 "B<key_serial_t request_key(const char *>I<type>B<, const char *>I<description>B<,>\n"
765 "B<const char *>I<callout_info>B<, key_serial_t >I<keyring>B<);>\n"
768 #: build/C/man2/request_key.2:28
770 "B<request_key>() asks the kernel to find a key of the given I<type> that "
771 "matches the specified I<description> and, if successful, to attach it to the "
772 "nominated I<keyring> and to return its serial number."
776 #: build/C/man2/request_key.2:33
778 "B<request_key>() first recursively searches all the keyrings attached to "
779 "the calling process in the order thread-specific keyring, process-specific "
780 "keyring and then session keyring for a matching key."
784 #: build/C/man2/request_key.2:41
786 "If B<request_key>() is called from a program invoked by B<request_key>() "
787 "on behalf of some other process to generate a key, then the keyrings of that "
788 "other process will be searched next, using that other process's UID, GID, "
789 "groups and security context to control access."
793 #: build/C/man2/request_key.2:48
795 "The keys in each keyring searched are checked for a match before any child "
796 "keyrings are recursed into. Only keys that are B<searchable> for the caller "
797 "may be found, and only B<searchable> keyrings may be searched."
801 #: build/C/man2/request_key.2:56
803 "If the key is not found then, if I<callout_info> is set, this function will "
804 "attempt to look further afield. In such a case, the I<callout_info> is "
805 "passed to a userspace service such as B</sbin/request-key> to generate the "
810 #: build/C/man2/request_key.2:64
812 "If that is unsuccessful also, then an error will be returned, and a "
813 "temporary negative key will be installed in the nominated I<keyring>. This "
814 "will expire after a few seconds, but will cause subsequent calls to "
815 "B<request_key>() to fail until it does."
819 #: build/C/man2/request_key.2:69
821 "The I<keyring> serial number may be that of a valid keyring to which the "
822 "caller has write permission, or it may be a special keyring ID:"
826 #: build/C/man2/request_key.2:89
828 "If a key is created, no matter whether it's a valid key or a negative key, "
829 "it will displace any other key of the same type and description from the "
830 "destination I<keyring>."
834 #: build/C/man2/request_key.2:96
836 "On success B<request_key>() returns the serial number of the key it found. "
837 "On error, the value B<-1> will be returned and errno will have been set to "
838 "an appropriate error."
842 #: build/C/man2/request_key.2:100
848 #: build/C/man2/request_key.2:103
849 msgid "The request was interrupted by a signal."
853 #: build/C/man2/request_key.2:110
854 msgid "An expired key was found, but no replacement could be obtained."
858 #: build/C/man2/request_key.2:113
859 msgid "The attempt to generate a new key was rejected."
863 #: build/C/man2/request_key.2:116
864 msgid "A revoked key was found, but no replacement could be obtained."
868 #: build/C/man2/request_key.2:122
869 msgid "No matching key was found."
873 #: build/C/man2/request_key.2:135
874 msgid "B<keyctl>(1), B<add_key>(2), B<keyctl>(2), B<request-key>(8)"
875 msgstr "B<keyctl>(1), B<add_key>(2), B<keyctl>(2), B<request-key>(8)"