Merge pull request #58 from Bandie/master

gettext, po4a, clean headers
This commit is contained in:
Bandie 2018-10-01 18:32:20 +02:00 committed by GitHub
commit c3894075f3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
49 changed files with 3926 additions and 1285 deletions

20
.gitignore vendored
View File

@ -5,7 +5,9 @@
*.o
*~
.deps
.dirstamp
.libs
ABOUT-NLS
aclocal.m4
autom4te.cache/
build-aux/
@ -14,9 +16,27 @@ config.h.in
config.log
config.status
configure
core.*
libtool
m4/
Makefile
Makefile.in
Makefile.in.in
po/Makevars.template
po/POTFILES
po/Rules-quot
po/stamp-po
po/*.header
po/*.gmo
po/*.sed
po/*.sin
src/pam_panic/man/*
!src/pam_panic/man/Makefile.am
!src/pam_panic/man/man8/
src/pam_panic_pw/pam_panic_pw
src/pam_panic_pw/man/*
!src/pam_panic_pw/man/Makefile.am
!src/pam_panic_pw/man/man1/
stamp-h1
test/pwfile
test/test

View File

@ -1,3 +1,4 @@
language: C
dist: trusty
sudo: enabled
script: sudo apt install libcunit1 libcunit1-dev && autoreconf -i && ./configure && make && make test
script: sudo apt install po4a autopoint gettext libcunit1 libcunit1-dev && autoreconf -i && ./configure && make && make test

View File

@ -0,0 +1,6 @@
## [0.2.0]
- Adding gettext for translation capability
- Adding po4a system for man pages
## [0.1.2]
- First stable release

View File

@ -2,9 +2,15 @@ ACLOCAL_AMFLAGS = -I m4
AM_CPPFLAGS = -I src
SUBDIRS = src/pam_panic src/pam_panic_pw
SUBDIRS = po po4a src/pam_panic src/pam_panic_pw
.PHONY: all test clean
update-po:
make -C po update-po
all: update-po
test:
make -C test

View File

@ -18,11 +18,14 @@ There are two passwords you are able to set: the key password and the panic pass
## Installation
### Arch Linux
There is [pam_panic](https://aur.archlinux.org/packages/pam_panic) and [pam_panic-git](https://aur.archlinux.org/packages/pam_panic-git/) in the AUR. Install it with your favourite AUR helper.
### Arch Linux AUR
There is
- [pam_panic](https://aur.archlinux.org/packages/pam_panic/) - Actual [releases](https://github.com/pampanic/pam_panic/releases) and
- [pam_panic-git](https://aur.archlinux.org/packages/pam_panic-git/) for this actual git repository.
### Ubuntu
There's a [PPA](https://launchpad.net/~bandie/+archive/ubuntu/pampanic).
There's a [PPA](https://launchpad.net/~bandie/+archive/ubuntu/pampanic) updating for new [releases](https://github.com/pampanic/pam_panic/releases).
To install the package using the PPA:
```
sudo add-apt-repository ppa:bandie/pampanic
@ -32,7 +35,7 @@ sudo apt-get install pampanic
### From sources
You will need GCC or similar, as well as the PAM headers. Some distributions package the PAM headers as `libpam0g-dev`.
Also you need `autoconf`.
Also you need `autoconf` and `gettext`. Some also need `autopoint`.
To compile and install it, do the following within the project's root directory:
@ -100,7 +103,7 @@ See `man 8 pam_panic` and `man 1 pam_panic_pw` for more information.
## TODO
- [Manpage translations](https://github.com/Bandie/pam_panic/issues?q=is%3Aissue+is%3Aopen+label%3Alocalization)
- [Translations](https://github.com/pampanic/pam_panic/wiki/How-to-translate)
# Addendum

View File

@ -1,6 +1,6 @@
AC_INIT(
[pam_panic],
[0.1.0],
[0.2.0],
[https://github.com/pampanic/pam_panic/issues],
[pam_panic])
AC_CONFIG_AUX_DIR([build-aux])
@ -20,6 +20,15 @@ CFLAGS+=" -std=gnu11"
AM_PROG_AR
AM_GNU_GETTEXT_VERSION(0.18.3)
AM_GNU_GETTEXT([external])
AC_PATH_PROG([PO4A],po4a)
if test -z "$PO4A" ; then
AC_MSG_ERROR([Please install po4a before building pam_panic.])
fi
AC_DEFINE_UNQUOTED([PO4A], "$PO4A",
[path to po4a])
AC_PATH_PROG([REBOOT], [reboot])
AC_DEFINE_UNQUOTED([REBOOT], "$REBOOT",
@ -31,6 +40,10 @@ AC_PATH_PROG([CRYPTSETUP], [cryptsetup])
AC_DEFINE_UNQUOTED([CRYPTSETUP], "$CRYPTSETUP",
[path to the cryptsetup command])
AC_PATH_PROG([FIND], [find])
AC_DEFINE_UNQUOTED([FIND], "$FIND",
[path to the find command])
AC_ARG_ENABLE(securedir,
AS_HELP_STRING([--enable-securedir=DIR],
[path to location of PAMs @<:@default=LIBDIR/security@:>@]),
@ -51,6 +64,8 @@ AC_ENABLE_SHARED([yes])
AC_CONFIG_FILES([
Makefile
po/Makefile.in
po4a/Makefile
src/pam_panic/Makefile
src/pam_panic/man/Makefile
src/pam_panic_pw/Makefile

292
lib/gettext.h Normal file
View File

@ -0,0 +1,292 @@
/* Convenience header for conditional use of GNU <libintl.h>.
Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2016 Free Software
Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifndef _LIBGETTEXT_H
#define _LIBGETTEXT_H 1
/* NLS can be disabled through the configure --disable-nls option. */
#if ENABLE_NLS
/* Get declarations of GNU message catalog functions. */
# include <libintl.h>
/* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by
the gettext() and ngettext() macros. This is an alternative to calling
textdomain(), and is useful for libraries. */
# ifdef DEFAULT_TEXT_DOMAIN
# undef gettext
# define gettext(Msgid) \
dgettext (DEFAULT_TEXT_DOMAIN, Msgid)
# undef ngettext
# define ngettext(Msgid1, Msgid2, N) \
dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N)
# endif
#else
/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which
chokes if dcgettext is defined as a macro. So include it now, to make
later inclusions of <locale.h> a NOP. We don't include <libintl.h>
as well because people using "gettext.h" will not include <libintl.h>,
and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>
is OK. */
#if defined(__sun)
# include <locale.h>
#endif
/* Many header files from the libstdc++ coming with g++ 3.3 or newer include
<libintl.h>, which chokes if dcgettext is defined as a macro. So include
it now, to make later inclusions of <libintl.h> a NOP. */
#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3)
# include <cstdlib>
# if (__GLIBC__ >= 2 && !defined __UCLIBC__) || _GLIBCXX_HAVE_LIBINTL_H
# include <libintl.h>
# endif
#endif
/* Disabled NLS.
The casts to 'const char *' serve the purpose of producing warnings
for invalid uses of the value returned from these functions.
On pre-ANSI systems without 'const', the config.h file is supposed to
contain "#define const". */
# undef gettext
# define gettext(Msgid) ((const char *) (Msgid))
# undef dgettext
# define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid))
# undef dcgettext
# define dcgettext(Domainname, Msgid, Category) \
((void) (Category), dgettext (Domainname, Msgid))
# undef ngettext
# define ngettext(Msgid1, Msgid2, N) \
((N) == 1 \
? ((void) (Msgid2), (const char *) (Msgid1)) \
: ((void) (Msgid1), (const char *) (Msgid2)))
# undef dngettext
# define dngettext(Domainname, Msgid1, Msgid2, N) \
((void) (Domainname), ngettext (Msgid1, Msgid2, N))
# undef dcngettext
# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
((void) (Category), dngettext (Domainname, Msgid1, Msgid2, N))
# undef textdomain
# define textdomain(Domainname) ((const char *) (Domainname))
# undef bindtextdomain
# define bindtextdomain(Domainname, Dirname) \
((void) (Domainname), (const char *) (Dirname))
# undef bind_textdomain_codeset
# define bind_textdomain_codeset(Domainname, Codeset) \
((void) (Domainname), (const char *) (Codeset))
#endif
/* Prefer gnulib's setlocale override over libintl's setlocale override. */
#ifdef GNULIB_defined_setlocale
# undef setlocale
# define setlocale rpl_setlocale
#endif
/* A pseudo function call that serves as a marker for the automated
extraction of messages, but does not call gettext(). The run-time
translation is done at a different place in the code.
The argument, String, should be a literal string. Concatenated strings
and other string expressions won't work.
The macro's expansion is not parenthesized, so that it is suitable as
initializer for static 'char[]' or 'const char[]' variables. */
#define gettext_noop(String) String
/* The separator between msgctxt and msgid in a .mo file. */
#define GETTEXT_CONTEXT_GLUE "\004"
/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a
MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be
short and rarely need to change.
The letter 'p' stands for 'particular' or 'special'. */
#ifdef DEFAULT_TEXT_DOMAIN
# define pgettext(Msgctxt, Msgid) \
pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
#else
# define pgettext(Msgctxt, Msgid) \
pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
#endif
#define dpgettext(Domainname, Msgctxt, Msgid) \
pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \
pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category)
#ifdef DEFAULT_TEXT_DOMAIN
# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
#else
# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
#endif
#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \
npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category)
#ifdef __GNUC__
__inline
#else
#ifdef __cplusplus
inline
#endif
#endif
static const char *
pgettext_aux (const char *domain,
const char *msg_ctxt_id, const char *msgid,
int category)
{
const char *translation = dcgettext (domain, msg_ctxt_id, category);
if (translation == msg_ctxt_id)
return msgid;
else
return translation;
}
#ifdef __GNUC__
__inline
#else
#ifdef __cplusplus
inline
#endif
#endif
static const char *
npgettext_aux (const char *domain,
const char *msg_ctxt_id, const char *msgid,
const char *msgid_plural, unsigned long int n,
int category)
{
const char *translation =
dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
if (translation == msg_ctxt_id || translation == msgid_plural)
return (n == 1 ? msgid : msgid_plural);
else
return translation;
}
/* The same thing extended for non-constant arguments. Here MSGCTXT and MSGID
can be arbitrary expressions. But for string literals these macros are
less efficient than those above. */
#include <string.h>
#if (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \
/* || __STDC_VERSION__ >= 199901L */ )
# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1
#else
# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0
#endif
#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
#include <stdlib.h>
#endif
#define pgettext_expr(Msgctxt, Msgid) \
dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES)
#define dpgettext_expr(Domainname, Msgctxt, Msgid) \
dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES)
#ifdef __GNUC__
__inline
#else
#ifdef __cplusplus
inline
#endif
#endif
static const char *
dcpgettext_expr (const char *domain,
const char *msgctxt, const char *msgid,
int category)
{
size_t msgctxt_len = strlen (msgctxt) + 1;
size_t msgid_len = strlen (msgid) + 1;
const char *translation;
#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
char msg_ctxt_id[msgctxt_len + msgid_len];
#else
char buf[1024];
char *msg_ctxt_id =
(msgctxt_len + msgid_len <= sizeof (buf)
? buf
: (char *) malloc (msgctxt_len + msgid_len));
if (msg_ctxt_id != NULL)
#endif
{
int found_translation;
memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
msg_ctxt_id[msgctxt_len - 1] = '\004';
memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
translation = dcgettext (domain, msg_ctxt_id, category);
found_translation = (translation != msg_ctxt_id);
#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
if (msg_ctxt_id != buf)
free (msg_ctxt_id);
#endif
if (found_translation)
return translation;
}
return msgid;
}
#define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \
dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
#define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
#ifdef __GNUC__
__inline
#else
#ifdef __cplusplus
inline
#endif
#endif
static const char *
dcnpgettext_expr (const char *domain,
const char *msgctxt, const char *msgid,
const char *msgid_plural, unsigned long int n,
int category)
{
size_t msgctxt_len = strlen (msgctxt) + 1;
size_t msgid_len = strlen (msgid) + 1;
const char *translation;
#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
char msg_ctxt_id[msgctxt_len + msgid_len];
#else
char buf[1024];
char *msg_ctxt_id =
(msgctxt_len + msgid_len <= sizeof (buf)
? buf
: (char *) malloc (msgctxt_len + msgid_len));
if (msg_ctxt_id != NULL)
#endif
{
int found_translation;
memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
msg_ctxt_id[msgctxt_len - 1] = '\004';
memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
found_translation = !(translation == msg_ctxt_id || translation == msgid_plural);
#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
if (msg_ctxt_id != buf)
free (msg_ctxt_id);
#endif
if (found_translation)
return translation;
}
return (n == 1 ? msgid : msgid_plural);
}
#endif /* _LIBGETTEXT_H */

5
m4/.gitignore vendored
View File

@ -1,5 +0,0 @@
libtool.m4
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4

2
po/LINGUAS Normal file
View File

@ -0,0 +1,2 @@
# Languages
de es fr ja

53
po/Makevars Normal file
View File

@ -0,0 +1,53 @@
# Makefile variables for PO directory in any package using GNU gettext.
# Usually the message domain is the same as the package name.
DOMAIN = $(PACKAGE)
# These two variables depend on the location of this directory.
subdir = po
top_builddir = ..
# These options get passed to xgettext.
XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
# This is the copyright holder that gets inserted into the header of the
# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
# package. (Note that the msgstr strings, extracted from the package's
# sources, belong to the copyright holder of the package.) Translators are
# expected to transfer the copyright for their translations to this person
# or entity, or to disclaim their copyright. The empty string stands for
# the public domain; in this case the translators are expected to disclaim
# their copyright.
COPYRIGHT_HOLDER = Bandie <bandie@chaospott.de>
# This is the email address or URL to which the translators shall report
# bugs in the untranslated strings:
# - Strings which are not entire sentences, see the maintainer guidelines
# in the GNU gettext documentation, section 'Preparing Strings'.
# - Strings which use unclear terms or require additional context to be
# understood.
# - Strings which make invalid assumptions about notation of date, time or
# money.
# - Pluralisation problems.
# - Incorrect English spelling.
# - Incorrect formatting.
# It can be your email address, or a mailing list address where translators
# can write to without being subscribed, or the URL of a web page through
# which the translators can contact you.
MSGID_BUGS_ADDRESS = https://github.com/pampanic/pam_panic
# This is the list of locale categories, beyond LC_MESSAGES, for which the
# message catalogs shall be used. It is usually empty.
EXTRA_LOCALE_CATEGORIES =
# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
# context. Possible values are "yes" and "no". Set this to yes if the
# package uses functions taking also a message context, like pgettext(), or
# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
USE_MSGCTXT = no
# These options get passed to msgmerge.
# Useful options are in particular:
# --previous to keep previous msgids of translated messages,
# --quiet to reduce the verbosity.
MSGMERGE_OPTIONS =

5
po/POTFILES.in Normal file
View File

@ -0,0 +1,5 @@
# The sources which contains output strings
src/pam_panic/pam_panic.c
src/pam_panic/pam_panic_authdevice.c
src/pam_panic/pam_panic_password.c
src/pam_panic_pw/pam_panic_pw.c

97
po/de.po Normal file
View File

@ -0,0 +1,97 @@
# German translations for pam_panic package
# German translation for pam_panic.
# Copyright (C) 2018 Bandie <bandie@chaospott.de>
# This file is distributed under the same license as the pam_panic package.
# <bandie@chaospott.de>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: pam_panic 0.2.0\n"
"Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n"
"POT-Creation-Date: 2018-09-30 13:04+0200\n"
"PO-Revision-Date: 2018-09-20 21:03+0200\n"
"Last-Translator: <bandie@chaospott.de>\n"
"Language-Team: German\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/pam_panic/pam_panic.c:41
msgid "CRITICAL: Problem with regcomp."
msgstr "CRITICAL: Problem mit regcomp."
#: src/pam_panic/pam_panic.c:122
msgid ""
"ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a "
"valid GPT UUID."
msgstr ""
"ERROR: Argument ungültig. Hinweis: \"allow\" und \"reject\" müssen eine "
"valide GPT UUID aufweisen."
#: src/pam_panic/pam_panic.c:158
msgid "ALERT for argument \"serious\": Device doesn't exist."
msgstr "ALERT für Argument \"serious\": Gerät existiert nicht."
#: src/pam_panic/pam_panic_authdevice.c:35
msgid "Key? "
msgstr "Schlüssel? "
#: src/pam_panic/pam_panic_authdevice.c:37
msgid "Couldn't identify any key after 3 tries."
msgstr "Konnte keinen Schlüssel nach 3 Versuchen identifizieren."
#: src/pam_panic/pam_panic_password.c:29
msgid "ALERT for password option: No password file detected."
msgstr "ALERT für Passwort-Option: Keine Passwort-Datei gefunden."
#: src/pam_panic/pam_panic_password.c:34
msgid "ERROR: Couldn't open password file."
msgstr "ERROR: Konnte Passwort-Datei nicht öffnen."
#: src/pam_panic/pam_panic_password.c:46
msgid "CRITICAL: Password file is corrupt!"
msgstr "CRITICAL: Passwort-Datei ist beschädigt!"
#: src/pam_panic/pam_panic_password.c:91
msgid "Password: "
msgstr "Passwort: "
#: src/pam_panic_pw/pam_panic_pw.c:28
#, c-format
msgid "ERROR opening file!\n"
msgstr "ERROR: Datei konnte nicht geöffnet werden!\n"
#: src/pam_panic_pw/pam_panic_pw.c:65
msgid "Key password: "
msgstr "Schlüsselpasswort: "
#: src/pam_panic_pw/pam_panic_pw.c:66
msgid "Panic password: "
msgstr "Panikpasswort: "
#: src/pam_panic_pw/pam_panic_pw.c:67
msgid "Confirm key password: "
msgstr "Schlüsselpasswort bestätigen: "
#: src/pam_panic_pw/pam_panic_pw.c:68
msgid "Confirm panic password: "
msgstr "Panikpasswort bestätigen: "
#: src/pam_panic_pw/pam_panic_pw.c:74
#, c-format
msgid "Please run this program under root. Write access to %s is mandatory.\n"
msgstr ""
"Dieses Programm muss als root ausgeführt werden. Schreibrechte auf %s sind "
"dabei notwendig.\n"
#: src/pam_panic_pw/pam_panic_pw.c:97
#, c-format
msgid "Didn't work. Bye.\n"
msgstr "Hat nicht funktioniert. Tschüss.\n"
#: src/pam_panic_pw/pam_panic_pw.c:100
#, c-format
msgid "Password didn't match. Try again.\n"
msgstr "Passwort stimmt nicht überein. Bitte noch einmal versuchen.\n"

100
po/es.po Normal file
View File

@ -0,0 +1,100 @@
# Spanish translations for pam_panic package
# Traducciones al español para el paquete pam_panic.
# Copyright (C) 2018 Bandie <bandie@chaospott.de>
# This file is distributed under the same license as the pam_panic package.
# Dangered wolf <d@ngeredwolf.me>>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: pam_panic 0.2.0\n"
"Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n"
"POT-Creation-Date: 2018-09-30 13:04+0200\n"
"PO-Revision-Date: 2018-09-29 18:19+0200\n"
"Last-Translator: Dangered wolf <d@ngeredwolf.me>\n"
"Language-Team: Spanish\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.1.1\n"
#: src/pam_panic/pam_panic.c:41
msgid "CRITICAL: Problem with regcomp."
msgstr "CRITICAL: Problema con regcomp."
#: src/pam_panic/pam_panic.c:122
msgid ""
"ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a "
"valid GPT UUID."
msgstr ""
"ERROR: Argumentos inválidos. Tenga en cuenta que \"allow\" y \"reject\" "
"deben tener un UUID de GPT válido."
#: src/pam_panic/pam_panic.c:158
msgid "ALERT for argument \"serious\": Device doesn't exist."
msgstr "ALERT para el argumento \"serious\": El dispositivo no existe."
#: src/pam_panic/pam_panic_authdevice.c:35
msgid "Key? "
msgstr "¿Código? "
#: src/pam_panic/pam_panic_authdevice.c:37
msgid "Couldn't identify any key after 3 tries."
msgstr "No se pudo identificar ninguna clave después de 3 intentos."
#: src/pam_panic/pam_panic_password.c:29
msgid "ALERT for password option: No password file detected."
msgstr ""
"ALERT para la opción de contraseña: No se ha detectado ningún archivo de "
"contraseña."
#: src/pam_panic/pam_panic_password.c:34
msgid "ERROR: Couldn't open password file."
msgstr "ERROR: No se pudo abrir el archivo de contraseña."
#: src/pam_panic/pam_panic_password.c:46
msgid "CRITICAL: Password file is corrupt!"
msgstr "CRITICAL: Archivo de contraseña está dañado!"
#: src/pam_panic/pam_panic_password.c:91
msgid "Password: "
msgstr "Contraseña: "
#: src/pam_panic_pw/pam_panic_pw.c:28
#, c-format
msgid "ERROR opening file!\n"
msgstr "ERROR al abrir el archivo!\n"
#: src/pam_panic_pw/pam_panic_pw.c:65
msgid "Key password: "
msgstr "Contraseña clave: "
#: src/pam_panic_pw/pam_panic_pw.c:66
msgid "Panic password: "
msgstr "Contraseña de pánico: "
#: src/pam_panic_pw/pam_panic_pw.c:67
msgid "Confirm key password: "
msgstr "Confirmar contraseña clave: "
#: src/pam_panic_pw/pam_panic_pw.c:68
msgid "Confirm panic password: "
msgstr "Confirmar contraseña de pánico: "
#: src/pam_panic_pw/pam_panic_pw.c:74
#, c-format
msgid "Please run this program under root. Write access to %s is mandatory.\n"
msgstr ""
"Ejecute este programa con acceso root. El acceso de escritura a %s es "
"obligatorio.\n"
#: src/pam_panic_pw/pam_panic_pw.c:97
#, c-format
msgid "Didn't work. Bye.\n"
msgstr "No funcionó. Adiós.\n"
#: src/pam_panic_pw/pam_panic_pw.c:100
#, c-format
msgid "Password didn't match. Try again.\n"
msgstr "La contraseña no coincide. Inténtalo de nuevo.\n"

98
po/fr.po Normal file
View File

@ -0,0 +1,98 @@
# French translations for pam_panic package.
# Copyright (C) 2018 Bandie <bandie@chaospott.de>
# This file is distributed under the same license as the pam_panic package.
# Dashie <dashie@otter.sh>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: pam_panic 0.2.0\n"
"Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n"
"POT-Creation-Date: 2018-09-30 13:04+0200\n"
"PO-Revision-Date: 2018-09-29 18:33+0200\n"
"Last-Translator: Dashie <dashie@otter.sh>\n"
"Language-Team: French\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 2.1.1\n"
#: src/pam_panic/pam_panic.c:41
msgid "CRITICAL: Problem with regcomp."
msgstr "CRITICAL: Problème avec regcomp."
#: src/pam_panic/pam_panic.c:122
msgid ""
"ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a "
"valid GPT UUID."
msgstr ""
"ERROR: Arguments invalides. Notez que \"allow\" et \"reject\" doivent avoir "
"un GPU UUID valide."
#: src/pam_panic/pam_panic.c:158
msgid "ALERT for argument \"serious\": Device doesn't exist."
msgstr "ALERT pour l'argument \"serious\": Le périphérique n'existe pas."
#: src/pam_panic/pam_panic_authdevice.c:35
msgid "Key? "
msgstr "Clé?"
#: src/pam_panic/pam_panic_authdevice.c:37
msgid "Couldn't identify any key after 3 tries."
msgstr "Impossible d'identifier une clé après 3 essais."
#: src/pam_panic/pam_panic_password.c:29
msgid "ALERT for password option: No password file detected."
msgstr ""
"ALERT pour l'option de mot de passe: Aucun fichier de mot de passe détecté."
#: src/pam_panic/pam_panic_password.c:34
msgid "ERROR: Couldn't open password file."
msgstr "ERROR: Impossible d'ouvrir le fichier de mot de passe."
#: src/pam_panic/pam_panic_password.c:46
msgid "CRITICAL: Password file is corrupt!"
msgstr "CRITICAL: Le fichier de mot de passe est corrompu!"
#: src/pam_panic/pam_panic_password.c:91
msgid "Password: "
msgstr "Mot de passe : "
#: src/pam_panic_pw/pam_panic_pw.c:28
#, c-format
msgid "ERROR opening file!\n"
msgstr "ERROR en ouvrant le fichier.\n"
#: src/pam_panic_pw/pam_panic_pw.c:65
msgid "Key password: "
msgstr "Mot de passe clé : "
#: src/pam_panic_pw/pam_panic_pw.c:66
msgid "Panic password: "
msgstr "Mot de passe panique : "
#: src/pam_panic_pw/pam_panic_pw.c:67
msgid "Confirm key password: "
msgstr "Confirmer le mot de passe de clé :"
#: src/pam_panic_pw/pam_panic_pw.c:68
msgid "Confirm panic password: "
msgstr "Confirmer le mot de passe de panique : "
#: src/pam_panic_pw/pam_panic_pw.c:74
#, c-format
msgid "Please run this program under root. Write access to %s is mandatory.\n"
msgstr ""
"Veuillez exécuter ce programme avec les privilèges root. L'accès en écriture "
"à %s est obligatoire.\n"
#: src/pam_panic_pw/pam_panic_pw.c:97
#, c-format
msgid "Didn't work. Bye.\n"
msgstr "N'a pas fonctionné. Au revoir.\n"
#: src/pam_panic_pw/pam_panic_pw.c:100
#, c-format
msgid "Password didn't match. Try again.\n"
msgstr "Le mot de passe ne correspond pas. Réessayer.\n"

97
po/ja.po Normal file
View File

@ -0,0 +1,97 @@
# Japanese translations for pam_panic package.
# Copyright (C) 2018 Bandie <bandie@chaospott.de>
# This file is distributed under the same license as the pam_panic package.
# Chromium Neptune <chromium@neplanet.com>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: pam_panic 0.2.0\n"
"Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n"
"POT-Creation-Date: 2018-09-30 13:04+0200\n"
"PO-Revision-Date: 2018-09-29 18:51+0200\n"
"Last-Translator: Chromium Neptune <chromium@neplanet.com>\n"
"Language-Team: Japanese\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 2.1.1\n"
#: src/pam_panic/pam_panic.c:41
msgid "CRITICAL: Problem with regcomp."
msgstr "クリティカル: \"regcomp\"の問題"
#: src/pam_panic/pam_panic.c:122
msgid ""
"ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a "
"valid GPT UUID."
msgstr ""
"エラー: 引き数が無効です。 \"allow\"と \"reject\"には有効なGPT UUIDが必要で"
"す。"
#: src/pam_panic/pam_panic.c:158
msgid "ALERT for argument \"serious\": Device doesn't exist."
msgstr "引数 \"serious\"のアラート:デバイスが存在しません。"
#: src/pam_panic/pam_panic_authdevice.c:35
msgid "Key? "
msgstr "キー? "
#: src/pam_panic/pam_panic_authdevice.c:37
msgid "Couldn't identify any key after 3 tries."
msgstr "3回の試行後にキーを特定できませんでした。"
#: src/pam_panic/pam_panic_password.c:29
msgid "ALERT for password option: No password file detected."
msgstr "パスワードオプションの警告:パスワードファイルが検出されませんでした。"
#: src/pam_panic/pam_panic_password.c:34
msgid "ERROR: Couldn't open password file."
msgstr "エラー:パスワードファイルを開くことができませんでした。"
#: src/pam_panic/pam_panic_password.c:46
msgid "CRITICAL: Password file is corrupt!"
msgstr "危険:パスワードファイルが壊れています!"
#: src/pam_panic/pam_panic_password.c:91
msgid "Password: "
msgstr "パスフレーズ: "
#: src/pam_panic_pw/pam_panic_pw.c:28
#, c-format
msgid "ERROR opening file!\n"
msgstr "ファイルを開く際にエラーが発生\n"
#: src/pam_panic_pw/pam_panic_pw.c:65
msgid "Key password: "
msgstr "キーのパスワード: "
#: src/pam_panic_pw/pam_panic_pw.c:66
msgid "Panic password: "
msgstr "パニックパスワード: "
#: src/pam_panic_pw/pam_panic_pw.c:67
msgid "Confirm key password: "
msgstr "キーのパスワードを確認: "
#: src/pam_panic_pw/pam_panic_pw.c:68
msgid "Confirm panic password: "
msgstr "パニックパスワードを確認する: "
#: src/pam_panic_pw/pam_panic_pw.c:74
#, c-format
msgid "Please run this program under root. Write access to %s is mandatory.\n"
msgstr ""
"root権限でこのプログラムを実行してください。 %sへの書き込みアクセスは必須で"
"す。\n"
#: src/pam_panic_pw/pam_panic_pw.c:97
#, c-format
msgid "Didn't work. Bye.\n"
msgstr "うまくいきませんでした。 さようなら。\n"
#: src/pam_panic_pw/pam_panic_pw.c:100
#, c-format
msgid "Password didn't match. Try again.\n"
msgstr "パスワードが一致しませんでした。 再試行する。\n"

92
po/pam_panic.pot Normal file
View File

@ -0,0 +1,92 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Bandie <bandie@chaospott.de>
# This file is distributed under the same license as the pam_panic package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: pam_panic 0.2.0\n"
"Report-Msgid-Bugs-To: https://github.com/pampanic/pam_panic\n"
"POT-Creation-Date: 2018-09-30 13:04+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/pam_panic/pam_panic.c:41
msgid "CRITICAL: Problem with regcomp."
msgstr ""
#: src/pam_panic/pam_panic.c:122
msgid ""
"ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a "
"valid GPT UUID."
msgstr ""
#: src/pam_panic/pam_panic.c:158
msgid "ALERT for argument \"serious\": Device doesn't exist."
msgstr ""
#: src/pam_panic/pam_panic_authdevice.c:35
msgid "Key? "
msgstr ""
#: src/pam_panic/pam_panic_authdevice.c:37
msgid "Couldn't identify any key after 3 tries."
msgstr ""
#: src/pam_panic/pam_panic_password.c:29
msgid "ALERT for password option: No password file detected."
msgstr ""
#: src/pam_panic/pam_panic_password.c:34
msgid "ERROR: Couldn't open password file."
msgstr ""
#: src/pam_panic/pam_panic_password.c:46
msgid "CRITICAL: Password file is corrupt!"
msgstr ""
#: src/pam_panic/pam_panic_password.c:91
msgid "Password: "
msgstr ""
#: src/pam_panic_pw/pam_panic_pw.c:28
#, c-format
msgid "ERROR opening file!\n"
msgstr ""
#: src/pam_panic_pw/pam_panic_pw.c:65
msgid "Key password: "
msgstr ""
#: src/pam_panic_pw/pam_panic_pw.c:66
msgid "Panic password: "
msgstr ""
#: src/pam_panic_pw/pam_panic_pw.c:67
msgid "Confirm key password: "
msgstr ""
#: src/pam_panic_pw/pam_panic_pw.c:68
msgid "Confirm panic password: "
msgstr ""
#: src/pam_panic_pw/pam_panic_pw.c:74
#, c-format
msgid "Please run this program under root. Write access to %s is mandatory.\n"
msgstr ""
#: src/pam_panic_pw/pam_panic_pw.c:97
#, c-format
msgid "Didn't work. Bye.\n"
msgstr ""
#: src/pam_panic_pw/pam_panic_pw.c:100
#, c-format
msgid "Password didn't match. Try again.\n"
msgstr ""

3
po4a/Makefile.am Normal file
View File

@ -0,0 +1,3 @@
all:
@printf "Building po4a man page translations...\n"
$(PO4A) ./po4a.cfg

568
po4a/de.po Normal file
View File

@ -0,0 +1,568 @@
# German translations for pam_panic package
# German translation for pam_panic
# Copyright (C) 2018 Bandie <bandie@chaospott.de>
# This file is distributed under the same license as the pam_panic package.
# Bandie <bandie@chaospott.de>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: po 4a\n"
"Report-Msgid-Bugs-To: Bandie <bandie@chaospott.de>\n"
"POT-Creation-Date: 2018-09-29 16:00+0200\n"
"PO-Revision-Date: 2018-09-29 16:02+0200\n"
"Last-Translator: Bandie <bandie@chaospott.de>\n"
"Language-Team: German\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.1.1\n"
#. type: TH
#: ../src/pam_panic/man/man8/pam_panic.8:9
#, no-wrap
msgid "PAM_PANIC"
msgstr "PAM_PANIC"
#. type: TH
#: ../src/pam_panic/man/man8/pam_panic.8:9
#, no-wrap
msgid "2018-03-26"
msgstr "2018-09-28"
#. type: TH
#: ../src/pam_panic/man/man8/pam_panic.8:9
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9
#, no-wrap
msgid "PAM Panic Manual"
msgstr "PAM Panic Handbuch"
#. -----------------------------------------------------------------
#. * MAIN CONTENT STARTS HERE *
#. -----------------------------------------------------------------
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:24
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:23
#, no-wrap
msgid "NAME"
msgstr "NAME"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:26
msgid ""
"pam_panic - PAM module with panic function to protect sensitive data in "
"emergency situations"
msgstr ""
"pam_panic - PAM-Module mit Panik-Funktion zum Schützen von wichtigen Daten "
"in Notsituationen"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:28
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:27
#, no-wrap
msgid "SYNOPSIS"
msgstr "ÜBERSICHT"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:31
msgid ""
"B<pam_panic.so> [password] [allow=I<UUID(GPT)>] [reject=I<UUID(GPT)>] "
"[reboot] [poweroff] [serious=I<UUID>]"
msgstr ""
"B<pam_panic.so> [password] [allow=I<UUID(GPT)>] [reject=I<UUID(GPT)>] "
"[reboot] [poweroff] [serious=I<UUID>]"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:33
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:32
#, no-wrap
msgid "DESCRIPTION"
msgstr "BESCHREIBUNG"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:36
msgid ""
"The pam_panic PAM module protects sensitive data and provides a panic "
"function for emergency situations."
msgstr ""
"Das pam_panic PAM-Modul schützt wichtige Daten durch das Anbieten einer "
"Panik-Funktion."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:38
msgid "There are two possible options in how to use this PAM module:"
msgstr "Es gibt zwei Möglichkeiten der Verwendung:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:41
msgid "First possible option:"
msgstr "Erste Möglichkeit:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:44
msgid ""
"There are two removable media which work as keys: the auth key and the panic "
"key. The auth key will let you pass to the password prompt whereas the "
"panic key will call the I<panic function>."
msgstr ""
"Man verwendet zwei Wecheldatenträger, die als Schlüssel dienen. Hierbei "
"funktioniert eines als Authentifizierungsschlüssel und eines als "
"Panikschlüssel. Der Panikschlüssel führt die I<Panikfunktion> aus."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:47
msgid "See options B<allow> and B<reject>."
msgstr "Sie dazu die Optionen B<allow> und B<reject>."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:50
msgid "Second possible option:"
msgstr "Zweite Möglichkeit:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:52
msgid ""
"There are two passwords: the key password and the panic password. The key "
"password will let you pass to the original password prompt whereas the panic "
"password will call the I<panic function>."
msgstr ""
"Man verwendet zwei Passwörter, die als Schlüssel dienen. Dabei wird ein "
"Schlüsselpasswort (Key password) und ein Panikpasswort (Panic password) "
"festgelegt.Das Panikpasswort wird hierbei die I<Panikfunktion> aufrufen."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:55
msgid "See option B<password>."
msgstr "Siehe dazu die Option B<password>."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:60
msgid "The panic function:"
msgstr "Die Panikfunktion:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:62
msgid ""
"The behaviour of this function is defined through the arguments B<reboot>, "
"B<poweroff> and/or B<serious>. See the B<OPTIONS> section for details."
msgstr ""
"Das Verhalten der Panikfunktion wird durch die Argumente B<reboot>, "
"B<poweroff> und/oder B<serious> definiert. Siehe dazu den Abschnitt "
"B<OPTIONEN>."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:65
#, no-wrap
msgid "OPTIONS"
msgstr "OPTIONEN"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:68
msgid "B<password>"
msgstr "B<password>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:71
msgid ""
"Activates the password function having a panic and key password. If the "
"options B<allow> and B<reject> are provided this option will be ignored."
msgstr ""
"Aktiviert die Passwortfunktion mit einem Panik- und Schlüsselpasswort. Wenn "
"B<allow> und B<reject> gesetzt sind, wird diese Option ignoriert."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:74
msgid "These passwords can be set with the B<pam_panic_pw>(1) command."
msgstr ""
"Diese Passwörter können mit dem B<pam_panic_pw>(1) Programm gesetzt werden."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:79
msgid "B<allow=>I<UUID(GPT)>"
msgstr "B<allow=>I<UUID(GPT)>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:81
msgid "The UUID of the device to be used for authentication (the auth key)."
msgstr ""
"Diese Geräte-UUID wird zur Authentifizierung benutzt "
"(Authentifierungsschlüssel)."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:86
#: ../src/pam_panic/man/man8/pam_panic.8:99
msgid ""
"The device must be GPT-formatted and contain at least one partition. The "
"UUID of a GPT-formatted device looks like \"12345678-9ABC-"
"DEF0-1234-56789ABCDEF0\"."
msgstr ""
"Der Wechseldatenträger muss GPT-formatiert sein und mindestens eine "
"Partition enthalten.Die UUID eines GPT-formatierten Gerätes sieht "
"beispielsweise so aus: \"12345678-9ABC-DEF0-1234-56789ABCDEF0\"."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:88
#: ../src/pam_panic/man/man8/pam_panic.8:101
msgid "See B<HOW TO DETERMINE MY UUIDS> for details."
msgstr "Weitere Informationen im Abschnitt B<WIE BESTIMME ICH MEINE UUIDS>."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:92
msgid "B<reject=>I<UUID(GPT)>"
msgstr "B<reject=>I<UUID(GPT)>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:94
msgid ""
"The UUID of the device to be used in emergencies. The presence of this "
"device will trigger B<reboot>, B<poweroff> and/or the panic function, "
"depending on whether B<reboot>, B<poweroff>, and/or B<serious> are specified."
msgstr ""
"Diese Geräte-UUID, welches in Notfällen benutzt wird. Die Verwendung des "
"Gerätes wird B<reboot>, B<poweroff> und/oder die Panikfunktion auslösen, "
"sofern B<reboot> B<poweroff> und/oder B<serious> angegeben wurden."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:105
msgid "B<reboot> (recommended)"
msgstr "B<reboot> (empfohlen)"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:107
msgid ""
"Indicates that the system should reboot when the I<panic function> is "
"triggered."
msgstr ""
"Sorgt für ein Neustart des Systems, sobald die I<Panikfunktion> ausgelöst "
"wird."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:110
msgid "This option is recommended."
msgstr "Diese Option ist empfohlen."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:113
msgid "If B<poweroff> is also specified, B<reboot> will be ignored."
msgstr ""
"Wenn B<poweroff> ebenfalls angegeben worden ist, wird B<reboot> ignoriert."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:117
msgid "B<poweroff>"
msgstr "B<poweroff>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:120
msgid ""
"Indicates that the system should shut down when the I<panic function> is "
"triggered. This option is discouraged for security reasons."
msgstr ""
"Sorgt für ein Herunterfahren des Systems, sobald die I<Panikfunktion> "
"ausgeführt wird. Diese Option ist aus Sicherheitsgründen nicht "
"empfehlenswert."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:124
msgid "B<serious=>I<UUID>"
msgstr "B<serious=>I<UUID>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:126
msgid ""
"The UUID of the device containing the LUKS header to erase when the I<panic "
"function> is triggered. Erasing the LUKS header will render the data "
"unreadable."
msgstr ""
"Die Geräte-UUID, dessen LUKS-Header zerstört werden soll, sobald die "
"I<Panikfunktion> ausgelöst wurde. Das Zerstören der LUKS-Header hat zu "
"Folge, dass die Daten nicht mehr lesbar sein werden."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:129
msgid ""
"The internal command which will be executed is \"B<cryptsetup luksErase "
"[UUID]>\"."
msgstr ""
"Der interne Befehl, der ausgeführt werden wird ist \"B<cryptsetup luksErase "
"[UUID]>\"."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:132
msgid ""
"NOTE: You should make a backup of the LUKS header before using this function."
msgstr ""
"HINWEIS: Ein Backup des LUKS-Headers wäre vor Verwendung dieser Funktion "
"sinnvoll."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:136
#, no-wrap
msgid "USAGE"
msgstr "ANWENDUNG"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:139
msgid ""
"To activate the module you have to configure PAM. See B<pam.conf(5)> for "
"details."
msgstr ""
"Um dieses Modul zu aktivieren, musst du PAM konfigurieren. Siehe B<pam."
"conf(5)>."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:141
msgid ""
"In general, you will want to add the following to the top of a PAM "
"configuration file:"
msgstr ""
"In allgemeinen Worten gefasst möchte man folgende Zeilen am Anfang einer PAM-"
"Konfigurationsdatei hinzufügen:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:144
msgid ""
"auth requisite __PAMPANICSO__ auth=E<lt>UUIDE<gt> reject=E<lt>UUIDE<gt> "
"reboot serious=E<lt>UUIDE<gt>"
msgstr ""
"auth requisite __PAMPANICSO__ auth=E<lt>UUIDE<gt> reject=E<lt>UUIDE<gt> "
"reboot serious=E<lt>UUIDE<gt>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:146
#: ../src/pam_panic/man/man8/pam_panic.8:152
msgid "account requisite __PAMPANICSO__"
msgstr "account requisite __PAMPANICSO__"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:148
msgid "Or:"
msgstr "Oder auch:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:150
msgid "auth requisite __PAMPANICSO__ password reboot serious=E<lt>UUIDE<gt>"
msgstr ""
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:156
#, no-wrap
msgid "HOW TO DETERMINE MY UUIDS"
msgstr "WIE BESTIMME ICH MEINE UUIDS"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:160
msgid ""
"You will find your UUIDs in I</dev/disk/by-partuuid>. You might want to "
"execute \"B<ls -l /dev/disk/by-partuuid/>\" in your favourite shell to find "
"out which UUID is which device."
msgstr ""
"Die UUIDs können unter I</dev/disk/by-partuuid> gefunden werden. Um "
"nachvollziehen zu können, welcher Wecheldatenträger welches ist, ist es "
"ratsam \"B<ls -l /dev/disk/by-partuuid/>\" in der Lieblingsshell auszuführen."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:162
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:41
#, no-wrap
msgid "RETURN VALUES"
msgstr "RÜCKGABEWERTE"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:165
msgid "PAM_SUCCESS"
msgstr "PAM_SUCCESS"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:167
msgid "Access was granted."
msgstr "Zugriff wurde gewährt."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:170
msgid "PAM_IGNORE"
msgstr "PAM_IGNORE"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:172
msgid "An error has occured. The module will be ignored."
msgstr "Ein Fehler ist aufgetreten. Dieses Modul wird ignoriert."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:175
msgid "PAM_MAXTRIES"
msgstr "PAM_MAXTRIES"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:177
msgid "The removable media was not detected."
msgstr "Der Wechseldatenträger wurde nicht erkannt."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:180
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:59
#, no-wrap
msgid "FILES"
msgstr "DATEIEN"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:183
msgid "__PAMPANICSO__"
msgstr "__PAMPANICSO__"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:185
msgid "This PAM module, which does everything of this above."
msgstr "Dieses PAM-Modul, welches für alles zuständig ist."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:188
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:62
msgid "__PAMPANICPW__"
msgstr "__PAMPANICPW__"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:190
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:64
msgid "Program to set and change the passwords."
msgstr "Programm zum Setzen und Verändern der Passwörter."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:193
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:72
#, no-wrap
msgid "BUGS"
msgstr "BUGS"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:196
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:75
msgid ""
"Please report bugs and send pull requests to E<lt>https://github.com/"
"pampanic/pam_panicE<gt>."
msgstr ""
"Fehlerberichte (möglichst auf Englisch) und Codeverbesserungen können hier "
"eingereicht werden: E<lt>https://github.com/pampanic/pam_panicE<gt>."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:198
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:77
#, no-wrap
msgid "SEE ALSO"
msgstr "SIEHE AUCH"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:204
msgid "B<pam_panic_pw>(1), B<cryptsetup>(8), B<pam>(8), B<pam.conf>(5)"
msgstr "B<pam_panic_pw>(1), B<cryptsetup>(8), B<pam>(8), B<pam.conf>(5)"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:206
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:85
#, no-wrap
msgid "AUTHORS"
msgstr "AUTOREN"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:210
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:90
msgid "pam_panic was written by Bandie E<lt>bandie@chaospott.deE<gt>."
msgstr "pam_panic wurde von Bandie E<lt>bandie@chaospott.deE<gt> entwickelt."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:211
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92
msgid ""
"This man page has been revised by Jordy Dickinson E<lt>jordy."
"dickinson@icloud.comE<gt>."
msgstr ""
"Diese man page wurde von Bandie E<lt>bandie@chaospott.deE<gt> ins Deutsche "
"übersetzt."
#. type: TH
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9
#, no-wrap
msgid "PAM_PANIC_PW"
msgstr "PAM_PANIC_PW"
#. type: TH
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9
#, no-wrap
msgid "2018-03-31"
msgstr "2018-09-28"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:25
msgid ""
"pam_panic_pw - Set and change the passwords for the B<pam_panic>(8) PAM "
"module."
msgstr ""
"pam_panic_pw - Setzen der Passwörter für das B<pam_panic>(8) PAM-Modul."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:30
msgid "B<pam_panic_pw>"
msgstr "B<pam_panic_pw>"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:35
msgid "B<pam_panic_pw> sets the passwords for the B<pam_panic>(8) PAM module."
msgstr ""
"B<pam_panic_pw> setzt die Passwörter für das B<pam_panic>(8) PAM-Modul."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:39
msgid ""
"There are two passwords: the \"key password\" and the \"panic password\". "
"The \"key password\" is used for the normal authentication whereas the "
"\"panic password\" will execute the panic function."
msgstr ""
"Man verwendet zwei Passwörter, die als Schlüssel dienen. Dabei wird ein "
"\"Schlüsselpasswort\" und ein \"Panikpasswort\" festgelegt. Das "
"Panikpasswort wird hierbei die I<Panikfunktion> aufrufen."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:44
msgid "0"
msgstr "0"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:46
msgid "Passwords set successfully."
msgstr "Passwörter erfolgreich gesetzt."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:49
msgid "1"
msgstr "1"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:51
msgid "Access denied."
msgstr "Keine Berechtigungen."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:54
msgid "2"
msgstr "2"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:56
msgid "Could not open the password file."
msgstr "Konnte Passwortdatei nicht öffnen."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:67
msgid "__PPASSFILE__"
msgstr "__PPASSFILE__"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:69
msgid "The password file."
msgstr "Die Passwortdatei."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:83
msgid "B<pam_panic>(8), B<cryptsetup>(8), B<pam.conf>(5), B<pam>(8)."
msgstr "B<pam_panic>(8), B<cryptsetup>(8), B<pam.conf>(5), B<pam>(8)."

567
po4a/es.po Normal file
View File

@ -0,0 +1,567 @@
# Spanish translations for pam_panic package
# Traducciones al español para el paquete pam_panic
# Copyright (C) 2018 Bandie <bandie@chaospott.de>
# This file is distributed under the same license as the pam_panic package.
# Dangered wolf <d@angeredwolf.me>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: po 4a\n"
"Report-Msgid-Bugs-To: Bandie <bandie@chaospott.de>\n"
"POT-Creation-Date: 2018-09-29 16:00+0200\n"
"PO-Revision-Date: 2018-09-29 16:02+0200\n"
"Last-Translator: d@angeredwolf.me\n"
"Language-Team: Spanish\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.1.1\n"
#. type: TH
#: ../src/pam_panic/man/man8/pam_panic.8:9
#, no-wrap
msgid "PAM_PANIC"
msgstr "PAM_PANIC"
#. type: TH
#: ../src/pam_panic/man/man8/pam_panic.8:9
#, no-wrap
msgid "2018-03-26"
msgstr "2018-03-28"
#. type: TH
#: ../src/pam_panic/man/man8/pam_panic.8:9
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9
#, no-wrap
msgid "PAM Panic Manual"
msgstr "PAM Panic Manual"
#. -----------------------------------------------------------------
#. * MAIN CONTENT STARTS HERE *
#. -----------------------------------------------------------------
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:24
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:23
#, no-wrap
msgid "NAME"
msgstr "NAME"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:26
msgid ""
"pam_panic - PAM module with panic function to protect sensitive data in "
"emergency situations"
msgstr ""
"pam_panic - un módulo de PAM para controlar acceso usando media removible "
"(con función pánica)"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:28
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:27
#, no-wrap
msgid "SYNOPSIS"
msgstr "SINOPSIS"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:31
msgid ""
"B<pam_panic.so> [password] [allow=I<UUID(GPT)>] [reject=I<UUID(GPT)>] "
"[reboot] [poweroff] [serious=I<UUID>]"
msgstr ""
"B<pam_panic.so> [password] [allow=I<UUID(GPT)>] [reject=I<UUID(GPT)>] "
"[reboot] [poweroff] [serious=I<UUID>]"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:33
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:32
#, no-wrap
msgid "DESCRIPTION"
msgstr "DESCRIPCIÓN"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:36
msgid ""
"The pam_panic PAM module protects sensitive data and provides a panic "
"function for emergency situations."
msgstr ""
"El módulo pam_panic protege los datos delicados y proporcióna una función "
"pánica para emergencias."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:38
msgid "There are two possible options in how to use this PAM module:"
msgstr "Hay dos opciones posibles para utilizar este modulo de PAM:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:41
msgid "First possible option:"
msgstr "Primera opción posible:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:44
msgid ""
"There are two removable media which work as keys: the auth key and the panic "
"key. The auth key will let you pass to the password prompt whereas the "
"panic key will call the I<panic function>."
msgstr ""
"Hay dos medias removibles que están usando como claves: La clave de "
"autenticación y la clave de pánico. La clave para autenticación se permite "
"ingresar su contraseña mientras la clave para pánico va a llamar la "
"I<función de pánico>."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:47
msgid "See options B<allow> and B<reject>."
msgstr "Vea la sección de B<allow> y B<reject>."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:50
msgid "Second possible option:"
msgstr "Segunda opción posible:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:52
msgid ""
"There are two passwords: the key password and the panic password. The key "
"password will let you pass to the original password prompt whereas the panic "
"password will call the I<panic function>."
msgstr ""
"Hay dos contraseñas: La contraseña para autenticación y la contraseña de "
"pánico. La contrasenña clave le permitirá pasar al mensaje de contrasenña "
"original, mientras que la contrasenña de pánico llamará a la I<función de "
"pánico>."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:55
msgid "See option B<password>."
msgstr "Vea la sección de B<password>."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:60
msgid "The panic function:"
msgstr "La función de pánico:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:62
msgid ""
"The behaviour of this function is defined through the arguments B<reboot>, "
"B<poweroff> and/or B<serious>. See the B<OPTIONS> section for details."
msgstr ""
"El comportamiento de esta función se define a través de los argumentos "
"B<reboot>, B<poweroff> o B<serious>. Vea la sección de B<OPCIÓNES> para más "
"detalles."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:65
#, no-wrap
msgid "OPTIONS"
msgstr "OPCIÓNES"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:68
msgid "B<password>"
msgstr "B<password>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:71
msgid ""
"Activates the password function having a panic and key password. If the "
"options B<allow> and B<reject> are provided this option will be ignored."
msgstr ""
"Activa la función de contraseã con pánico y contraseña clave. Si las "
"opcionesB<allow> y B<reject> son provistas esta opción será ignorada."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:74
msgid "These passwords can be set with the B<pam_panic_pw>(1) command."
msgstr ""
"Estas contraseñas se pueden configurar con el comando B<pam_panic_pw>(1)."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:79
msgid "B<allow=>I<UUID(GPT)>"
msgstr "B<allow=>I<UUID(GPT)>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:81
msgid "The UUID of the device to be used for authentication (the auth key)."
msgstr "Es el UUID del dispositivo para autenticación."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:86
#: ../src/pam_panic/man/man8/pam_panic.8:99
msgid ""
"The device must be GPT-formatted and contain at least one partition. The "
"UUID of a GPT-formatted device looks like \"12345678-9ABC-"
"DEF0-1234-56789ABCDEF0\"."
msgstr ""
"El dispositivo debe estar formateado por GPT y contener al menos una "
"partición. El UUID de un dispositivo se ve como «12345678-9ABC-"
"DEF0-1234-56789ABCDEF0»."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:88
#: ../src/pam_panic/man/man8/pam_panic.8:101
msgid "See B<HOW TO DETERMINE MY UUIDS> for details."
msgstr "Vea B<CÓMO DETERMINAR MIS UUIDS> para detalles."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:92
msgid "B<reject=>I<UUID(GPT)>"
msgstr "B<reject=>I<UUID(GPT)>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:94
msgid ""
"The UUID of the device to be used in emergencies. The presence of this "
"device will trigger B<reboot>, B<poweroff> and/or the panic function, "
"depending on whether B<reboot>, B<poweroff>, and/or B<serious> are specified."
msgstr ""
"Es el UUID del dispositivo para emergencias. Cuando este dispositivo está "
"presente, se disparará un reinicio, un apagado, y / o la función pánica, "
"según si B<reboot>, B<poweroff>, y / o B<serious> han sido especificados."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:105
msgid "B<reboot> (recommended)"
msgstr "B<reboot> (recomendado)"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:107
msgid ""
"Indicates that the system should reboot when the I<panic function> is "
"triggered."
msgstr ""
"Indica que la sistema debe reiniciarse cuando se active la I<función de "
"pánico>."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:110
msgid "This option is recommended."
msgstr "Esta opción es recomendada."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:113
msgid "If B<poweroff> is also specified, B<reboot> will be ignored."
msgstr "Si B<poweroff> está especificado también, B<reboot> estará ignorado."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:117
msgid "B<poweroff>"
msgstr "B<poweroff>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:120
msgid ""
"Indicates that the system should shut down when the I<panic function> is "
"triggered. This option is discouraged for security reasons."
msgstr ""
"Indica que la sistema debe apagarse cuando se active la I<función de pánico>."
"Esta opción no se recomienda por razones de seguridad."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:124
msgid "B<serious=>I<UUID>"
msgstr "B<serious=>I<UUID>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:126
msgid ""
"The UUID of the device containing the LUKS header to erase when the I<panic "
"function> is triggered. Erasing the LUKS header will render the data "
"unreadable."
msgstr ""
"Es el UUID del dispositivo que contene el encabezamiento de LUKS que estará "
"borrado cuando se active la I<función de pánico>. Borrar el encabezado LUKS "
"hará que los datos sean ilegibles."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:129
msgid ""
"The internal command which will be executed is \"B<cryptsetup luksErase "
"[UUID]>\"."
msgstr ""
"El comando interno que se ejecutará es \"B<cryptsetup luksErase [UUID]>\"."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:132
msgid ""
"NOTE: You should make a backup of the LUKS header before using this function."
msgstr ""
"NOTA: Se deberiá hacer una copia del encabezamiento de LUKS antes de usar "
"esta función."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:136
#, no-wrap
msgid "USAGE"
msgstr "USAR"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:139
msgid ""
"To activate the module you have to configure PAM. See B<pam.conf(5)> for "
"details."
msgstr ""
"Para activar el módulo se tiene que configurar PAM. Vea B<pam.conf(5)> para "
"detalles."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:141
msgid ""
"In general, you will want to add the following to the top of a PAM "
"configuration file:"
msgstr ""
"En general, se necesita agregar lo siguiente al comienzo de un archivo de "
"configuración PAM:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:144
msgid ""
"auth requisite __PAMPANICSO__ auth=E<lt>UUIDE<gt> reject=E<lt>UUIDE<gt> "
"reboot serious=E<lt>UUIDE<gt>"
msgstr ""
"auth requisite __PAMPANICSO__ auth=E<lt>UUIDE<gt> reject=E<lt>UUIDE<gt> "
"reboot serious=E<lt>UUIDE<gt>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:146
#: ../src/pam_panic/man/man8/pam_panic.8:152
msgid "account requisite __PAMPANICSO__"
msgstr "account requisite __PAMPANICSO__"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:148
msgid "Or:"
msgstr "O:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:150
msgid "auth requisite __PAMPANICSO__ password reboot serious=E<lt>UUIDE<gt>"
msgstr "auth requisite __PAMPANICSO__ password reboot serious=E<lt>UUIDE<gt>"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:156
#, no-wrap
msgid "HOW TO DETERMINE MY UUIDS"
msgstr "CÓMO DETERMINAR MIS UUIDS"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:160
msgid ""
"You will find your UUIDs in I</dev/disk/by-partuuid>. You might want to "
"execute \"B<ls -l /dev/disk/by-partuuid/>\" in your favourite shell to find "
"out which UUID is which device."
msgstr ""
"Se puede encontrar sus UUIDs en /dev/disk/by-partuuid. Es posible que desee "
"ejecutar «ls -l /dev/disk/by-partuuid» en su shell favorito para encontrar "
"cuál UUID es su dispositivo."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:162
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:41
#, no-wrap
msgid "RETURN VALUES"
msgstr "VALORES DE RETORNO"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:165
msgid "PAM_SUCCESS"
msgstr "PAM_SUCCESS"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:167
msgid "Access was granted."
msgstr "Indica que acceso fue permitido."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:170
msgid "PAM_IGNORE"
msgstr "PAM_IGNORE"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:172
msgid "An error has occured. The module will be ignored."
msgstr "Indica que se ha producido un error. El módulo estará ignorado."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:175
msgid "PAM_MAXTRIES"
msgstr "PAM_MAXTRIES"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:177
msgid "The removable media was not detected."
msgstr "El media removible no fue detectados."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:180
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:59
#, no-wrap
msgid "FILES"
msgstr "ARCHIVOS"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:183
msgid "__PAMPANICSO__"
msgstr "__PAMPANICSO__"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:185
msgid "This PAM module, which does everything of this above."
msgstr "Este módulo PAM."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:188
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:62
msgid "__PAMPANICPW__"
msgstr "__PAMPANICPW__"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:190
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:64
msgid "Program to set and change the passwords."
msgstr "Cambiador de contraseña."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:193
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:72
#, no-wrap
msgid "BUGS"
msgstr "ERRORES"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:196
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:75
msgid ""
"Please report bugs and send pull requests to E<lt>https://github.com/"
"pampanic/pam_panicE<gt>."
msgstr ""
"Por favor reportar errores y enviar pull requests a E<lt>https://github.com/"
"pampanic/pam_panicE<gt>."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:198
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:77
#, no-wrap
msgid "SEE ALSO"
msgstr "VER TAMBIÉN"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:204
msgid "B<pam_panic_pw>(1), B<cryptsetup>(8), B<pam>(8), B<pam.conf>(5)"
msgstr "B<pam_panic_pw>(1), B<cryptsetup>(8), B<pam>(8), B<pam.conf>(5)"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:206
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:85
#, no-wrap
msgid "AUTHORS"
msgstr "AUTORES"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:210
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:90
msgid "pam_panic was written by Bandie E<lt>bandie@chaospott.deE<gt>."
msgstr "pam_panic fue escrito por Bandie E<lt>bandie@chaospott.deE<gt>."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:211
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92
msgid ""
"This man page has been revised by Jordy Dickinson E<lt>jordy."
"dickinson@icloud.comE<gt>."
msgstr ""
"Este página man fue traducido al español por Jordy Dickinson E<lt>jordy."
"dickinson@icloud.comE<gt> y dangered wolf E<lt>d@ngeredwolf.meE<gt>."
#. type: TH
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9
#, no-wrap
msgid "PAM_PANIC_PW"
msgstr "PAM_PANIC_PW"
#. type: TH
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9
#, no-wrap
msgid "2018-03-31"
msgstr "2018-03-31"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:25
msgid ""
"pam_panic_pw - Set and change the passwords for the B<pam_panic>(8) PAM "
"module."
msgstr ""
"pam_panic_pw - Establecer y cambiar las contraseñas para el módulo PAM de "
"B<pam_panic>(8)."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:30
msgid "B<pam_panic_pw>"
msgstr "B<pam_panic_pw>"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:35
msgid "B<pam_panic_pw> sets the passwords for the B<pam_panic>(8) PAM module."
msgstr ""
"B<pam_panic_pw> establece las contraseñas para el módulo PAM de "
"B<pam_panic>(8)."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:39
msgid ""
"There are two passwords: the \"key password\" and the \"panic password\". "
"The \"key password\" is used for the normal authentication whereas the "
"\"panic password\" will execute the panic function."
msgstr ""
"Hay dos contraseñas: La \"contraseña clave\" y la \"contraseña de pánico\". "
"La \"contraseña clave\" se usa para autenticación normal mientras la "
"\"contraseña de pánico\" ejecutará la función de pánico."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:44
msgid "0"
msgstr "0"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:46
msgid "Passwords set successfully."
msgstr "Contraseñas establecidas con éxito."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:49
msgid "1"
msgstr "1"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:51
msgid "Access denied."
msgstr "Acceso denegado."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:54
msgid "2"
msgstr "2"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:56
msgid "Could not open the password file."
msgstr "No se pudo abrir el archivo de contraseña."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:67
msgid "__PPASSFILE__"
msgstr "__PPASSFILE__"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:69
msgid "The password file."
msgstr "El archivo de contraseña."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:83
msgid "B<pam_panic>(8), B<cryptsetup>(8), B<pam.conf>(5), B<pam>(8)."
msgstr "B<pam_panic>(8), B<cryptsetup>(8), B<pam.conf>(5), B<pam>(8)."

569
po4a/fr.po Normal file
View File

@ -0,0 +1,569 @@
# French translations for pam_panic package
# Copyright (C) 2018 Bandie <bandie@chaospott.de>
# This file is distributed under the same license as the po package.
# Dashie <dashie@otter.sh>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: po 4a\n"
"Report-Msgid-Bugs-To: Bandie <bandie@chaospott.de>\n"
"POT-Creation-Date: 2018-09-29 16:00+0200\n"
"PO-Revision-Date: 2018-09-29 16:01+0200\n"
"Last-Translator: Dashie <dashie@otter.sh>\n"
"Language-Team: French\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 2.1.1\n"
#. type: TH
#: ../src/pam_panic/man/man8/pam_panic.8:9
#, no-wrap
msgid "PAM_PANIC"
msgstr "PAM_PANIC"
#. type: TH
#: ../src/pam_panic/man/man8/pam_panic.8:9
#, no-wrap
msgid "2018-03-26"
msgstr "2018-03-26"
#. type: TH
#: ../src/pam_panic/man/man8/pam_panic.8:9
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9
#, no-wrap
msgid "PAM Panic Manual"
msgstr "Manuel de PAM Panic"
#. -----------------------------------------------------------------
#. * MAIN CONTENT STARTS HERE *
#. -----------------------------------------------------------------
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:24
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:23
#, no-wrap
msgid "NAME"
msgstr "NOM"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:26
msgid ""
"pam_panic - PAM module with panic function to protect sensitive data in "
"emergency situations"
msgstr ""
"pam_panic - Module PAM pour un contrôle d'accès via l'utilisation d'un "
"périphérique amovible (avec une fonction panique)"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:28
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:27
#, no-wrap
msgid "SYNOPSIS"
msgstr "SYNOPSIS"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:31
msgid ""
"B<pam_panic.so> [password] [allow=I<UUID(GPT)>] [reject=I<UUID(GPT)>] "
"[reboot] [poweroff] [serious=I<UUID>]"
msgstr ""
"B<pam_panic.so> [password] [allow=I<UUID(GPT)>] [reject=I<UUID(GPT)>] "
"[reboot] [poweroff] [serious=I<UUID>]"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:33
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:32
#, no-wrap
msgid "DESCRIPTION"
msgstr "DESCRIPTION"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:36
msgid ""
"The pam_panic PAM module protects sensitive data and provides a panic "
"function for emergency situations."
msgstr ""
"Le module PAM pam_panic protège les données sensibles et fournit une "
"fonction de panique pour les situations d'urgence."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:38
msgid "There are two possible options in how to use this PAM module:"
msgstr "Il-y-à deux options possibles pour utiliser ce module PAM:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:41
msgid "First possible option:"
msgstr "Première option possible:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:44
msgid ""
"There are two removable media which work as keys: the auth key and the panic "
"key. The auth key will let you pass to the password prompt whereas the "
"panic key will call the I<panic function>."
msgstr ""
"Il y à deux périphériques amovibles qui fonctionnent comme clé : la clé "
"d'authentification et la clé de panique. La clé d'authentification permet de "
"passer à la demande de mot de passe alors que la clé de panique appellera la "
"I<fonction de panique>."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:47
msgid "See options B<allow> and B<reject>."
msgstr "Voir l'options B<allow> et B<reject>."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:50
msgid "Second possible option:"
msgstr "Seconde option possible:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:52
msgid ""
"There are two passwords: the key password and the panic password. The key "
"password will let you pass to the original password prompt whereas the panic "
"password will call the I<panic function>."
msgstr ""
"Il-y-à deux mots de passe: le mot de pass de clé et celui de panique. Le mot "
"de passe de clé permet de passer a la demande de mot de passe alors que "
"celui de panique appellera la I<fonction de panique>."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:55
msgid "See option B<password>."
msgstr "Voir l'option B<password>."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:60
msgid "The panic function:"
msgstr "La fonction de panique:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:62
msgid ""
"The behaviour of this function is defined through the arguments B<reboot>, "
"B<poweroff> and/or B<serious>. See the B<OPTIONS> section for details."
msgstr ""
"Le comportement de cette fonction est défini via les arguments B<reboot>, "
"B<poweroff> et/ou B<serious>. Voir la section B<OPTIONS> pour plus de "
"détails."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:65
#, no-wrap
msgid "OPTIONS"
msgstr "OPTIONS"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:68
msgid "B<password>"
msgstr "B<password>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:71
msgid ""
"Activates the password function having a panic and key password. If the "
"options B<allow> and B<reject> are provided this option will be ignored."
msgstr ""
"Active la fonction de mot de passe avec un mot de passe de clé et de "
"panique. Si les options options B<allow> et B<reject> sont fournies, cette "
"option sera ignorée."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:74
msgid "These passwords can be set with the B<pam_panic_pw>(1) command."
msgstr ""
"Ces mots de passe peuvent être définis via le programme B<pam_panic_pw>(1)."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:79
msgid "B<allow=>I<UUID(GPT)>"
msgstr "B<allow=>I<UUID(GPT)>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:81
msgid "The UUID of the device to be used for authentication (the auth key)."
msgstr ""
"L'UUID du péripherique à utiliser pour l'authentification (la clé "
"d'authentification)."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:86
#: ../src/pam_panic/man/man8/pam_panic.8:99
msgid ""
"The device must be GPT-formatted and contain at least one partition. The "
"UUID of a GPT-formatted device looks like \"12345678-9ABC-"
"DEF0-1234-56789ABCDEF0\"."
msgstr ""
"Le périphérique doit être formatté en GPT avec au moins une partition. "
"L'UUID du périphérique formatté en GPT ressemble à \"12345678-9ABC-"
"DEF0-1234-56789ABCDEF0\"."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:88
#: ../src/pam_panic/man/man8/pam_panic.8:101
msgid "See B<HOW TO DETERMINE MY UUIDS> for details."
msgstr "Lisez COMMENT DÉTERMINER MES UUIDS pour plus de détails."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:92
msgid "B<reject=>I<UUID(GPT)>"
msgstr "B<reject=>I<UUID(GPT)>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:94
msgid ""
"The UUID of the device to be used in emergencies. The presence of this "
"device will trigger B<reboot>, B<poweroff> and/or the panic function, "
"depending on whether B<reboot>, B<poweroff>, and/or B<serious> are specified."
msgstr ""
"L'UUID du périphérique à utiliser en cas d'urgence. La présence de ce "
"périphérique entrainera un B<reboot>, B<poweroff> et/ou la fonction de "
"panique, selon si B<reboot>, B<poweroff>, et/ou B<serious> sont spécifiés."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:105
msgid "B<reboot> (recommended)"
msgstr "B<reboot> (recommendé)"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:107
msgid ""
"Indicates that the system should reboot when the I<panic function> is "
"triggered."
msgstr ""
"Indique que le système doit redémarrer lorsque la I<fonction panique> est "
"déclenchée."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:110
msgid "This option is recommended."
msgstr "Cette option est recommandée."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:113
msgid "If B<poweroff> is also specified, B<reboot> will be ignored."
msgstr "Si B<poweroff> est aussi spécifié, B<reboot> sera ignoré."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:117
msgid "B<poweroff>"
msgstr "B<poweroff>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:120
msgid ""
"Indicates that the system should shut down when the I<panic function> is "
"triggered. This option is discouraged for security reasons."
msgstr ""
"Indique que le système doit séteindre lorsque la I<fonction de panique> est "
"déclenchée. Cette option est déconseillée pour des raisons de sécurité."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:124
msgid "B<serious=>I<UUID>"
msgstr "B<serious=>I<UUID>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:126
msgid ""
"The UUID of the device containing the LUKS header to erase when the I<panic "
"function> is triggered. Erasing the LUKS header will render the data "
"unreadable."
msgstr ""
"L'UUID du périphérique contenant l'en-tête LUKS à effacer lorsque la "
"I<fonction de panique> est déclenchée. Effacer l'en-tête LUKS rendra les "
"données illisibles."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:129
msgid ""
"The internal command which will be executed is \"B<cryptsetup luksErase "
"[UUID]>\"."
msgstr ""
"La commande interne qui sera exécutée est la suivante: \"B<cryptsetup "
"luksErase [UUID]>\"."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:132
msgid ""
"NOTE: You should make a backup of the LUKS header before using this function."
msgstr ""
"NOTE: Vous devriez faire une sauvegarde de l'entête LUKS avant d'utiliser "
"cette fonction."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:136
#, no-wrap
msgid "USAGE"
msgstr "UTILISATION"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:139
msgid ""
"To activate the module you have to configure PAM. See B<pam.conf(5)> for "
"details."
msgstr ""
"Pour activer ce module vous devez configurer PAM. Lisez B<pam.conf(5)> pour "
"plus de détails."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:141
msgid ""
"In general, you will want to add the following to the top of a PAM "
"configuration file:"
msgstr ""
"En général, vous voudrez ajouter ce qui suit au début du fichier de "
"configuration PAM:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:144
msgid ""
"auth requisite __PAMPANICSO__ auth=E<lt>UUIDE<gt> reject=E<lt>UUIDE<gt> "
"reboot serious=E<lt>UUIDE<gt>"
msgstr ""
"auth requisite __PAMPANICSO__ auth=E<lt>UUIDE<gt> reject=E<lt>UUIDE<gt> "
"reboot serious=E<lt>UUIDE<gt>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:146
#: ../src/pam_panic/man/man8/pam_panic.8:152
msgid "account requisite __PAMPANICSO__"
msgstr "account requisite __PAMPANICSO__"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:148
msgid "Or:"
msgstr "Ou:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:150
msgid "auth requisite __PAMPANICSO__ password reboot serious=E<lt>UUIDE<gt>"
msgstr "auth requisite __PAMPANICSO__ password reboot serious=E<lt>UUIDE<gt>"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:156
#, no-wrap
msgid "HOW TO DETERMINE MY UUIDS"
msgstr "COMMENT DÉTERMINER MES UUIDS"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:160
msgid ""
"You will find your UUIDs in I</dev/disk/by-partuuid>. You might want to "
"execute \"B<ls -l /dev/disk/by-partuuid/>\" in your favourite shell to find "
"out which UUID is which device."
msgstr ""
"Vous trouverz vos UUIDs dans /dev/disk/by-partuuid. Vous voudriez peut-être "
"executer \"ls -l /dev/disk/by-partuuid/\" dans votre shell favoris pour "
"trouver quel UUID correspond à quel périphérique."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:162
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:41
#, no-wrap
msgid "RETURN VALUES"
msgstr "VALEURS DE RETOUR"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:165
msgid "PAM_SUCCESS"
msgstr "PAM_SUCCESS"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:167
msgid "Access was granted."
msgstr "Accès autorisé."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:170
msgid "PAM_IGNORE"
msgstr "PAM_IGNORE"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:172
msgid "An error has occured. The module will be ignored."
msgstr "Une erreur est survenue. Le module sera ignoré."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:175
msgid "PAM_MAXTRIES"
msgstr "PAM_MAXTRIES"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:177
msgid "The removable media was not detected."
msgstr "Le péripherique amovible n'a pas été détécté."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:180
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:59
#, no-wrap
msgid "FILES"
msgstr "FICHIERS"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:183
msgid "__PAMPANICSO__"
msgstr "__PAMPANICSO__"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:185
msgid "This PAM module, which does everything of this above."
msgstr "Ce module PAM."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:188
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:62
msgid "__PAMPANICPW__"
msgstr "__PAMPANICPW__"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:190
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:64
msgid "Program to set and change the passwords."
msgstr "Programme pour configurer les mots de passe."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:193
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:72
#, no-wrap
msgid "BUGS"
msgstr "BUGS"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:196
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:75
msgid ""
"Please report bugs and send pull requests to E<lt>https://github.com/"
"pampanic/pam_panicE<gt>."
msgstr ""
"Veuillez reporter les bugs ou envoyer une demande de correction à "
"E<lt>https://github.com/pampanic/pam_panicE<gt>."
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:198
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:77
#, no-wrap
msgid "SEE ALSO"
msgstr "VOIR AUSSI"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:204
msgid "B<pam_panic_pw>(1), B<cryptsetup>(8), B<pam>(8), B<pam.conf>(5)"
msgstr "B<pam_panic_pw>(1), B<cryptsetup>(8), B<pam>(8), B<pam.conf>(5)"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:206
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:85
#, no-wrap
msgid "AUTHORS"
msgstr "AUTEURS"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:210
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:90
msgid "pam_panic was written by Bandie E<lt>bandie@chaospott.deE<gt>."
msgstr "pam_panic à été écris par Bandie E<lt>bandie@chaospott.deE<gt>."
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:211
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92
msgid ""
"This man page has been revised by Jordy Dickinson E<lt>jordy."
"dickinson@icloud.comE<gt>."
msgstr ""
"La version Française à été traduite par Dashie E<lt>dashie@otter.shE<gt>."
#. type: TH
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9
#, no-wrap
msgid "PAM_PANIC_PW"
msgstr "PAM_PANIC_PW"
#. type: TH
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9
#, no-wrap
msgid "2018-03-31"
msgstr "2018-03-31"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:25
msgid ""
"pam_panic_pw - Set and change the passwords for the B<pam_panic>(8) PAM "
"module."
msgstr ""
"pam_panic_pw - Configurer et changer les mots de passe pour le module PAM "
"B<pam_panic>(8)."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:30
msgid "B<pam_panic_pw>"
msgstr "B<pam_panic_pw>"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:35
msgid "B<pam_panic_pw> sets the passwords for the B<pam_panic>(8) PAM module."
msgstr ""
"B<pam_panic_pw> configure les mots de passe pour le module PAM "
"B<pam_panic>(8)."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:39
msgid ""
"There are two passwords: the \"key password\" and the \"panic password\". "
"The \"key password\" is used for the normal authentication whereas the "
"\"panic password\" will execute the panic function."
msgstr ""
"Il-y-à deux mots de passe: le \"mot de passe de clé\" et le \"mot de passe "
"de panique\". Le \"mot de passe de clé\" est utilisé pour une "
"authentification normale alors que le \"mot de passe de panique\" executera "
"la fonction de panique."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:44
msgid "0"
msgstr "0"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:46
msgid "Passwords set successfully."
msgstr "Mots de passe configurés avec succès."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:49
msgid "1"
msgstr "1"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:51
msgid "Access denied."
msgstr "Accès refusé."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:54
msgid "2"
msgstr "2"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:56
msgid "Could not open the password file."
msgstr "Impossible d'ouvrir le fichier de mots de passe."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:67
msgid "__PPASSFILE__"
msgstr "__PASSFILE__"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:69
msgid "The password file."
msgstr "Le fichier de mots de passe."
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:83
msgid "B<pam_panic>(8), B<cryptsetup>(8), B<pam.conf>(5), B<pam>(8)."
msgstr "B<pam_panic>(8), B<cryptsetup>(8), B<pam.conf>(5), B<pam>(8)."

557
po4a/ja.po Normal file
View File

@ -0,0 +1,557 @@
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Bandie <bandie@chaospott.de>
# This file is distributed under the same license as the pam_panic package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: pam_panic 0.2.0\n"
"Report-Msgid-Bugs-To: Bandie <bandie@chaospott.de>\n"
"POT-Creation-Date: 2018-09-29 16:00+0200\n"
"PO-Revision-Date: 2018-09-29 16:41+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.1.1\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. type: TH
#: ../src/pam_panic/man/man8/pam_panic.8:9
#, no-wrap
msgid "PAM_PANIC"
msgstr "PAM_PANIC"
#. type: TH
#: ../src/pam_panic/man/man8/pam_panic.8:9
#, no-wrap
msgid "2018-03-26"
msgstr "2018-05-31"
#. type: TH
#: ../src/pam_panic/man/man8/pam_panic.8:9
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9
#, no-wrap
msgid "PAM Panic Manual"
msgstr "PAM Panic マニュアル"
#. -----------------------------------------------------------------
#. * MAIN CONTENT STARTS HERE *
#. -----------------------------------------------------------------
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:24
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:23
#, no-wrap
msgid "NAME"
msgstr "名前"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:26
msgid ""
"pam_panic - PAM module with panic function to protect sensitive data in "
"emergency situations"
msgstr "pam_panic - 緊急時に機密データを保護するPAMモジュール"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:28
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:27
#, no-wrap
msgid "SYNOPSIS"
msgstr "概要"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:31
msgid ""
"B<pam_panic.so> [password] [allow=I<UUID(GPT)>] [reject=I<UUID(GPT)>] "
"[reboot] [poweroff] [serious=I<UUID>]"
msgstr ""
"B<pam_panic.so> [password] [allow=I<UUID(GPT)>] [reject=I<UUID(GPT)>] "
"[reboot] [poweroff] [serious=I<UUID>]"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:33
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:32
#, no-wrap
msgid "DESCRIPTION"
msgstr "説明"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:36
msgid ""
"The pam_panic PAM module protects sensitive data and provides a panic "
"function for emergency situations."
msgstr ""
"pam_panic PAMモジュールは、緊急時にデータを保護するためのパニック機能を実装し"
"ます。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:38
msgid "There are two possible options in how to use this PAM module:"
msgstr "このPAMモジュールを使用するには、次の2つの方法があります。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:41
msgid "First possible option:"
msgstr "方法1:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:44
msgid ""
"There are two removable media which work as keys: the auth key and the panic "
"key. The auth key will let you pass to the password prompt whereas the "
"panic key will call the I<panic function>."
msgstr ""
"認証キーとパニックキーの2つのデバイスをキーとして使用します。\n"
"認証キーではパスワード認証をスキップし、パニックキーではパニック機能が起動し"
"ます。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:47
msgid "See options B<allow> and B<reject>."
msgstr "オプションB<allow>とB<reject>を参照してください。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:50
msgid "Second possible option:"
msgstr "方法2:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:52
msgid ""
"There are two passwords: the key password and the panic password. The key "
"password will let you pass to the original password prompt whereas the panic "
"password will call the I<panic function>."
msgstr ""
"パスワードを2つ用意します。認証パスワードとパニックパスワードです。認証パス"
"ワードでは通常通り認証が行われ、パニックパスワードではパニック機能が起動しま"
"す。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:55
msgid "See option B<password>."
msgstr "オプションB<password>を参照してください。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:60
msgid "The panic function:"
msgstr "パニック機能:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:62
msgid ""
"The behaviour of this function is defined through the arguments B<reboot>, "
"B<poweroff> and/or B<serious>. See the B<OPTIONS> section for details."
msgstr ""
"この機能の動作は次の引数によって指定されます: B<reboot>, B<poweroff> または "
"B<serious> 。詳細については、 B<オプション> セクションを確認してください。"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:65
#, no-wrap
msgid "OPTIONS"
msgstr "オプション"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:68
msgid "B<password>"
msgstr "B<password>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:71
msgid ""
"Activates the password function having a panic and key password. If the "
"options B<allow> and B<reject> are provided this option will be ignored."
msgstr ""
"パスワードを認証に使用します。 引数に B<allow> と B<reject> が指定されている"
"場合、このオプションは無視されます。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:74
msgid "These passwords can be set with the B<pam_panic_pw>(1) command."
msgstr "パスワードは B<pam_panic_pw>(1) コマンドによって指定できます。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:79
msgid "B<allow=>I<UUID(GPT)>"
msgstr "B<allow=>I<UUID(GPT)>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:81
msgid "The UUID of the device to be used for authentication (the auth key)."
msgstr "デバイスのUUIDを認証に使用します。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:86
#: ../src/pam_panic/man/man8/pam_panic.8:99
msgid ""
"The device must be GPT-formatted and contain at least one partition. The "
"UUID of a GPT-formatted device looks like \"12345678-9ABC-"
"DEF0-1234-56789ABCDEF0\"."
msgstr ""
"デバイスはGPTでフォーマットされている必要があり、最低1つのパーティションを含"
"んでいる\n"
"必要があります。GPTでフォーマットされたデバイスのUUIDは次のようになります: "
"\"12345678-9ABC-DEF0-1234-56789ABCDEF0\"。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:88
#: ../src/pam_panic/man/man8/pam_panic.8:101
msgid "See B<HOW TO DETERMINE MY UUIDS> for details."
msgstr "詳細については B<UUIDを調べる方法> を確認してください。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:92
msgid "B<reject=>I<UUID(GPT)>"
msgstr "B<reject=>I<UUID(GPT)>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:94
msgid ""
"The UUID of the device to be used in emergencies. The presence of this "
"device will trigger B<reboot>, B<poweroff> and/or the panic function, "
"depending on whether B<reboot>, B<poweroff>, and/or B<serious> are specified."
msgstr ""
"緊急時に使用するデバイスのUUIDを指定します。このデバイスが存在する場合、"
"B<reboot>, B<poweroff> またはパニック機能が発動します。 パニック機能は "
"B<reboot>, B<poweroff>, B<serious> のうち、いずれか1つ以上で指定されます。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:105
msgid "B<reboot> (recommended)"
msgstr "B<reboot> (推奨)"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:107
msgid ""
"Indicates that the system should reboot when the I<panic function> is "
"triggered."
msgstr "I<パニック機能>が起動したときにシステムが再起動することを示します。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:110
msgid "This option is recommended."
msgstr "このオプションが推奨されます。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:113
msgid "If B<poweroff> is also specified, B<reboot> will be ignored."
msgstr "B<poweroff> が同時に指定されている場合、 B<reboot> は無視されます。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:117
msgid "B<poweroff>"
msgstr "B<poweroff>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:120
msgid ""
"Indicates that the system should shut down when the I<panic function> is "
"triggered. This option is discouraged for security reasons."
msgstr ""
"I<パニック機能>が起動したときにシステムがシャットダウンすることを示します。 "
"セキュリティ上の理由から、このオプションはお勧めできません。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:124
msgid "B<serious=>I<UUID>"
msgstr "B<serious=>I<UUID>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:126
msgid ""
"The UUID of the device containing the LUKS header to erase when the I<panic "
"function> is triggered. Erasing the LUKS header will render the data "
"unreadable."
msgstr ""
"LUKSヘッダーを消去するための鍵となるデバイスのUUIDを指定しますLUKSヘッダーを"
"消去した場合、データは復元できなくなります。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:129
msgid ""
"The internal command which will be executed is \"B<cryptsetup luksErase "
"[UUID]>\"."
msgstr "実行される内部コマンドは \"B<cryptsetup luksErase [UUID]>\"です。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:132
msgid ""
"NOTE: You should make a backup of the LUKS header before using this function."
msgstr ""
"注意: この機能を使用する前に、LUKSヘッダーをバックアップしておくことをおすす"
"めします。"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:136
#, no-wrap
msgid "USAGE"
msgstr "使用法"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:139
msgid ""
"To activate the module you have to configure PAM. See B<pam.conf(5)> for "
"details."
msgstr ""
"ジュールを使用するためには、PAMを設定する必要があります。詳細については、\n"
"B<pam.conf(5)> を参照してください。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:141
msgid ""
"In general, you will want to add the following to the top of a PAM "
"configuration file:"
msgstr "多くの場合、PAM設定ファイルの先頭に次の内容を設定するばあいです。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:144
msgid ""
"auth requisite __PAMPANICSO__ auth=E<lt>UUIDE<gt> reject=E<lt>UUIDE<gt> "
"reboot serious=E<lt>UUIDE<gt>"
msgstr ""
"auth requisite __PAMPANICSO__ auth=E<lt>UUIDE<gt> reject=E<lt>UUIDE<gt> "
"reboot serious=E<lt>UUIDE<gt>"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:146
#: ../src/pam_panic/man/man8/pam_panic.8:152
msgid "account requisite __PAMPANICSO__"
msgstr "account requisite __PAMPANICSO__"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:148
msgid "Or:"
msgstr "または:"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:150
msgid "auth requisite __PAMPANICSO__ password reboot serious=E<lt>UUIDE<gt>"
msgstr "auth requisite __PAMPANICSO__ password reboot serious=E<lt>UUIDE<gt>"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:156
#, no-wrap
msgid "HOW TO DETERMINE MY UUIDS"
msgstr "UUIDを調べる方法"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:160
msgid ""
"You will find your UUIDs in I</dev/disk/by-partuuid>. You might want to "
"execute \"B<ls -l /dev/disk/by-partuuid/>\" in your favourite shell to find "
"out which UUID is which device."
msgstr ""
"/dev/disk/by-partuuid でUUIDを調べることができます。 \"ls -l /dev/disk/by-"
"partuuid/\"\n"
"を任意のシェルで実行して、どのデバイスがどのUUIDかを調べる必要があるかもしれ"
"ません。"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:162
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:41
#, no-wrap
msgid "RETURN VALUES"
msgstr "返り値"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:165
msgid "PAM_SUCCESS"
msgstr "PAM_SUCCESS"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:167
msgid "Access was granted."
msgstr "アクセスは許可されました。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:170
msgid "PAM_IGNORE"
msgstr "PAM_IGNORE"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:172
msgid "An error has occured. The module will be ignored."
msgstr "エラーが発生しました。モジュールは無視されます。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:175
msgid "PAM_MAXTRIES"
msgstr "PAM_MAXTRIES"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:177
msgid "The removable media was not detected."
msgstr "リムーバブルメディアが検知されませんでした。"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:180
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:59
#, no-wrap
msgid "FILES"
msgstr "ファイル"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:183
msgid "__PAMPANICSO__"
msgstr "__PAMPANICSO__"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:185
msgid "This PAM module, which does everything of this above."
msgstr "このPAMモジュールです。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:188
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:62
msgid "__PAMPANICPW__"
msgstr "__PAMPANICPW__"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:190
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:64
msgid "Program to set and change the passwords."
msgstr "パスワードの設定および変更を行うためのプログラムです。"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:193
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:72
#, no-wrap
msgid "BUGS"
msgstr "バグ報告"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:196
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:75
msgid ""
"Please report bugs and send pull requests to E<lt>https://github.com/"
"pampanic/pam_panicE<gt>."
msgstr ""
"E<lt>https://github.com/pampanic/pam_panicE<gt> で、バグの報告やプルリクエス"
"トを行ってください。"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:198
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:77
#, no-wrap
msgid "SEE ALSO"
msgstr "関連項目"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:204
msgid "B<pam_panic_pw>(1), B<cryptsetup>(8), B<pam>(8), B<pam.conf>(5)"
msgstr "B<pam_panic_pw>(1), B<cryptsetup>(8), B<pam>(8), B<pam.conf>(5)"
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:206
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:85
#, no-wrap
msgid "AUTHORS"
msgstr "著者"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:210
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:90
msgid "pam_panic was written by Bandie E<lt>bandie@chaospott.deE<gt>."
msgstr ""
"pam_panic は Bandie E<lt>bandie@chaospott.deE<gt> によって作成されました。"
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:211
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92
msgid ""
"This man page has been revised by Jordy Dickinson E<lt>jordy."
"dickinson@icloud.comE<gt>."
msgstr ""
"この翻訳は Chromium Neptune E<lt>chromium@neplanet.comE<gt> によって作成され"
"ています。"
#. type: TH
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9
#, no-wrap
msgid "PAM_PANIC_PW"
msgstr "PAM_PANIC_PW"
#. type: TH
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9
#, no-wrap
msgid "2018-03-31"
msgstr "2018-05-31"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:25
msgid ""
"pam_panic_pw - Set and change the passwords for the B<pam_panic>(8) PAM "
"module."
msgstr ""
"pam_panic_pw - B<pam_panic>(8) PAM モジュールで使用するパスワードの設定と変更"
"を行う。"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:30
msgid "B<pam_panic_pw>"
msgstr "B<pam_panic_pw>"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:35
msgid "B<pam_panic_pw> sets the passwords for the B<pam_panic>(8) PAM module."
msgstr ""
"B<pam_panic_pw> は B<pam_panic>(8) PAM\n"
" モジュールで使用するパスワードの設定および変更を行います。"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:39
msgid ""
"There are two passwords: the \"key password\" and the \"panic password\". "
"The \"key password\" is used for the normal authentication whereas the "
"\"panic password\" will execute the panic function."
msgstr ""
"認証パスワードとパニックパスワードの2つのパスワードを用意します。\n"
"認証パスワードは、通常の認証に使用します。\n"
"パニックパスワードは、パニック機能の発動に使用します。"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:44
msgid "0"
msgstr "0"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:46
msgid "Passwords set successfully."
msgstr "パスワードは正しく設定されました。"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:49
msgid "1"
msgstr "1"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:51
msgid "Access denied."
msgstr "アクセスが拒否されました。"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:54
msgid "2"
msgstr "2"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:56
msgid "Could not open the password file."
msgstr "パスワードファイルを開けません。"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:67
msgid "__PPASSFILE__"
msgstr "__PPASSFILE__"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:69
msgid "The password file."
msgstr "パスワードファイルです。"
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:83
msgid "B<pam_panic>(8), B<cryptsetup>(8), B<pam.conf>(5), B<pam>(8)."
msgstr "B<pam_panic>(8), B<cryptsetup>(8), B<pam.conf>(5), B<pam>(8)."

494
po4a/pam_panic.pot Normal file
View File

@ -0,0 +1,494 @@
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Bandie <bandie@chaospott.de>
# This file is distributed under the same license as the pam_panic package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: pam_panic 0.2.0\n"
"Report-Msgid-Bugs-To: Bandie <bandie@chaospott.de>\n"
"POT-Creation-Date: 2018-09-29 16:00+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#. type: TH
#: ../src/pam_panic/man/man8/pam_panic.8:9
#, no-wrap
msgid "PAM_PANIC"
msgstr ""
#. type: TH
#: ../src/pam_panic/man/man8/pam_panic.8:9
#, no-wrap
msgid "2018-03-26"
msgstr ""
#. type: TH
#: ../src/pam_panic/man/man8/pam_panic.8:9 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9
#, no-wrap
msgid "PAM Panic Manual"
msgstr ""
#. -----------------------------------------------------------------
#. * MAIN CONTENT STARTS HERE *
#. -----------------------------------------------------------------
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:24 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:23
#, no-wrap
msgid "NAME"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:26
msgid ""
"pam_panic - PAM module with panic function to protect sensitive data in "
"emergency situations"
msgstr ""
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:28 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:27
#, no-wrap
msgid "SYNOPSIS"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:31
msgid ""
"B<pam_panic.so> [password] [allow=I<UUID(GPT)>] [reject=I<UUID(GPT)>] "
"[reboot] [poweroff] [serious=I<UUID>]"
msgstr ""
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:33 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:32
#, no-wrap
msgid "DESCRIPTION"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:36
msgid ""
"The pam_panic PAM module protects sensitive data and provides a panic "
"function for emergency situations."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:38
msgid "There are two possible options in how to use this PAM module:"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:41
msgid "First possible option:"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:44
msgid ""
"There are two removable media which work as keys: the auth key and the panic "
"key. The auth key will let you pass to the password prompt whereas the "
"panic key will call the I<panic function>."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:47
msgid "See options B<allow> and B<reject>."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:50
msgid "Second possible option:"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:52
msgid ""
"There are two passwords: the key password and the panic password. The key "
"password will let you pass to the original password prompt whereas the panic "
"password will call the I<panic function>."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:55
msgid "See option B<password>."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:60
msgid "The panic function:"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:62
msgid ""
"The behaviour of this function is defined through the arguments B<reboot>, "
"B<poweroff> and/or B<serious>. See the B<OPTIONS> section for details."
msgstr ""
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:65
#, no-wrap
msgid "OPTIONS"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:68
msgid "B<password>"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:71
msgid ""
"Activates the password function having a panic and key password. If the "
"options B<allow> and B<reject> are provided this option will be ignored."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:74
msgid "These passwords can be set with the B<pam_panic_pw>(1) command."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:79
msgid "B<allow=>I<UUID(GPT)>"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:81
msgid "The UUID of the device to be used for authentication (the auth key)."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:86 ../src/pam_panic/man/man8/pam_panic.8:99
msgid ""
"The device must be GPT-formatted and contain at least one partition. The "
"UUID of a GPT-formatted device looks like "
"\"12345678-9ABC-DEF0-1234-56789ABCDEF0\"."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:88 ../src/pam_panic/man/man8/pam_panic.8:101
msgid "See B<HOW TO DETERMINE MY UUIDS> for details."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:92
msgid "B<reject=>I<UUID(GPT)>"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:94
msgid ""
"The UUID of the device to be used in emergencies. The presence of this "
"device will trigger B<reboot>, B<poweroff> and/or the panic function, "
"depending on whether B<reboot>, B<poweroff>, and/or B<serious> are "
"specified."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:105
msgid "B<reboot> (recommended)"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:107
msgid ""
"Indicates that the system should reboot when the I<panic function> is "
"triggered."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:110
msgid "This option is recommended."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:113
msgid "If B<poweroff> is also specified, B<reboot> will be ignored."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:117
msgid "B<poweroff>"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:120
msgid ""
"Indicates that the system should shut down when the I<panic function> is "
"triggered. This option is discouraged for security reasons."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:124
msgid "B<serious=>I<UUID>"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:126
msgid ""
"The UUID of the device containing the LUKS header to erase when the I<panic "
"function> is triggered. Erasing the LUKS header will render the data "
"unreadable."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:129
msgid ""
"The internal command which will be executed is \"B<cryptsetup luksErase "
"[UUID]>\"."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:132
msgid ""
"NOTE: You should make a backup of the LUKS header before using this "
"function."
msgstr ""
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:136
#, no-wrap
msgid "USAGE"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:139
msgid ""
"To activate the module you have to configure PAM. See B<pam.conf(5)> for "
"details."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:141
msgid ""
"In general, you will want to add the following to the top of a PAM "
"configuration file:"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:144
msgid ""
"auth requisite __PAMPANICSO__ auth=E<lt>UUIDE<gt> reject=E<lt>UUIDE<gt> "
"reboot serious=E<lt>UUIDE<gt>"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:146 ../src/pam_panic/man/man8/pam_panic.8:152
msgid "account requisite __PAMPANICSO__"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:148
msgid "Or:"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:150
msgid "auth requisite __PAMPANICSO__ password reboot serious=E<lt>UUIDE<gt>"
msgstr ""
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:156
#, no-wrap
msgid "HOW TO DETERMINE MY UUIDS"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:160
msgid ""
"You will find your UUIDs in I</dev/disk/by-partuuid>. You might want to "
"execute \"B<ls -l /dev/disk/by-partuuid/>\" in your favourite shell to find "
"out which UUID is which device."
msgstr ""
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:162 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:41
#, no-wrap
msgid "RETURN VALUES"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:165
msgid "PAM_SUCCESS"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:167
msgid "Access was granted."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:170
msgid "PAM_IGNORE"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:172
msgid "An error has occured. The module will be ignored."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:175
msgid "PAM_MAXTRIES"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:177
msgid "The removable media was not detected."
msgstr ""
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:180 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:59
#, no-wrap
msgid "FILES"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:183
msgid "__PAMPANICSO__"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:185
msgid "This PAM module, which does everything of this above."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:188 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:62
msgid "__PAMPANICPW__"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:190 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:64
msgid "Program to set and change the passwords."
msgstr ""
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:193 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:72
#, no-wrap
msgid "BUGS"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:196 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:75
msgid ""
"Please report bugs and send pull requests to "
"E<lt>https://github.com/pampanic/pam_panicE<gt>."
msgstr ""
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:198 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:77
#, no-wrap
msgid "SEE ALSO"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:204
msgid "B<pam_panic_pw>(1), B<cryptsetup>(8), B<pam>(8), B<pam.conf>(5)"
msgstr ""
#. type: SH
#: ../src/pam_panic/man/man8/pam_panic.8:206 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:85
#, no-wrap
msgid "AUTHORS"
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:210 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:90
msgid "pam_panic was written by Bandie E<lt>bandie@chaospott.deE<gt>."
msgstr ""
#. type: Plain text
#: ../src/pam_panic/man/man8/pam_panic.8:211 ../src/pam_panic_pw/man/man1/pam_panic_pw.1:92
msgid ""
"This man page has been revised by Jordy Dickinson "
"E<lt>jordy.dickinson@icloud.comE<gt>."
msgstr ""
#. type: TH
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9
#, no-wrap
msgid "PAM_PANIC_PW"
msgstr ""
#. type: TH
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:9
#, no-wrap
msgid "2018-03-31"
msgstr ""
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:25
msgid ""
"pam_panic_pw - Set and change the passwords for the B<pam_panic>(8) PAM "
"module."
msgstr ""
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:30
msgid "B<pam_panic_pw>"
msgstr ""
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:35
msgid "B<pam_panic_pw> sets the passwords for the B<pam_panic>(8) PAM module."
msgstr ""
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:39
msgid ""
"There are two passwords: the \"key password\" and the \"panic password\". "
"The \"key password\" is used for the normal authentication whereas the "
"\"panic password\" will execute the panic function."
msgstr ""
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:44
msgid "0"
msgstr ""
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:46
msgid "Passwords set successfully."
msgstr ""
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:49
msgid "1"
msgstr ""
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:51
msgid "Access denied."
msgstr ""
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:54
msgid "2"
msgstr ""
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:56
msgid "Could not open the password file."
msgstr ""
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:67
msgid "__PPASSFILE__"
msgstr ""
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:69
msgid "The password file."
msgstr ""
#. type: Plain text
#: ../src/pam_panic_pw/man/man1/pam_panic_pw.1:83
msgid "B<pam_panic>(8), B<cryptsetup>(8), B<pam.conf>(5), B<pam>(8)."
msgstr ""

8
po4a/po4a.cfg Normal file
View File

@ -0,0 +1,8 @@
[options] opt:"--copyright-holder 'Bandie <bandie@chaospott.de>' --package-name 'pam_panic' --msgid-bugs-address 'Bandie <bandie@chaospott.de>' --package-version '0.2.0'"
[po_directory] .
[type: man] ../src/pam_panic/man/man8/pam_panic.8 $lang:../src/pam_panic/man/$lang/man8/pam_panic.8
[type: man] ../src/pam_panic_pw/man/man1/pam_panic_pw.1 $lang:../src/pam_panic_pw/man/$lang/man1/pam_panic_pw.1

View File

@ -3,6 +3,8 @@ SUBDIRS = man
securelibdir = $(SECUREDIR)
securelibexecdir = $(securelibdir)
AM_CFLAGS = -DLOCALEDIR='"$(localedir)"'
securelibexec_LTLIBRARIES = pam_panic.la
pam_panic_la_SOURCES = \
pam_panic.c \

View File

@ -10,7 +10,9 @@ nobase_dist_cant_believe_its_not_man_DATA = \
%.gz: %
{ sldr=$$(echo "$(securelibdir)" | $(SED) 's/\//\\\//g') ; bdr=$$(echo "$(bindir)" | $(SED) 's/\//\\\//g') ; $(SED) "s/__PAMPANICSO__/$$sldr\/pam_panic\\\\\&.so/; s/__PAMPANICPW__/$$bdr\/pam_panic_pw/" $< >$<.tmp ; }
gzip -c $<.tmp >$@
rm $<.tmp
clean-local:
rm ./*/*.tmp ./*/*.gz ./*/*/*.tmp ./*/*/*.gz
$(RM) ./*/*.gz
$(FIND) . -type d -not -name man8 -not -path . -exec rm -rf {} +

View File

@ -1,209 +0,0 @@
'\" t
.\" Title: pam_panic
.\" Author: [see the "AUTHORS" section]
.\" Date: 2018-03-31
.\" Manual: PAM Panic Manual
.\" Source: PAM Panic Manual
.\" Language: German
.\"
.TH "PAM_PANIC" "8" "2018-03-31" "PAM Panic Handbuch" "PAM Panic Handbuch"
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
pam_panic \- PAM-Modul mit Panik-Funktion zum Sch\(:utzen von wichtigen Daten in Notsituationen
.SH "\(:UBERSICHT"
.HP \w'\fBpam_panic\&.so\fR\ 'u
\fBpam_panic\&.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR]
.SH "BESCHREIBUNG"
.PP
Das pam_panic PAM Modul wurde mit dem Hintergedanken entwickelt, Personen mit wichtigen Daten zu sch\(:utzen\&. Es bietet eine Panik-Funktion\&.
.PP
Es gibt zwei M\(:oglichkeiten der Verwendung:
.PD 0
.PP
Erste M\(:oglichkeit:
.RS 2
Man verwendet zwei Wecheldatentr\(:ager, die als Schl\(:ussel dienen\&.
Hierbei funktioniert eines als Authentifizierungsschl\(:ussel und eines als Panikschl\(:ussel\&.
Der Panikschl\(:ussel f\(:uhrt die \fIPanikfunktion\fR aus\&.
.PD 0
.PP
Siehe dazu die Optionen \fBallow\fR und \fBreject\fR\&.
.RE
.PP
Zweite M\(:oglichkeit:
.RS 2
Man verwendet zwei Passw\(:orter, die als Schl\(:ussel dienen\&.
Dabei wird ein Schl\(:usselpasswort (Key password) und ein Panikpasswort (Panic password) festgelegt\&.
Das Panikpasswort wird hierbei die \fIPanikfunktion\fR aufrufen\&.
.PD 0
.PP
Siehe dazu die Option \fBpassword\fR\&.
.RE
.PD 1
.PP
Die Panikfunktion:
.RS 2
Das Verhalten der Panikfunktion wird durch die Argumente \fBreboot\fR, \fBpoweroff\fR und/oder \fBserious\fR definiert\&.
.RE
.SH "OPTIONEN"
.PP
\fBpassword\fR
.RS 4
Diese Option aktiviert die Passwortfunktion mit einem Panikpasswort und einem Schl\(:usselpasswort. Wenn \fBallow\fR und \fBreject\fR gesetzt sind, wird diese Option ignoriert.
.PD 0
.PP
.PD 1
Um die Passw\(:orter zu setzen steht das Programm \fBpam_panic_pw\fR(1) zur Verf\(:ugung.
.RE
.PP
\fBallow=\fR\fB\fIUUID(GPT)\fR\fR
.RS 4
Diese Ger\(:ate-UUID wird zur Authentifizierung benutzt (Authentifierungsschl\(:ussel)\&.
.PD 0
.PP
.PD 1
Es ist notwendig, dass ein GPT-formatierter Wecheldatentr\(:ager mit mindestens einer Partition benutzt wird\&.
Die UUID eines GPT-formatierten Ger\(:ates sieht beispielsweise so aus: "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&.
.PP
Weitere Informationen im Abschnitt \fBWIE BESTIMME ICH MEINE UUIDS\fR\&.
.RE
.PP
\fBreject=\fR\fB\fIUUID(GPT)\fR\fR
.RS 4
Diese Ger\(:ate-UUID wird \fBreboot\fR, \fBpoweroff\fR und/oder die Panik-Funktion \fBserious\fR, sofern als Argument angegeben, aufrufen\& (Panikschl\(:ussel).
.PD 0
.PP
.PD 1
Es ist notwendig, dass ein GPT-formatierter Wecheldatentr\(:ager mit mindestens einer Partition benutzt wird\&.
Die UUID eines GPT-formatierten Ger\(:ates sieht beispielsweise so aus: "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&.
.PP
Weitere Informationen im Abschnitt \fBWIE BESTIMME ICH MEINE UUIDS\fR\&.
.RE
.PP
\fBreboot\fR (empfohlen)
.RS 4
Wenn dieses Argument angegeben wird, wird das System neu gestartet, sobald der Wecheldatentr\(:ager mit der UUID des Arguments \fBreject=UUID(GPT)\fR eingelegt wurde\&.
Diese Option wird empfohlen\&.
.PP
Wenn \fBpoweroff\fR ebenfalls als Argument angegeben wird, wird \fBreboot\fR ignoriert\&.
.RE
.PP
\fBpoweroff\fR
.RS 4
Wenn dieses Argument angegeben wird, wird das System heruntergefahren, sobald der Wecheldatentr\(:ager mit der UUID des Arguments \fBreject=UUID(GPT)\fR eingelegt wurde\&.
Aus Sicherheitsgr\(:unden wird von dieser Option abgeraten\&.
.RE
.PP
\fBserious=\fR\fB\fIUUID\fR\fR
.RS 4
Die Ger\(:ate-UUID, dessen luksHeaders zerst\(:ort werden w\(:urde, sobald der Wecheldatentr\(:ager mit der UUID des Arguments \fBreject=UUID(GPT)\fR eingelegt wurde\&.
Das hei\(sst, dass die Daten auf den in den Optionen angegebenen Datentr\(:ager f\(:ur niemanden mehr lesbar sein werden\&.
.PD 0
.PP
Intern wird das Programm "\fBcryptsetup luksErase [UUID]\fR" ausgef\(:uhrt\&.
.PD 1
.PP
(Eine Erinnerung daran, ein luksHeader-Backup zu machen bevor diese Funktion benutzt wird.\&.)
.RE
.PP
.SH "ANWENDUNG"
.PP
Um das Modul zu aktivieren, muss PAM konfiguriert werden\&. Siehe dazu \fBpam\&.conf(5)\fR\&.
.PP
Man f\(:uge folgende beispielhafte Zeilen am Anfang einer Konfigurationsdatei hinzu:
.PD 0
.RS 4
auth requisite __PAMPANICSO__ auth=<UUID> reject=<UUID> reboot serious=<UUID>
.PP
account requisite __PAMPANICSO__
.RE
Oder auch:
.RS 4
auth requisite __PAMPANICSO__ password reboot serious=<UUID>
.PP
account requisite __PAMPANICSO__
.RE
.PD 1
.SH "WIE BESTIMME ICH MEINE UUIDS"
.PP
Die UUIDs k\(:onnen unter \fI/dev/disk/by-partuuid\fR gefunden werden\&.
Um nachvollziehen zu k\(:onnen, welcher Wecheldatentr\(:ager welches ist, ist es ratsam "\fBls -l /dev/disk/by-partuuid/\fR" in der Lieblingsshell auszuf\(:uhren\&.
.SH "R\(:UCKGABEWERTE"
.PP
PAM_SUCCESS
.RS 4
Zugriff wurde gew\(:ahrt\&.
.RE
.PP
PAM_IGNORE
.RS 4
Ein Fehler ist aufgetreten\&. Dieses Modul wird ignoriert\&.
.RE
.PP
PAM_MAXTRIES
.RS 4
Der Wecheldatentr\(:ager wurde nicht erkannt\&.
.RE
.SH "DATEIEN"
.PP
__PAMPANICSO__
.RS 4
Shared object-Datei, die f\(:ur alles zust\(:andig ist\&.
.RE
.PP
__PAMPANICPW__
.RS 4
Programm zum Setzen und Ver\(:andern der Passw\(:orter\&.
.RE
.SH "BUGS"
.PP
Fehlerberichte (m\(:oglichst auf Englisch) und Codeverbesserungen k\(:onnen hier eingereicht werden: <https://github\&.com/pampanic/pam_panic>
.SH "SIEHE AUCH"
.PP
\fBpam_panic_pw\fR(1),
\fBcryptsetup\fR(8),
\fBpam\&.conf\fR(5),
\fBpam\fR(8)\&.
.SH "AUTOREN"
.PD 0
.PP
Dieses pam_panic PAM Modul wurde durch Bandie <bandie@chaospott\&.de> entwickelt\&.

View File

@ -1,187 +0,0 @@
'\" t
.\" Title: pam_panic
.\" Author: [vea la secci\('on "AUTORES"]
.\" Date: 2018-03-28
.\" Manual: Linux-PAM Panic Manual
.\" Source: Linux-PAM Panic Manual
.\" Language: Spanish
.\"
.TH "PAM_PANIC" "8" "2018-03-28" "PAM Panic Manual" "PAM Panic Manual"
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NOMBRE"
pam_panic \- un m\('odulo de PAM para controlar acceso usando media removible (con funci\('on p\('anica)
.SH "SINOPSIS"
.HP \w'\fBpam_panic\&.so\fR\ 'u
\fBpam_panic\&.so\fR [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR]
.SH "DESCRIPCI\('ON"
.PP
El m\('odulo pam_panic protege los datos delicados y proporci\('ona una funci\('on p\('anica para emergencias\&.
.PP
Hay dos opciones posibles para utilizar este modulo de PAM:
.PD 0
.PP
Primera opci\('on posible:
.RS 2
Hay dos medias removibles que est\('an usando como claves: La clave de autenticaci\('on y la clave de p\('anico\&.
La clave para autenticaci\('on se permite ingresar su contrase\(~na mientras la clave para p\('anico va a llamar la funci\('on de p\('anico.
.RE
Segunda opci\('on posible:
.RS 2
Hay dos contrase\(~nas: La contrase\(~na para autenticaci\('on y la contrase\(~na de p\('anico. La contrasen\(~na clave le permitir\('a pasar al mensaje de contrasen\(~na original, mientras que la contrasen\(~na de p\('anico llamar\('a a la funci\('on de p\('anico.
.RE
.PD 1
.PP
La funci\('on de p\('anico:
.RS 2
El comportamiento de esta función se define a través de los argumentos \fBreboot\fR, \fBpoweroff\fR o \fBserious\fR\&. Vea la secci\('on de \fBOPCI\('ONES\fR para m\('as detalles\&.
.RE
.SH "OPCI\('ONES"
.PP
\fBpassword\fR
.RS 4
Activa la funci\('on de contrase\(~a con p\('anico y contrase\(~na clave\&.
Si las opciones \fBpermitir\fR y \fBrechazar\fR son provistas esta opci\('on ser\('a ignorada\&.
.PD 0
.PP
Estas contraseñas se pueden configurar con el comando \fBpam_panic_pw\fR(1)\&.
.RE
.PD 1
.PP
\fBallow=\fR\fB\fIUUID(GPT)\fR\fR (necesario)
.RS 4
Es el UUID del dispositivo para autenticaci\('on.
.PD 0
.PP
.PD 1
El dispositivo debe estar formateado por GPT y contener al menos una partici\('on\&.
El UUID de un dispositivo se ve como \[Fo]12345678-9ABC-DEF0-1234-56789ABCDEF0\[Fc]\&.
.PP
Vea \fBC\('OMO DETERMINAR MIS UUIDS\fR para detalles\&.
.RE
.PP
\fBreject=\fR\fB\fIUUID(GPT)\fR\fR (necesario)
.RS 4
Es el UUID del dispositivo para emergencias. Cuando este dispositivo est\('a presente, se disparar\('a un reinicio, un apagado, y / o la funci\('on p\('anica, seg\('un si \fBreboot\fR, \fBpoweroff\fR, y / o \fBserious\fR han sido especificados.
.PD 0
.PP
.PD 1
El dispositivo debe estar formateado por GPT y contener al menos una partici\('on\&.
El UUID de un dispositivo se ve como \[Fo]12345678-9ABC-DEF0-1234-56789ABCDEF0\[Fc]\&.
.PP
Vea \fBC\('OMO DETERMINAR MIS UUIDS\fR para detalles\&.
.RE
.PP
\fBreboot\fR (recomendado)
.RS 4
Indica que la sistema debe reiniciarse cuando se encontra el dispositivo especificado por \fBreject\fR\&.
.PP
Si \fBpoweroff\fR est\('a especificado tambi\('en, \fBreboot\fR estar\('a ignorado\&.
.RE
.PP
\fBpoweroff\fR
.RS 4
Indica que la sistema debe apagarse cuando se encontra el dispositivo especificado por \fBreject\fR\&.
Esta opci\('on no se recomienda por razones de seguridad\&.
.RE
.PP
\fBserious=\fR\fB\fIUUID\fR\fR
.RS 4
Es el UUID del dispositivo que contene el encabezamiento de LUKS que estar\('a borrado cuando encuentra el dispositivo especificado por \fBreject\fR\&.
.PP
NOTA: Se deberi\('a hacer una copia del encabezamiento de LUKS antes de usar esta funci\('on.
.RE
.PP
.SH "USAR"
.PP
Para activar el m\('odulo se tiene que configurar PAM\&. Vea \fBpam\&.conf(5)\fR para detalles\&.
.PP
En general, se necesita agregar lo siguiente al comienzo de un archivo de configuraci\('on PAM:
.PD 0
.RS 4
auth requisite __PAMPANICSO__ auth=<UUID> reject=<UUID> reboot serious=<UUID>
.PP
account requisite __PAMPANICSO__
.RE
Or:
.RS 4
auth requisite __PAMPANICSO__ password reboot serious=<UUID>
.PP
account requisite __PAMPANICSO__
.RE
.PD 1
.SH "C\('OMO DETERMINAR MIS UUIDS"
.PP
Se puede encontrar sus UUIDs en \fI/dev/disk/by-partuuid\fR\&.
Es posible que desee ejecutar \[Fo]\fBls -l /dev/disk/by-partuuid\fR\[Fc] en su shell favorito para encontrar cu\('al UUID es su dispositivo\&.
.SH "VALORES DE RETORNO"
.PP
PAM_SUCCESS
.RS 4
Indica que acceso fue permitido\&.
.RE
.PP
PAM_IGNORE
.RS 4
Indica que se ha producido un error\&. El m\('odulo estar\('a ignorado.
.RE
.PP
PAM_MAXTRIES
.RS 4
El media removible no fue detectados\&.
.RE
.SH "ARCHIVOS"
.PP
__PAMPANICSO__
.RS 4
Este m\('odulo PAM\&.
.RE
.PP
__PAMPANICPW__
.RS 4
Cambiador de contraseña
.RE
.SH "ERRORES"
.PP
Por favor reportar errores y enviar pull requests a <https://github\&.com/pampanic/pam_panic>\&.
.SH "VER TAMBI\('EN"
.PP
\fBcryptsetup\fR(8), \fBpam\fR(8), \fBpam\&.conf\fR(5)
.SH "AUTORES"
.PD 0
.PP
pam_panic fue escrito por Bandie <bandie@chaospott\&.de>\&.
.PP
Este p\('agina man fue traducido al espa\(~nol por Jordy Dickinson <jordy\&.dickinson@icloud\&.com> y dangered wolf <d@ngeredwolf\&.me>\&.

View File

@ -1,198 +0,0 @@
'\" t
.\" Title: pam_panic
.\" Author: [see the "AUTEURS" section]
.\" Date: 2018-03-28
.\" Manual: Linux-PAM Panic Manual
.\" Source: Linux-PAM Panic Manual
.\" Language: French
.\"
.TH "PAM_PANIC" "8" "2018-03-26" "Manuel de PAM Panic" "Manuel de PAM Panic"
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NOM"
pam_panic \- Module PAM pour un contrôle d'accès via l'utilisation d'un périphérique amovible (avec une fonction panique)
.SH "SYNOPSIS"
.HP \w'\fBpam_panic\&.so\fR\ 'u
\fBpam_panic\&.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR]
.SH "DESCRIPTION"
.PP
Le module PAM pam_panic protège les données sensibles et fournit une fonction de panique pour les situations d'urgence\&.
.PP
Il-y-à deux options possibles pour utiliser ce module PAM:
.PD 0
.PP
Première option possible:
.RS 2
Il y à deux périphériques amovibles qui fonctionnent comme clé : la clé d'authentification et la clé de panique\&.
La clé d'authentification permet de passer à la demande de mot de passe alors que la clé de panique appellera la fonction de panique\&.
.RE
Seconde option possible:
.RS 2
Il-y-à deux mots de passe: le mot de pass de clé et celui de panique\&. Le mot de passe de clé permet de passer a la demande de mot de passe alors que celui de panique appellera la fonction de panique\&.
.RE
.PD 1
.PP
La fonction de panique:
.RS 2
Le comportement de cette fonction est défini via les arguments \fBreboot\fR, \fBpoweroff\fR et/ou \fBserious\fR\&. Voir la section \fBOPTIONS\fR pour plus de détails\&.
.RE
.SH "OPTIONS"
.PP
\fBpassword\fR
.RS 4
Active la fonction de mot de passe avec un mot de passe de clé et de panique.\&
Si les options options \fBallow\fR et \fBreject\fR sont fournies, cette option sera ignorée\&.
.PD 0
.PP
Ces mots de passe peuvent être définis via le programme \fBpam_panic_pw\fR(1)\&.
.RE
.PD 1
.PP
.PP
\fBallow=\fR\fB\fIUUID(GPT)\fR\fR (requis)
.RS 4
L'UUID du péripherique à utiliser pour l'authentification (la clé d'authentification)\&.
.PD 0
.PP
.PD 1
Le périphérique doit être formatté en GPT avec au moins une partition\&.
L'UUID du périphérique formatté en GPT ressemble à "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&.
.PP
Lisez \fBCOMMENT DÉTERMINER MES UUIDS\fR pour plus de détails\&.
.RE
.PP
\fBreject=\fR\fB\fIUUID(GPT)\fR\fR (requis)
.RS 4
L'UUID du périphérique à utiliser en cas d'urgence. La présence de ce périphérique entrainera un \fBreboot\fR, \fBpoweroff\fR et/ou la fonction de panique, selon si \fBreboot\fR, \fBpoweroff\fR, et/ou \fBserious\fR sont spécifiés.
.PD 0
.PP
.PD 1
Le périphérique doit être formatté en GPT avec au moins une partition\&.
L'UUID du périphérique formatté en GPT ressemble à "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&.
.PP
Lisez \fBCOMMENT DÉTERMINER MES UUIDS\fR pour plus de détails\&.
.RE
.PP
\fBreboot\fR (recommendé)
.RS 4
Indique que le système doit redémarrer lorsqu'il détecte le périphérique spécifié avec \fBreject\fR\&.
.PP
Si \fBpoweroff\fR est aussi spécifié, \fBreboot\fR sera ignoré\&.
.RE
.PP
\fBpoweroff\fR
.RS 4
Indique que le système doit s'éteindre lorsqu'il détecte le périphérique spécifié avec \fBreject\fR\&.
Cette option est déconseillée pour des raisons de sécurité\&.
.RE
.PP
\fBserious=\fR\fB\fIUUID\fR\fR
.RS 4
L'UUID du périphérique contenant l'entête LUKS à éffacer lors de la détéction du périphérique spécifié avec \fBreject\fR\&.
.PP
NOTE: Vous devriez faire une sauvegarde de l'entête LUKS avant d'utiliser cette fonction\&.
.RE
.PP
.SH "UTILISATION"
.PP
Pour activer ce module vous devez configurer PAM\&. Lisez \fBpam\&.conf(5)\fR pour plus de détails\&.
.PP
En général, vous voudrez ajouter ce qui suit au début du fichier de configuration PAM:
.PD 0
.RS 4
auth requisite __PAMPANICSO__ auth=<UUID> reject=<UUID> reboot serious=<UUID>
.PP
account requisite __PAMPANICSO__
.RE
Ou:
.RS 4
auth requisite __PAMPANICSO__ password reboot serious=<UUID>
.PP
account requisite __PAMPANICSO__
.RE
.PD 1
.SH "COMMENT DÉTERMINER MES UUIDS"
.PP
Vous trouverz vos UUIDs dans \fI/dev/disk/by-partuuid\fR\&.
Vous voudriez peut-être executer "\fBls -l /dev/disk/by-partuuid/\fR" dans votre shell favoris pour trouver quel UUID correspond à quel périphérique\&.
.SH "VALEURS DE RETOUR"
.PP
PAM_SUCCESS
.RS 4
Accès autorisé\&.
.RE
.PP
PAM_IGNORE
.RS 4
Une erreur est survenue\&. Le module sera ignoré\&.
.RE
.PP
PAM_MAXTRIES
.RS 4
Le péripherique amovible n'a pas été détécté\&.
.RE
.SH "FICHIERS"
.PP
__PAMPANICSO__
.RS 4
Ce module PAM\&.
.RE
.PP
__PAMPANICPW__
.RS 4
Programme pour configurer les mots de passe\&.
.RE
.SH "BUGS"
.PP
Veuillez reporter les bugs ou envoyer une demande de correction à <https://github\&.com/pampanic/pam_panic>\&.
.SH "VOIR AUSSI"
.PP
\fBpam_panic_pw\fR(1),
\fBcryptsetup\fR(8),
\fBpam\fR(8),
\fBpam\&.conf\fR(5)
.SH "AUTEURS"
.PD 0
.PP
pam_panic à été écris par Bandie <bandie@chaospott\&.de>\&.
.PP
La page de manuel Anglaise à été révisée par Jordy Dickinson <jordy\&.dickinson@icloud\&.com>\&.
.PP
La version Française à été traduite par Dashie <dashie@otter\&.sh>\&.

View File

@ -1,196 +0,0 @@
'\" t
.\" Title: pam_panic
.\" Author: [see the "AUTHORS" section]
.\" Date: 2018-05-31
.\" Manual: Linux-PAM Panic Manual
.\" Source: Linux-PAM Panic Manual
.\" Language: Japanese
.\"
.TH "PAM_PANIC" "8" "2018-05-31" "PAM Panic マニュアル" "PAM Panic マニュアル"
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "名前"
pam_panic \- 緊急時に機密データを保護するPAMモジュール
.SH "概要"
.HP \w'\fBpam_panic\&.so\fR\ 'u
\fBpam_panic\&.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR]
.SH "説明"
.PP
pam_panic PAMモジュールは、緊急時にデータを保護するためのパニック機能を実装します。
.PP
このPAMモジュールを使用するには、次の2つの方法があります。
.PD 0
.PP
方法1:
.RS 2
認証キーとパニックキーの2つのデバイスをキーとして使用します。
認証キーではパスワード認証をスキップし、パニックキーではパニック機能が起動します。
.RE
方法2:
.RS 2
パスワードを2つ用意します。認証パスワードとパニックパスワードです。認証パスワードでは通常通り認証が行われ、パニックパスワードではパニック機能が起動します。
.RE
.PD 1
.PP
パニック機能:
.RS 2
この機能の動作は次の引数によって指定されます: \fBreboot\fR, \fBpoweroff\fR または \fBserious\fR\ 。詳細については、 \fBOPTIONS\fR セクションを確認してください。
.RE
.SH "オプション"
.PP
\fBpassword\fR
.RS 4
パスワードを認証に使用します。
引数に \fBallow\fR\fBreject\fR が指定されている場合、このオプションは無視されます。
.PD 0
.PP
パスワードは \fBpam_panic_pw\fR(1) コマンドによって指定できます。
.RE
.PD 1
.PP
\fBallow=\fR\fB\fIUUID(GPT)\fR\fR
.RS 4
デバイスのUUIDを認証に使用します。
.PD 0
.PP
.PD 1
デバイスはGPTでフォーマットされている必要があり、最低1つのパーティションを含んでいる必要があります。
GPTでフォーマットされたデバイスのUUIDは次のようになります: "12345678-9ABC-DEF0-1234-56789ABCDEF0"。
.PP
詳細については \fBUUIDを調べる方法\fR を確認してください。
.RE
.PP
\fBreject=\fR\fB\fIUUID(GPT)\fR\fR
.RS 4
緊急時に使用するデバイスのUUIDを指定します。このデバイスが存在する場合、\fBreboot\fR, \fBpoweroff\fR またはパニック機能が発動します。 パニック機能は \fBreboot\fR, \fBpoweroff\fR, \fBserious\fR のうち、いずれか1つ以上で指定されます。
.PD 0
.PP
.PD 1
デバイスはGPTでフォーマットされている必要があり、最低1つのパーティションを含んでいる必要があります。
GPTでフォーマットされたデバイスのUUIDは次のようになります: "12345678-9ABC-DEF0-1234-56789ABCDEF0"。
.PP
詳細については \fBUUIDを調べる方法\fR を確認してください。
.RE
.PP
\fBreboot\fR (推奨)
.RS 4
\fBreject\fR で指定されたデバイスが検知された場合、再起動します。
.PP
\fBpoweroff\fR が同時に指定されている場合、 \fBreboot\fR は無視されます。
.RE
.PP
\fBpoweroff\fR
.RS 4
\fBreject\fR で指定されたデバイスが検知された場合、シャットダウンします。
セキュリティ上の理由から、このオプションは推奨されません。
.RE
.PP
\fBserious=\fR\fB\fIUUID\fR\fR
.RS 4
LUKSヘッダーを消去するための鍵となるデバイスのUUIDを指定します。
LUKSヘッダーを消去した場合、データは復元できなくなります。
.PP
注意: この機能を使用する前に、LUKSヘッダーをバックアップしておくことをおすすめします。
.RE
.PP
.SH "USAGE"
.PP
モジュールを使用するためには、PAMを設定する必要があります。詳細については、 \fBpam\&.conf(5)\fR を参照してください。
.PP
多くの場合、PAM設定ファイルの先頭に次の内容を設定すればよいでしょう。
.PD 0
.RS 4
auth requisite __PAMPANICSO__ auth=<UUID> reject=<UUID> reboot serious=<UUID>
.PP
account requisite __PAMPANICSO__
.RE
Or:
.RS 4
auth requisite __PAMPANICSO__ password reboot serious=<UUID>
.PP
account requisite __PAMPANICSO__
.RE
.PD 1
.SH "UUIDを調べる方法"
.PP
\fI/dev/disk/by-partuuid\fR でUUIDを調べることができます。
"\fBls -l /dev/disk/by-partuuid/\fR" を任意のシェルで実行して、どのデバイスがどのUUIDかを調べる必要があるかもしれません。
.SH "返り値"
.PP
PAM_SUCCESS
.RS 4
アクセスは許可されました。
.RE
.PP
PAM_IGNORE
.RS 4
エラーが発生しました。モジュールは無視されます。
.RE
.PP
PAM_MAXTRIES
.RS 4
リムーバブルメディアが検知されませんでした。
.RE
.SH "ファイル"
.PP
__PAMPANICSO__
.RS 4
このPAMモジュールです。
.RE
.PP
__PAMPANICPW__
.RS 4
パスワードの設定および変更を行うためのプログラムです。
.RE
.SH "バグ報告"
.PP
<https://github\&.com/pampanic/pam_panic> で、バグの報告やプルリクエストを行ってください。
.SH "関連項目"
.PP
\fBpam_panic_pw\fR(1),
\fBcryptsetup\fR(8),
\fBpam\fR(8),
\fBpam\&.conf\fR(5)
.SH "著者"
.PD 0
.PP
pam_panic は Bandie <bandie@chaospott\&.de> によって作成されました。
.PP
この翻訳は Chromium Neptune <chromium@neplanet\&.com> によって作成されています。

View File

@ -7,8 +7,8 @@
.\" Language: English
.\"
.TH "PAM_PANIC" "8" "2018-03-26" "PAM Panic Manual" "PAM Panic Manual"
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\".ie \n(.g .ds Aq \(aq
.\".el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
@ -26,32 +26,39 @@ pam_panic \- PAM module with panic function to protect sensitive data in emergen
.SH "SYNOPSIS"
.HP \w'\fBpam_panic\&.so\fR\ 'u
\fBpam_panic\&.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR]
.HP \w'\fBpam_panic.so\fR\ 'u
\fBpam_panic.so\fR [password] [allow=\fIUUID(GPT)\fR] [reject=\fIUUID(GPT)\fR] [reboot] [poweroff] [serious=\fIUUID\fR]
.SH "DESCRIPTION"
.PP
The pam_panic PAM module protects sensitive data and provides a panic function for emergency situations\&.
The pam_panic PAM module protects sensitive data and provides a panic function for emergency situations.
.PP
There are two possible options in how to use this PAM module:
.PD 0
.PP
First possible option:
.RS 2
There are two removable media which work as keys: the auth key and the panic key\&.
The auth key will let you pass to the password prompt whereas the panic key will call the panic function\&.
There are two removable media which work as keys: the auth key and the panic key.
The auth key will let you pass to the password prompt whereas the panic key will call the \fIpanic function\fR.
.PD 0
.PP
See options \fBallow\fR and \fBreject\fR.
.RE
.PP
Second possible option:
.RS 2
There are two passwords: the key password and the panic password\&. The key password will let you pass to the original password prompt whereas the panic password will call the panic function\&.
There are two passwords: the key password and the panic password. The key password will let you pass to the original password prompt whereas the panic password will call the \fIpanic function\fR.
.PD 0
.PP
See option \fBpassword\fR.
.RE
.PD 1
.PP
The panic function:
.RS 2
The behaviour of this function is defined through the arguments \fBreboot\fR, \fBpoweroff\fR and/or \fBserious\fR\&. See the \fBOPTIONS\fR section for details\&.
The behaviour of this function is defined through the arguments \fBreboot\fR, \fBpoweroff\fR and/or \fBserious\fR. See the \fBOPTIONS\fR section for details.
.RE
@ -59,25 +66,25 @@ The behaviour of this function is defined through the arguments \fBreboot\fR, \f
.PP
\fBpassword\fR
.RS 4
Activates the password function having a panic and key password\&.
If the options \fBallow\fR and \fBreject\fR are provided this option will be ignored\&.
Activates the password function having a panic and key password.
If the options \fBallow\fR and \fBreject\fR are provided this option will be ignored.
.PD 0
.PP
These passwords can be set with the \fBpam_panic_pw\fR(1) command\&.
These passwords can be set with the \fBpam_panic_pw\fR(1) command.
.RE
.PD 1
.PP
\fBallow=\fR\fB\fIUUID(GPT)\fR\fR
.RS 4
The UUID of the device to be used for authentication (the auth key)\&.
The UUID of the device to be used for authentication (the auth key).
.PD 0
.PP
.PD 1
The device must be GPT-formatted and contain at least one partition\&.
The UUID of a GPT-formatted device looks like "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&.
The device must be GPT-formatted and contain at least one partition.
The UUID of a GPT-formatted device looks like "12345678-9ABC-DEF0-1234-56789ABCDEF0".
.PP
See \fBHOW TO DETERMINE MY UUIDS\fR for details\&.
See \fBHOW TO DETERMINE MY UUIDS\fR for details.
.RE
.PP
@ -87,41 +94,48 @@ The UUID of the device to be used in emergencies. The presence of this device wi
.PD 0
.PP
.PD 1
The device must be GPT-formatted and contain at least one partition\&.
The UUID of a GPT-formatted device looks like "12345678-9ABC-DEF0-1234-56789ABCDEF0"\&.
The device must be GPT-formatted and contain at least one partition.
The UUID of a GPT-formatted device looks like "12345678-9ABC-DEF0-1234-56789ABCDEF0".
.PP
See \fBHOW TO DETERMINE MY UUIDS\fR for details\&.
See \fBHOW TO DETERMINE MY UUIDS\fR for details.
.RE
.PP
\fBreboot\fR (recommended)
.RS 4
Indicates that the system should reboot upon encountering the device specified with \fBreject\fR\&.
Indicates that the system should reboot when the \fIpanic function\fR is triggered.
.PD 0
.PP
If \fBpoweroff\fR is also specified, \fBreboot\fR will be ignored\&.
This option is recommended.
.PD 1
.PP
If \fBpoweroff\fR is also specified, \fBreboot\fR will be ignored.
.RE
.PP
\fBpoweroff\fR
.RS 4
Indicates that the system should shut down upon encountering the device specified with \fBreject\fR\&.
This option is discouraged for security reasons\&.
Indicates that the system should shut down when the \fIpanic function\fR is triggered.
This option is discouraged for security reasons.
.RE
.PP
\fBserious=\fR\fB\fIUUID\fR\fR
.RS 4
The UUID of the device containing the LUKS header to erase upon encountering the device specified with \fBreject\fR\&.
Erasing the LUKS header will render the data unreadable\&.
The UUID of the device containing the LUKS header to erase when the \fIpanic function\fR is triggered. Erasing the LUKS header will render the data unreadable.
.PD 0
.PP
NOTE: You should make a backup of the LUKS header before using this function\&.
The internal command which will be executed is "\fBcryptsetup luksErase [UUID]\fR".
.PD 1
.PP
NOTE: You should make a backup of the LUKS header before using this function.
.RE
.PP
.SH "USAGE"
.PP
To activate the module you have to configure PAM\&. See \fBpam\&.conf(5)\fR for details\&.
To activate the module you have to configure PAM. See \fBpam.conf(5)\fR for details.
.PP
In general, you will want to add the following to the top of a PAM configuration file:
.PD 0
@ -141,25 +155,25 @@ account requisite __PAMPANICSO__
.SH "HOW TO DETERMINE MY UUIDS"
.PP
You will find your UUIDs in \fI/dev/disk/by-partuuid\fR\&.
You might want to execute "\fBls -l /dev/disk/by-partuuid/\fR" in your favourite shell to find out which UUID is which device\&.
You will find your UUIDs in \fI/dev/disk/by-partuuid\fR.
You might want to execute "\fBls -l /dev/disk/by-partuuid/\fR" in your favourite shell to find out which UUID is which device.
.SH "RETURN VALUES"
.PP
PAM_SUCCESS
.RS 4
Access was granted\&.
Access was granted.
.RE
.PP
PAM_IGNORE
.RS 4
An error has occured\&. The module will be ignored.\&.
An error has occured. The module will be ignored.
.RE
.PP
PAM_MAXTRIES
.RS 4
The removable media was not detected\&.
The removable media was not detected.
.RE
@ -167,18 +181,18 @@ The removable media was not detected\&.
.PP
__PAMPANICSO__
.RS 4
This PAM module\&.
This PAM module, which does everything of this above.
.RE
.PP
__PAMPANICPW__
.RS 4
Program to set and change the passwords\&.
Program to set and change the passwords.
.RE
.SH "BUGS"
.PP
Please report bugs and send pull requests to <https://github\&.com/pampanic/pam_panic>\&.
Please report bugs and send pull requests to <https://github.com/pampanic/pam_panic>.
.SH "SEE ALSO"
@ -186,12 +200,12 @@ Please report bugs and send pull requests to <https://github\&.com/pampanic/pam_
\fBpam_panic_pw\fR(1),
\fBcryptsetup\fR(8),
\fBpam\fR(8),
\fBpam\&.conf\fR(5)
\fBpam.conf\fR(5)
.SH "AUTHORS"
.PD 0
.PP
pam_panic was written by Bandie <bandie@chaospott\&.de>\&.
pam_panic was written by Bandie <bandie@chaospott.de>.
.PP
This man page has been revised by Jordy Dickinson <jordy\&.dickinson@icloud\&.com>
This man page has been revised by Jordy Dickinson <jordy.dickinson@icloud.com>.

View File

@ -6,6 +6,8 @@ DATE : 2018-03-27T02:34:08+02:00
LICENSE : GNU-GPLv3
*/
#include "pam_panic.h"
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
@ -16,12 +18,18 @@ LICENSE : GNU-GPLv3
#include <security/pam_modules.h>
#include <security/pam_ext.h>
#include <syslog.h>
#include "config.h"
#include "pam_panic_reject.h"
#include "../../lib/gettext.h"
#define _(String) gettext(String)
#include "pam_panic_authdevice.h"
#include "pam_panic_password.h"
#ifdef PACKAGE
#ifdef LOCALEDIR
#ifdef REBOOT
#ifdef POWEROFF
#ifdef CRYPTSETUP
@ -30,7 +38,7 @@ int makeRegex(pam_handle_t *pamh, regex_t *regex){
char *pattern = "^[A-Fa-f0-9]\\{8\\}\\-[A-Fa-f0-9]\\{4\\}\\-[A-Fa-f0-9]\\{4\\}\\-[A-Fa-f0-9]\\{4\\}\\-[A-Fa-f0-9]\\{12\\}$";
if(regcomp(regex, pattern, 0)){
pam_syslog(pamh, LOG_CRIT, "ERROR: Problem with regcomp.");
pam_syslog(pamh, LOG_CRIT, _("CRITICAL: Problem with regcomp."));
return 1;
}
@ -67,6 +75,10 @@ PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, cons
int8_t bPoweroff = 0;
int8_t bPassword = 0;
// gettext
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
// Regex for checking arguments
regex_t regex;
@ -107,7 +119,7 @@ PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, cons
|| (rejected_temp != NULL && regexec(&regex, rejected_temp, 0, NULL, 0) == REG_NOMATCH)
|| (bSerious && serious_temp == NULL)
) {
pam_syslog(pamh, LOG_ERR, "Arguments invalid. Note that allow and reject must have a valid GPT UUID.");
pam_syslog(pamh, LOG_ERR, _("ERROR: Arguments invalid. Note that \"allow\" and \"reject\" must have a valid GPT UUID."));
return (PAM_ABORT);
}
@ -143,7 +155,7 @@ PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, cons
// Check if panic key exist
if(bSerious && access(serious_dev, F_OK) == -1){
pam_syslog(pamh, LOG_ALERT, "ALERT for argument \"serious\": Device doesn't exist.");
pam_syslog(pamh, LOG_ALERT, _("ALERT for argument \"serious\": Device doesn't exist."));
return (PAM_ABORT);
}
@ -201,3 +213,5 @@ PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, const c
#endif
#endif
#endif
#endif
#endif

View File

@ -1,25 +1,15 @@
/*
FILENAME : pam_panic.c
DESCRIPTION : Header is made for testing purposes.
FILENAME : pam_panic.h
DESCRIPTION : Header.
AUTHOR : Bandie
DATE : 2018-03-27T02:34:08+02:00
LICENSE : GNU-GPLv3
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/wait.h>
#include <regex.h>
#include <string.h>
#include <security/pam_modules.h>
#include <security/pam_ext.h>
#include <syslog.h>
#include "pam_panic_reject.h"
#include "pam_panic_authdevice.h"
#include "pam_panic_password.h"
void argSplit(char **some_arg, char **some_temp, const char *arg);

View File

@ -6,23 +6,35 @@ DATE : 2018-03-27T02:34:08+02:00
LICENSE : GNU-GPLv3
*/
#include <stdint.h>
#include "pam_panic_authdevice.h"
#include <unistd.h>
#include "../../lib/gettext.h"
#include <security/pam_modules.h>
#include <security/pam_ext.h>
#include <syslog.h>
#include "pam_panic_reject.h"
#include "pam_panic_reject.h"
#include "pam_panic_authdevice.h"
#define _(String) gettext(String)
int authDevice(pam_handle_t *pamh, char *allowed, char *rejected, char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff){
#ifndef TEST
// gettext
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
int8_t counter = 0;
while(access(allowed, F_OK) == -1 && access(rejected, F_OK) == -1){
pam_prompt(pamh, PAM_PROMPT_ECHO_OFF, NULL, ASK);
pam_prompt(pamh, PAM_PROMPT_ECHO_OFF, NULL, _("Key? "));
if(++counter >= 3){
pam_syslog(pamh, LOG_NOTICE, "Couldn't identify any keys. 3 tries.");
pam_syslog(pamh, LOG_NOTICE, _("Couldn't identify any key after 3 tries."));
return (PAM_MAXTRIES);
}
}

View File

@ -5,7 +5,8 @@ DATE : 2018-03-27T02:34:08+02:00
LICENSE : GNU-GPLv3
*/
#define ASK "Key? "
#include "../config.h"
#include <stdint.h>
#include <security/pam_modules.h>
int authDevice(pam_handle_t *pamh, char *allowed, char *rejected, char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff);

View File

@ -6,33 +6,32 @@ DATE : 2018-03-27T02:34:08+02:00
LICENSE : GNU-GPLv3
*/
#include "pam_panic_password.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <security/pam_modules.h>
#include <security/pam_ext.h>
#include "../../lib/gettext.h"
#include <syslog.h>
#include <crypt.h>
#include "pam_panic_password.h"
#include "pam_panic_reject.h"
#define MSG_NOFILE "ALERT for password option: No password file detected."
#define MSG_ERROPEN "ERROR: Couldn't open password file."
#define MSG_CORRUPT "CRITICAL: Password file is corrupt!"
#define _(String) gettext(String)
int readPassword(pam_handle_t *pamh, char pw[2][99]){
// Open file
if(access(PPASSFILE, F_OK) == -1){
pam_syslog(pamh, LOG_ALERT, MSG_NOFILE);
pam_syslog(pamh, LOG_ALERT, _("ALERT for password option: No password file detected."));
return 2;
}
FILE *f = fopen(PPASSFILE, "r");
if(f == NULL){
pam_syslog(pamh, LOG_ALERT, MSG_ERROPEN);
pam_syslog(pamh, LOG_ALERT, _("ERROR: Couldn't open password file."));
return 1;
}
@ -44,7 +43,7 @@ int readPassword(pam_handle_t *pamh, char pw[2][99]){
fclose(f);
if(nread != 198){
pam_syslog(pamh, LOG_CRIT, MSG_CORRUPT);
pam_syslog(pamh, LOG_CRIT, _("CRITICAL: Password file is corrupt!"));
return 3;
}
@ -65,6 +64,11 @@ int readPassword(pam_handle_t *pamh, char pw[2][99]){
int authPassword(pam_handle_t *pamh, char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff){
// gettext
setlocale (LC_ALL, "");
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
// PAM password response
char resp[256];
char *response = NULL;
@ -84,7 +88,7 @@ int authPassword(pam_handle_t *pamh, char *serious_dev, int8_t bSerious, int8_t
pam_prompt(pamh, PAM_PROMPT_ECHO_OFF, &response, PWPROMPT);
pam_prompt(pamh, PAM_PROMPT_ECHO_OFF, &response, _("Password: "));
// Is response null?
if(!response)

View File

@ -5,12 +5,14 @@ DATE : 2018-03-27T02:34:08+02:00
LICENSE : GNU-GPLv3
*/
#include "config.h"
#include "../config.h"
#include <stdint.h>
#include <security/pam_modules.h>
#include <security/pam_ext.h>
#ifndef PPASSFILE
#error PPASSFILE must be declared!
#endif
#define PWPROMPT "Password::"
int authPassword(pam_handle_t *pamh, char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff);

View File

@ -6,7 +6,7 @@ DATE : 2018-03-27T02:34:08+02:00
LICENSE : GNU-GPLv3
*/
#include <stdint.h>
#include "pam_panic_reject.h"
#include <unistd.h>
#ifdef TEST
#include <stdio.h>
@ -14,8 +14,6 @@ LICENSE : GNU-GPLv3
#include <security/pam_ext.h>
#endif
#include <sys/wait.h>
#include "config.h"
#include "pam_panic_reject.h"
int reject(char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff){
if(bSerious){

View File

@ -5,4 +5,7 @@ DATE : 2018-03-27T02:34:08+02:00
LICENSE : GNU-GPLv3
*/
#include "../config.h"
#include <stdint.h>
int reject(char *serious_dev, int8_t bSerious, int8_t bReboot, int8_t bPoweroff);

View File

@ -1,5 +1,7 @@
SUBDIRS = man
AM_CFLAGS = -DLOCALEDIR='"$(localedir)"'
bin_PROGRAMS = pam_panic_pw
pam_panic_pw_SOURCES = pam_panic_pw.c pam_panic_pw.h
pam_panic_pw_LDFLAGS = -lcrypt

View File

@ -9,7 +9,9 @@ nobase_dist_cant_believe_its_not_man_DATA = \
%.gz: %
{ ppf=$$(echo "$(PPASSFILE)" | $(SED) 's/\//\\\//g') ; bdr=$$(echo "$(bindir)" | $(SED) 's/\//\\\//g') ; $(SED) "s/__PPASSFILE__/$$ppf/; s/__PAMPANICPW__/$$bdr\/pam_panic\\\\\&.so/" $< >$<.tmp ; }
gzip -c $<.tmp >$@
rm $<.tmp
clean-local:
rm ./*/*.tmp ./*/*.gz ./*/*/*.tmp ./*/*/*.g
$(RM) -f ./*/*.gz
$(FIND) . -type d -not -name man1 -not -path . -exec rm -rf {} +

View File

@ -1,89 +0,0 @@
'\" t
.\" Title: pam_panic_pw
.\" Author: [see the "AUTHORS" section]
.\" Date: 2018-03-31
.\" Manual: PAM Panic Manual
.\" Source: PAM Panic Manual
.\" Language: German
.\"
.TH "PAM_PANIC_PW" "8" "2018-03-31" "PAM Panic Handbuch" "PAM Panic Handbuch"
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
pam_panic_pw \- Setzen der Passw\(:orter f\(:ur das \fBpam_panic\fR(8) PAM Modul\&.
.SH "\(:UBERSICHT"
.HP \w'\fBpam_panic_pw\fR\ 'u
\fBpam_panic_pw\fR
.SH "BESCHREIBUNG"
.PP
Es setzt die Passw\(:orter f\(:ur das \fBpam_panic\fR(8) PAM Modul\&.
.PP
Dabei gibt es das "Key password" und das "Panic password"\&.
Das "Key password" dient zur normalen Authentifizierung
w\(:ahrend das "Panic password" die Panikfunktion ausf\(:uhrt\&.
.SH "R\(:UCKGABEWERTE"
.PP
0
.RS 4
Passw\(:orter erfolgreich gesetzt\&.
.RE
.PP
1
.RS 4
Keine Berechtigung\&.
.RE
.PP
2
.RS 4
Die Passwortdatei konnte nicht ge\(:offnet werden\&.
.RE
.SH "DATEIEN"
.PP
__PAMPANICPW__
.RS 4
Programm zum Setzen und Ver\(:andern der Passw\(:orter\&.
.RE
.PP
__PPASSFILE__
.RS 4
Die Passwortdatei\&.
.RE
.SH "BUGS"
.PP
Fehlerberichte (m\(:oglichst auf Englisch) und Codeverbesserungen k\(:onnen hier eingereicht werden: <https://github\&.com/pampanic/pam_panic>
.SH "SIEHE AUCH"
.PP
\fBpam_panic\fR(8),
\fBcryptsetup\fR(8),
\fBpam\&.conf\fR(5),
\fBpam\fR(8)\&.
.SH "AUTOREN"
.PD 0
.PP
Dieses pam_panic PAM Modul wurde durch Bandie <bandie@chaospott\&.de> entwickelt\&.

View File

@ -1,93 +0,0 @@
'\" t
.\" Title: pam_panic_pw
.\" Author: [see the "AUTHORS" section]
.\" Date: 2018-03-31
.\" Manual: PAM Panic Manual
.\" Source: PAM Panic Manual
.\" Language: Spanish
.\"
.TH "PAM_PANIC_PW" "8" "2018-03-31" "Manual de PAM Panic" "Manual de PAM Panic"
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NOMBRE"
pam_panic_pw \- Establecer y cambiar las contrase\(~nas para el m\('odulo PAM de \fBpam_panic\fR(8)\&.
.SH "SINOPSIS"
.HP \w'\fBpam_panic_pw\fR\ 'u
\fBpam_panic_pw\fR
.SH "DESCRIPCI\('ON"
.PP
\fBpam_panic_pw\fR establece las contrase\(~nas para el m\('odulo PAM de \fBpam_panic\fR(8)\&.
.PP
Hay dos contrase\(~nas: La "contrase\(~na clave" y la "contraseña de p\('anico"\&.
La "contrase\(~na clave" se usa para autenticaci\('on normal
mientras la "contrase\(~na de p\('anico" ejecutar\('a la funci\('on de p\('anico\&.
.SH "VALORES DEVUELTOS"
.PP
0
.RS 4
Contrase\(~nas establecidas con \('exito\&.
.RE
.PP
1
.RS 4
Acceso denegado\&.
.RE
.PP
2
.RS 4
No se pudo abrir el archivo de contrase\(~na\&.
.RE
.SH "ARCHIVOS"
.PP
__PAMPANICPW__
.RS 4
Programa para establecer y cambiar las contrase\(~nas\&.
.RE
.PP
__PPASSFILE__
.RS 4
El archivo de contrase\(~na\&.
.RE
.SH "PROBLEMAS"
.PP
Por favor repuerta errores y enviar pull requests a <https://github\&.com/pampanic/pam_panic>\&.
.SH "VER TAMBI\('EN"
.PP
\fBpam_panic\fR(8),
\fBcryptsetup\fR(8),
\fBpam\&.conf\fR(5),
\fBpam\fR(8)\&.
.SH "AUTORES"
.PD 0
.PP
pam_panic fue escrito por Bandie <bandie@chaospott\&.de>\&.
.PP
Esta p\('agina de man ha sido revisada por Jordy Dickinson <jordy\&.dickinson@icloud\&.com>
.PP
Este p\('agina man fue traducido al español por dangered wolf <d@ngeredwolf\&.me>

View File

@ -1,93 +0,0 @@
'\" t
.\" Title: pam_panic_pw
.\" Author: [see the "AUTEURS" section]
.\" Date: 2018-03-31
.\" Manual: PAM Panic Manual
.\" Source: PAM Panic Manual
.\" Language: French
.\"
.TH "PAM_PANIC_PW" "8" "2018-03-31" "Manuel de PAM Panic" "Manuel de PAM Panic"
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
pam_panic_pw \- Configurer et changer les mots de passe pour le module PAM \fBpam_panic\fR(8)\&.
.SH "SYNOPSIS"
.HP \w'\fBpam_panic_pw\fR\ 'u
\fBpam_panic_pw\fR
.SH "DESCRIPTION"
.PP
\fBpam_panic_pw\fR configure les mots de passe pour le module PAM \fBpam_panic\fR(8)\&.
.PP
Il-y-à deux mots de passe: le "Key password" (mot de passe de clé) et le "Panic password" (mot de passe de panique)\&.
Le "Key password" (mot de passe de clé) est utilisé pour une authentification normale alors que le "Panic password" (mot de passe de panique) executera la fonction de panique\&.
.SH "VALEURS DE RETOUR"
.PP
0
.RS 4
Mots de passe configurés avec succès\&.
.RE
.PP
1
.RS 4
Accès refusé\&.
.RE
.PP
2
.RS 4
Impossible d'ouvrir le fichier de mots de passe\&.
.RE
.SH "FICHIERS"
.PP
__PAMPANICPW__
.RS 4
Programme pour changer les mots de passe\&.
.RE
.PP
__PPASSFILE__
.RS 4
Le fichier de mots de passe\&.
.RE
.SH "BUGS"
.PP
Veuillez reporter les bugs ou envoyer une demande de correction à <https://github\&.com/pampanic/pam_panic>\&.
.SH "VOIR AUSSI"
.PP
\fBpam_panic\fR(8),
\fBcryptsetup\fR(8),
\fBpam\&.conf\fR(5),
\fBpam\fR(8)\&.
.SH "AUTEURS"
.PD 0
.PP
pam_panic à été écris par Bandie <bandie@chaospott\&.de>\&.
.PP
La page de manuel Anglaise à été révisée par Jordy Dickinson <jordy\&.dickinson@icloud\&.com>\&.
.PP
La version Française à été traduite par Dashie <dashie@otter\&.sh>\&.

View File

@ -1,91 +0,0 @@
'\" t
.\" Title: pam_panic_pw
.\" Author: [see the "AUTHORS" section]
.\" Date: 2018-05-31
.\" Manual: PAM Panic Manual
.\" Source: PAM Panic Manual
.\" Language: Japanese
.\"
.TH "PAM_PANIC_PW" "8" "2018-05-31" "PAM Panic マニュアル" "PAM Panic マニュアル"
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "名前"
pam_panic_pw \- \fBpam_panic\fR(8) PAM モジュールで使用するパスワードの設定と変更を行う
.SH "概要"
.HP \w'\fBpam_panic_pw\fR\ 'u
\fBpam_panic_pw\fR
.SH "説明"
.PP
\fBpam_panic_pw\fR\fBpam_panic\fR(8) PAM モジュールで使用するパスワードの設定および変更を行います。
.PP
認証パスワードとパニックパスワードの2つのパスワードを用意します。
認証パスワードは、通常の認証に使用します。
パニックパスワードは、パニック機能の発動に使用します。
.SH "返り値"
.PP
0
.RS 4
パスワードは正しく設定されました。
.RE
.PP
1
.RS 4
アクセスが拒否されました。
.RE
.PP
2
.RS 4
パスワードファイルを開けません。
.RE
.SH "ファイル"
.PP
__PAMPANICPW__
.RS 4
パスワードの設定および変更を行うためのプログラムです。
.RE
.PP
__PPASSFILE__
.RS 4
パスワードファイルです。
.RE
.SH "バグ報告"
.PP
<https://github\&.com/pampanic/pam_panic> で、バグの報告やプルリクエストを行ってください。
.SH "関連項目"
.PP
\fBpam_panic\fR(8),
\fBcryptsetup\fR(8),
\fBpam\&.conf\fR(5),
\fBpam\fR(8)\&.
.SH "著者"
.PD 0
.PP
pam_panic は Bandie <bandie@chaospott\&.de> によって作成されました。
.PP
この翻訳は Chromium Neptune <chromium@neplanet\&.com> によって作成されています。

View File

@ -7,8 +7,8 @@
.\" Language: English
.\"
.TH "PAM_PANIC_PW" "8" "2018-03-31" "PAM Panic Manual" "PAM Panic Manual"
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\".ie \n(.g .ds Aq \(aq
.\".el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
@ -21,7 +21,7 @@
.\" -----------------------------------------------------------------
.SH "NAME"
pam_panic_pw \- Set and change the passwords for the \fBpam_panic\fR(8) PAM module\&.
pam_panic_pw \- Set and change the passwords for the \fBpam_panic\fR(8) PAM module.
.SH "SYNOPSIS"
@ -31,28 +31,28 @@ pam_panic_pw \- Set and change the passwords for the \fBpam_panic\fR(8) PAM modu
.SH "DESCRIPTION"
.PP
\fBpam_panic_pw\fR sets the passwords for the \fBpam_panic\fR(8) PAM module\&.
\fBpam_panic_pw\fR sets the passwords for the \fBpam_panic\fR(8) PAM module.
.PP
There are two passwords: the "key password" and the "panic password"\&.
There are two passwords: the "key password" and the "panic password".
The "key password" is used for the normal authentication
whereas the "panic password" will execute the panic function\&.
whereas the "panic password" will execute the panic function.
.SH "RETURN VALUES"
.PP
0
.RS 4
Passwords set successfully\&.
Passwords set successfully.
.RE
.PP
1
.RS 4
Access denied\&.
Access denied.
.RE
.PP
2
.RS 4
Could not open the password file\&.
Could not open the password file.
.RE
@ -60,33 +60,33 @@ Could not open the password file\&.
.PP
__PAMPANICPW__
.RS 4
Program to set and change the passwords\&.
Program to set and change the passwords.
.RE
.PP
__PPASSFILE__
.RS 4
The password file\&.
The password file.
.RE
.SH "BUGS"
.PP
Please report bugs and send pull requests to <https://github\&.com/pampanic/pam_panic>\&.
Please report bugs and send pull requests to <https://github.com/pampanic/pam_panic>.
.SH "SEE ALSO"
.PP
\fBpam_panic\fR(8),
\fBcryptsetup\fR(8),
\fBpam\&.conf\fR(5),
\fBpam\fR(8)\&.
\fBpam.conf\fR(5),
\fBpam\fR(8).
.SH "AUTHORS"
.PD 0
.PP
pam_panic was written by Bandie <bandie@chaospott\&.de>\&.
pam_panic was written by Bandie <bandie@chaospott.de>.
.PP
This man page has been revised by Jordy Dickinson <jordy\&.dickinson@icloud\&.com>
This man page has been revised by Jordy Dickinson <jordy.dickinson@icloud.com>.

View File

@ -7,7 +7,7 @@ LICENSE : GNU-GPLv3
*/
#include "pam_panic_pw.h"
#include <stdio.h>
#include <stdlib.h>
@ -17,13 +17,15 @@ LICENSE : GNU-GPLv3
#include <sys/stat.h>
#include <crypt.h>
#include "config.h"
#include "../../lib/gettext.h"
#define _(String) gettext(String)
int writePasswords(char pw[][99]){
int writePasswords(char pw[][256], char* pwfile){
FILE *f = fopen(PPASSFILE, "w");
FILE *f = fopen(pwfile, "w");
if(f == NULL){
fprintf(stderr, "ERROR opening file!\n");
fprintf(stderr, _("ERROR opening file!\n"));
return 2;
}
@ -31,14 +33,21 @@ int writePasswords(char pw[][99]){
fclose(f);
chmod(PPASSFILE, 0644);
chmod(pwfile, 0644);
return 0;
}
#ifndef TEST
int main(void){
// gettext
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
// init
time_t t;
srand((unsigned) time(&t));
unsigned long seed[2];
@ -49,15 +58,20 @@ int main(void){
char *password[2];
char *pwvrf[2];
char pw[2][99];
char pwv[2][99];
char pw[2][256];
char pwv[2][256];
char *prompt[4] = {"Key password: ", "Panic password: ", "Retype key password: ","Retype panic password: "};
char *prompt[4] = {
_("Key password: "),
_("Panic password: "),
_("Confirm key password: "),
_("Confirm panic password: ")
};
int i;
if(getuid() != 0){
printf("Please run this program under root. Write access to %s is mandatory.\n", PPASSFILE); return 1;
printf(_("Please run this program under root. Write access to %s is mandatory.\n"), PPASSFILE); return 1;
}
for(int j=0; j<2; j++){
@ -80,10 +94,10 @@ int main(void){
int ok = strcmp(pw[j], pwv[j]) == 0;
if(!ok){
if(k==2){
printf("Didn't work. Bye.\n");
printf(_("Didn't work. Bye.\n"));
return 1;
}else
printf("Password didn't match. Try again.\n");
printf(_("Password didn't match. Try again.\n"));
}else
break;
}
@ -92,5 +106,6 @@ int main(void){
/* Save the results. */
return writePasswords(pw);
return writePasswords(pw, PPASSFILE);
}
#endif

View File

@ -5,4 +5,4 @@ DATE : 2018-03-27T02:34:08+02:00
LICENSE : GNU-GPLv3
*/
int writePassword(char pw[][99]);
int writePasswords(char pw[][256], char* pwfile);

View File

@ -1,8 +1,11 @@
CFLAGS += -DTEST
AM_CFLAGS = -DTEST
bin_PROGRAMS = test
test_SOURCES = ../src/pam_panic/pam_panic_authdevice.c ../src/pam_panic/pam_panic_reject.c test.c
test_LDFLAGS = -lpam -lcunit
test_SOURCES = ../src/pam_panic/pam_panic_authdevice.c ../src/pam_panic/pam_panic_reject.c ../src/pam_panic_pw/pam_panic_pw.c test.c
test_LDFLAGS = -lpam -lcrypt -lcunit
all:
@printf "Running test...\n"
./test
@printf "Cleaning up...\n"
$(RM) ./pwfile

View File

@ -6,12 +6,14 @@ DATE : 2018-05-11T04:13:51+02:00
LICENSE : GNU-GPLv3
*/
#include <stdint.h>
#include <unistd.h>
#include <security/pam_modules.h>
#include "../lib/gettext.h"
#include "../src/pam_panic/pam_panic_authdevice.h"
#include "../src/pam_panic/pam_panic_reject.h"
#include "../src/pam_panic_pw/pam_panic_pw.h"
#include <CUnit/Basic.h>
#define STATE_GOOD 0
@ -23,9 +25,15 @@ LICENSE : GNU-GPLv3
#define STATE_REJ_POW 2
#define STATE_REJ_NA 3
#define STATE_PPP_WRITEPASSWORDS 0
#define GOODUUID "./good"
#define BADUUID "./bad"
#define PASSWORDFILE "./pwfile"
#define GOODPASSWORD "yip"
#define BADPASSWORD "69"
char* gU = GOODUUID;
char* bU = BADUUID;
@ -85,6 +93,78 @@ void test_rejectNA(void) {
}
// pam_panic_pw tests
void test_writePassword(void) {
char encpw[2][256];
strcpy(encpw[0], crypt(GOODPASSWORD, "$6$somesalt"));
strcpy(encpw[1], crypt(BADPASSWORD, "$6$somesalt"));
int ret = writePasswords(encpw, PASSWORDFILE);
CU_ASSERT_EQUAL(ret, STATE_PPP_WRITEPASSWORDS);
}
void test_passwordCheckFromFile(void) {
int ret;
char buf[2][256];
char* line = NULL;
FILE *f = fopen(PASSWORDFILE, "r");
size_t len = 0;
if(f){
int i = 0;
while(getline(&line, &len, f)){
strncpy(buf[i], line, len);
if(++i > 1)
break;
}
if(ferror(f))
CU_FAIL("Some error occured with the password file.");
fclose(f);
}
ret = strcmp(strtok(buf[0], "\n"), crypt(GOODPASSWORD, buf[0])) == 0;
CU_ASSERT_TRUE(ret);
ret = strcmp(strtok(buf[1], "\n"), crypt(BADPASSWORD, buf[1])) == 0;
CU_ASSERT_TRUE(ret);
}
void test_badPasswordCheckFromFile(void) {
int ret;
char buf[2][256];
char* line = NULL;
FILE *f = fopen(PASSWORDFILE, "r");
size_t len = 0;
if(f){
int i = 0;
while(getline(&line, &len, f)){
strncpy(buf[i], line, len);
if(++i > 1)
break;
}
if(ferror(f))
CU_FAIL("Some error occured with the password file.");
fclose(f);
}
ret = strcmp(strtok(buf[0], "\n"), crypt(BADPASSWORD, buf[0])) == 0;
CU_ASSERT_FALSE(ret);
ret = strcmp(strtok(buf[1], "\n"), crypt(GOODPASSWORD, buf[1])) == 0;
CU_ASSERT_FALSE(ret);
}
int main(void) {
@ -94,14 +174,16 @@ int main(void) {
// init CUnit test registry
CU_pSuite pSuiteDevice = NULL;
CU_pSuite pSuiteReject = NULL;
CU_pSuite pSuitePasswordWrite = NULL;
if (CUE_SUCCESS != CU_initialize_registry())
return CU_get_error();
// Make suits
pSuiteDevice = CU_add_suite("Suite pam_panic_authdevice", init_suite, clean_suite);
pSuiteReject = CU_add_suite("Suite pam_panic_reject", init_suite, clean_suite);
pSuitePasswordWrite = CU_add_suite("Suite pam_panic_pw", init_suite, clean_suite);
if (pSuiteDevice == NULL
|| pSuiteReject == NULL) {
|| pSuiteReject == NULL || pSuitePasswordWrite == NULL) {
CU_cleanup_registry();
return CU_get_error();
}
@ -111,10 +193,13 @@ int main(void) {
if ( (NULL == CU_add_test(pSuiteDevice, "Authenticate with good device?", test_authDeviceGood))
|| (NULL == CU_add_test(pSuiteDevice, "Authenticate with bad device?", test_authDeviceBad))
|| (NULL == CU_add_test(pSuiteDevice, "Authenticate with no device?", test_authDeviceNA))
|| (NULL == CU_add_test(pSuiteReject, "Reject: Serious?", test_rejectSerious))
|| (NULL == CU_add_test(pSuiteReject, "Reject: Reboot?", test_rejectReboot))
|| (NULL == CU_add_test(pSuiteReject, "Reject: Poweroff?", test_rejectPoweroff))
|| (NULL == CU_add_test(pSuiteReject, "Reject: Nothing?", test_rejectNA))
|| (NULL == CU_add_test(pSuiteReject, "Serious function?", test_rejectSerious))
|| (NULL == CU_add_test(pSuiteReject, "Reboot function?", test_rejectReboot))
|| (NULL == CU_add_test(pSuiteReject, " Poweroff function?", test_rejectPoweroff))
|| (NULL == CU_add_test(pSuiteReject, " Nothing at all function?", test_rejectNA))
|| (NULL == CU_add_test(pSuitePasswordWrite, "Write a password into a file?", test_writePassword))
|| (NULL == CU_add_test(pSuitePasswordWrite, "Check password file with right passwords?", test_passwordCheckFromFile))
|| (NULL == CU_add_test(pSuitePasswordWrite, "Check password file with wrong passwords?", test_badPasswordCheckFromFile))
) {
CU_cleanup_registry();
return CU_get_error();