pam_panic_config is now translatable. Please review premade translations.

This commit is contained in:
Bandie 2018-11-04 22:57:25 +01:00
parent b8c8963328
commit 0caafc1f9e
Signed by: Bandie
GPG Key ID: C1E133BC65A822DD
9 changed files with 1842 additions and 326 deletions

View File

@ -3,3 +3,4 @@ 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
src/pam_panic_config/pam_panic_config.prebuild.sh

302
po/de.po
View File

@ -8,15 +8,16 @@ 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-10-29 18:49+0100\n"
"PO-Revision-Date: 2018-09-20 21:03+0200\n"
"Last-Translator: <bandie@chaospott.de>\n"
"POT-Creation-Date: 2018-11-04 21:44+0100\n"
"PO-Revision-Date: 2018-11-04 21:44+0100\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.2\n"
#: src/pam_panic/pam_panic.c:41
msgid "CRITICAL: Problem with regcomp."
@ -95,3 +96,298 @@ msgstr "Hat nicht funktioniert. Tschüss.\n"
#, c-format
msgid "Password didn't match. Try again.\n"
msgstr "Passwort stimmt nicht überein. Bitte noch einmal versuchen.\n"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:18
msgid "pam_panic"
msgstr "pam_panic"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:21
msgid "ERROR: Bash script was not built correctly."
msgstr "ERROR: Bash script wurde nicht korrekt gebaut."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:22
msgid "Please run this script as root or use sudo."
msgstr "Dieses Skript bitte als root ausführen oder sudo benutzen."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:23
msgid "pam_panic's Configuration Generator."
msgstr "pam_panics Konfigurationsgenerator."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:24
msgid "Bye! :)"
msgstr "Tschööö! :)"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:25
msgid "OK"
msgstr "OK"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:26
msgid "Cancel"
msgstr "Abbrechen"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:27
msgid "Authentication"
msgstr "Authentifizierung"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:28
msgid "Panic"
msgstr "Panik"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:29
msgid "Please remove all removable media devices before you continue."
msgstr "Bevor wir fortfahren, bitte alle Wechseldatenträger entfernen."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:30
msgid ""
"Note, if your device doesn't show up in the upcoming list it might not be a "
"GPT formatted device."
msgstr ""
"Hinweis: Falls der Wechseldatenträger in der kommenden Liste nicht "
"auftaucht, könnte es sich um ein Datenträger handeln, der nicht GPT-"
"formatiert wurde."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:31
msgid ""
"Please insert the device you want to use as Authentication device and press "
"OK."
msgstr ""
"Bitte nun den Wechseldatenträger einführen, welches als Authentifizierung "
"dienen soll und anschließend OK drücken."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:32
msgid "Please insert the device you want to use as Panic device and press OK."
msgstr ""
"Bitte nun den Wechseldatenträger einführen, welches als Panikauslöser dienen "
"soll und anschließend OK drücken."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:33
msgid "Removable media: Authentication device"
msgstr "Wechseldatenträger: Authentifizierungsgerät"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:34
msgid "Removable media: Panic device"
msgstr "Wechseldatenträger: Panikauslöser"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:35
msgid "Choose your device:"
msgstr "Wähle dein Gerät:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:36
msgid "Detecting devices..."
msgstr "Geräte werden ermittelt..."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:37
msgid "Welcome!"
msgstr "Willkommen!"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:38
msgid "Welcome to pam_panic's Configuration Generator."
msgstr "Willkommen zum pam_panic Konfigurationsgenerator."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:39
msgid ""
"It will help you to create a valid pam_panic setup. It will also generate a "
"PAM configuration file."
msgstr ""
"Es hilft dabei, eine valide pam_panic-Konfiguration zu erstellen. Ebenfalls "
"wird eine PAM-Konfigurationsdatei erstellt."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:40
msgid ""
"After you're done with this Configuration Generator, you will see some hints "
"how to integrate the new PAM configuration file in your system."
msgstr ""
"Nachdem alle Schritte durchlaufen wurden, erscheinen Tipps, wie die neue PAM-"
"Konfigurationsdatei in das System integriert werden kann."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:41
msgid "Authentication mode"
msgstr "Authentifizierungsmodus"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:42
msgid "Passwords"
msgstr "Passwörter"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:43
msgid "Media"
msgstr "Datenträger"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:44
msgid ""
"You can choose between the \"two removable media\" option and the \"two "
"passwords\" option."
msgstr ""
"Man kann zwischen den Optionen \"zwei Wechseldatenträger\" und \"zwei "
"Passwörter\" wählen."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:45
msgid "See \"Help\" to learn what it is."
msgstr "Siehe \"Hilfe\", um zu erfahren, was die Optionen bedeuten."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:46
msgid "Removable media or passwords?"
msgstr "Wechseldatenträger oder Passwort?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:47
msgid "Authentication device chosen with UUID"
msgstr "Wechseldatenträger für die Authentifizierung ausgewählt, mit der UUID"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:48
msgid "Panic device chosen with UUID"
msgstr "Wechseldatenträger für die Panikauslöung ausgewählt, mit der UUID"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:49
msgid "Do you want to set the passwords now?"
msgstr "Wollen wir jetzt die beiden Passwörter setzen?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:50
msgid "Failed to set the passwords. :("
msgstr "Passwörter setzen fehlgeschlagen. :("
#: src/pam_panic_config/pam_panic_config.prebuild.sh:51
msgid "pam_panic's behaviour"
msgstr "Verhalten von pam_panic"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:52
msgid "Do you wish to destroy your LUKS header in case of emergency?"
msgstr "Soll der LUKS header im Falle eines Notfalls zerstört werden?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:53
msgid ""
"This means that your encrypted root partition won't be decryptable anymore. "
"After this question we will create a LUKS header backup, if you wish."
msgstr ""
"Das bedeutet, dass die verschlüsselte Systempartition nicht mehr "
"entschlüsselbar wird. Nach dieser Frage werden wir auf Wunsch ein Backup "
"erstellen."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:54
msgid "We will destroy"
msgstr "Wir werden"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:55
msgid "when you trigger the panic function."
msgstr "zerstören, wenn die Panikfunktion ausgelöst wird."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:56
msgid "Do you want to make a LUKS-Header backup now?"
msgstr "Wollen wir jetzt LUKS-Header backups machen?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:57
msgid "Save location:"
msgstr "Speicherort:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:58
msgid "The LUKSHeader backup has been saved here:"
msgstr "Das LUKS-Header-Backup wurde hier abgespeichert:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:59
msgid "ERROR: There is no encrypted root partition on /dev/sda."
msgstr "ERROR: Es existiert keine verschlüsselte Systempartition auf /dev/sda."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:60
msgid "Reboot"
msgstr "Neustart"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:61
msgid "Shutdown"
msgstr "Herunterfahren"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:62
msgid "Nothing"
msgstr "Nichts"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:63
msgid ""
"Do you wish a reboot or a shutdown after issuing the panic function? Or "
"shall we do nothing at all?"
msgstr ""
"Ist ein Neustart oder ein Herunterfahren gewünscht, nachdem die Panikfuktion "
"aktiviert wurde? Oder sollen wir einfach gar nichts tun?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:64
msgid "Generating configuration..."
msgstr "Erstelle Konfiguration..."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:65
msgid "Config file exists"
msgstr "Konfigurationsdatei existiert"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:66
msgid "exists. Overwrite it?"
msgstr "existiert. Überschreiben?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:68
msgid "What now?"
msgstr "Was jetzt?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:69
msgid "Now we saved our configuration to"
msgstr "Jetzt haben wir die Konfiguration abgespeichert. Der Speicherort ist"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:70
msgid "If you want to let them apply to the other modules, proceed as follows:"
msgstr "Wenn gewünscht ist, dass sie aktiviert wird, geht man wie folgt vor:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:71
msgid "Open a module configuration in"
msgstr "Öffne eine Modulkonfiguration in"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:72
msgid "You can try out:"
msgstr "Man kann dabei folgendes ausprobieren:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:73
msgid "and"
msgstr "und"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:74
msgid "After the line \"#%PAM-1.0\" append"
msgstr "Füge nach der Zeile \"#%PAM-1.0\" folgendes hinzu"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:75
msgid ""
"On Ubuntu you might want to separate the above mentioned lines on the files "
"common-auth for the \"auth\" part and common-account for the \"account\" "
"part."
msgstr ""
"Auf Ubuntu möchte man die o.g. Zeilen seperieren auf die Dateien common-auth "
"für den \"auth\"-Teil und common-account für den \"account\"-Teil."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:76
msgid "Once you have changed and saved those files, pam_panic will be active."
msgstr ""
"Sobald diese Dateien verändert und gespeichert worden sind, wird pam_panic "
"aktiv sein."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:77
msgid "At your next login you need to"
msgstr "Beim nächsten Login musst du"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:78
msgid "type your pam_panic authentification password or"
msgstr "dein pam_panic Authentifizierungspasswort eingeben oder"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:79
msgid "insert your removable authentication media"
msgstr "deinen Wechseldatenträger für die Authentifizierung einführen"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:80
msgid "previous your regular user password."
msgstr "bevor dein reguläres Benutzerpasswort abgefragt wird."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:81
msgid ""
"If you got any question, don't hesitate to ask via IRC (chat.freenode.net in "
"room #pampanic) or via mail + GPG."
msgstr ""
"Falls irgendwelche Fragen aufkommen sollten, zögere nicht zu fragen: "
"Erreichbar im IRC (chat.freenode.net im Raum #pampanic) oder via Mail mit "
"GPG."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:82
msgid "Press enter to exit."
msgstr "Drücke Enter zum beenden."
#~ msgid "Removable media"
#~ msgstr "Wechseldatenträger"

297
po/es.po
View File

@ -8,8 +8,8 @@ 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-10-29 18:49+0100\n"
"PO-Revision-Date: 2018-09-29 18:19+0200\n"
"POT-Creation-Date: 2018-11-04 21:44+0100\n"
"PO-Revision-Date: 2018-11-04 22:19+0100\n"
"Last-Translator: Dangered wolf <d@ngeredwolf.me>\n"
"Language-Team: Spanish\n"
"Language: es\n"
@ -17,7 +17,7 @@ msgstr ""
"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"
"X-Generator: Poedit 2.2\n"
#: src/pam_panic/pam_panic.c:41
msgid "CRITICAL: Problem with regcomp."
@ -98,3 +98,294 @@ msgstr "No funcionó. Adiós.\n"
#, c-format
msgid "Password didn't match. Try again.\n"
msgstr "La contraseña no coincide. Inténtalo de nuevo.\n"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:18
msgid "pam_panic"
msgstr "pam_panic"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:21
msgid "ERROR: Bash script was not built correctly."
msgstr "ERROR: Bash script no fue construido correctamente."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:22
msgid "Please run this script as root or use sudo."
msgstr "Ejecutar este script como root o usando sudo."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:23
msgid "pam_panic's Configuration Generator."
msgstr "Configurador de configuración de pam_panic."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:24
msgid "Bye! :)"
msgstr "¡Adiós! :)"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:25
msgid "OK"
msgstr "OK"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:26
msgid "Cancel"
msgstr "Cancelar"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:27
msgid "Authentication"
msgstr "Autenticación"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:28
msgid "Panic"
msgstr "Pánico"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:29
msgid "Please remove all removable media devices before you continue."
msgstr "Retire todos los dispositivos de medios extraíbles antes de continuar."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:30
msgid ""
"Note, if your device doesn't show up in the upcoming list it might not be a "
"GPT formatted device."
msgstr ""
"Tenga en cuenta que si su dispositivo no aparece en la próxima lista, es "
"posible que no sea un dispositivo con formato GPT."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:31
msgid ""
"Please insert the device you want to use as Authentication device and press "
"OK."
msgstr ""
"Inserte el dispositivo que desea usar como dispositivo de autenticación y "
"presione OK."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:32
msgid "Please insert the device you want to use as Panic device and press OK."
msgstr ""
"Inserte el dispositivo que desea usar como dispositivo de pánico y presione "
"OK."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:33
msgid "Removable media: Authentication device"
msgstr "Medios extraíbles: Dispositivo de autenticación"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:34
msgid "Removable media: Panic device"
msgstr "Medios extraíbles: Dispositivo de pánico"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:35
msgid "Choose your device:"
msgstr "Elige tu dispositivo:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:36
msgid "Detecting devices..."
msgstr "Detectando dispositivos ..."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:37
msgid "Welcome!"
msgstr "¡Bienvenido!"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:38
msgid "Welcome to pam_panic's Configuration Generator."
msgstr "Bienvenido al Generador de Configuración de pam_panic."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:39
msgid ""
"It will help you to create a valid pam_panic setup. It will also generate a "
"PAM configuration file."
msgstr ""
"Te ayudará a crear una configuración pam_panic válida. También generará un "
"archivo de configuración PAM."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:40
msgid ""
"After you're done with this Configuration Generator, you will see some hints "
"how to integrate the new PAM configuration file in your system."
msgstr ""
"Una vez que haya terminado con este generador de configuración, verá algunos "
"consejos sobre cómo integrar el nuevo archivo de configuración PAM en su "
"sistema."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:41
msgid "Authentication mode"
msgstr "Modo de autenticación"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:42
msgid "Passwords"
msgstr "Contraseñas"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:43
msgid "Media"
msgstr "Medios"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:44
msgid ""
"You can choose between the \"two removable media\" option and the \"two "
"passwords\" option."
msgstr ""
"Puede elegir entre la opción \"dos medios extraíbles\" y la opción \"dos "
"contraseñas\"."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:45
msgid "See \"Help\" to learn what it is."
msgstr "Consulte \"Ayuda\" para saber qué es."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:46
msgid "Removable media or passwords?"
msgstr "¿Medios extraíbles o contraseñas?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:47
msgid "Authentication device chosen with UUID"
msgstr "Dispositivo de autenticación elegido con UUID"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:48
msgid "Panic device chosen with UUID"
msgstr "Dispositivo de pánico elegido con UUID"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:49
msgid "Do you want to set the passwords now?"
msgstr "¿Quieres establecer las contraseñas ahora?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:50
msgid "Failed to set the passwords. :("
msgstr "Error al establecer las contraseñas. :("
#: src/pam_panic_config/pam_panic_config.prebuild.sh:51
msgid "pam_panic's behaviour"
msgstr "Comportamiento de pam_panic"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:52
msgid "Do you wish to destroy your LUKS header in case of emergency?"
msgstr "¿Desea destruir su LUKS header en caso de emergencia?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:53
msgid ""
"This means that your encrypted root partition won't be decryptable anymore. "
"After this question we will create a LUKS header backup, if you wish."
msgstr ""
"Esto significa que su partición de sistema cifrada ya no será descifrable. "
"Después de esta pregunta, crearemos una copia de seguridad de LUKS header, "
"si lo desea."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:54
msgid "We will destroy"
msgstr "Destruiremos"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:55
msgid "when you trigger the panic function."
msgstr "cuando actives la función de pánico."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:56
msgid "Do you want to make a LUKS-Header backup now?"
msgstr "¿Quieres hacer una copia de seguridad de LUKS header ahora?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:57
msgid "Save location:"
msgstr "Ubicación:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:58
msgid "The LUKSHeader backup has been saved here:"
msgstr "La copia de seguridad de LUKS header se ha guardado aquí:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:59
msgid "ERROR: There is no encrypted root partition on /dev/sda."
msgstr "ERROR: No hay una partición del sistema cifrada en /dev/sda."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:60
msgid "Reboot"
msgstr "Reiniciar"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:61
msgid "Shutdown"
msgstr "Apagar"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:62
msgid "Nothing"
msgstr "Nada"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:63
msgid ""
"Do you wish a reboot or a shutdown after issuing the panic function? Or "
"shall we do nothing at all?"
msgstr ""
"¿Desea un reinicio o un apagado después de emitir la función de pánico? ¿O "
"no haremos nada en absoluto?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:64
msgid "Generating configuration..."
msgstr "Generando configuración ..."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:65
msgid "Config file exists"
msgstr "El archivo de configuración existe"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:66
msgid "exists. Overwrite it?"
msgstr "existe. ¿Sobrescribirlo?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:68
msgid "What now?"
msgstr "¿Ahora que?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:69
msgid "Now we saved our configuration to"
msgstr "Ahora guardamos nuestra configuración en"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:70
msgid "If you want to let them apply to the other modules, proceed as follows:"
msgstr "Si desea que se apliquen a los otros módulos, haga lo siguiente:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:71
msgid "Open a module configuration in"
msgstr "Abra una configuración de módulo en"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:72
msgid "You can try out:"
msgstr "Puedes probar:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:73
msgid "and"
msgstr "y"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:74
msgid "After the line \"#%PAM-1.0\" append"
msgstr "Después de la línea \"#%PAM-1.0\", agregue"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:75
msgid ""
"On Ubuntu you might want to separate the above mentioned lines on the files "
"common-auth for the \"auth\" part and common-account for the \"account\" "
"part."
msgstr ""
"En Ubuntu es posible que desee separar las líneas mencionadas anteriormente "
"en los archivos, common-auth para la parte \"auth\" y common-account para la "
"parte \"account\"."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:76
msgid "Once you have changed and saved those files, pam_panic will be active."
msgstr ""
"Una vez que haya cambiado y guardado estos archivos, pam_panic estará activo."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:77
msgid "At your next login you need to"
msgstr "En su próximo inicio de sesión necesita"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:78
msgid "type your pam_panic authentification password or"
msgstr "escribir su contraseña de autenticación pam_panic o"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:79
msgid "insert your removable authentication media"
msgstr "insertar su medio de autenticación extraíble"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:80
msgid "previous your regular user password."
msgstr "antes de su contraseña de usuario habitual."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:81
msgid ""
"If you got any question, don't hesitate to ask via IRC (chat.freenode.net in "
"room #pampanic) or via mail + GPG."
msgstr ""
"Si tiene alguna pregunta, no dude en preguntar en IRC (chat.freenode.net en "
"la sala #pampanic) o por correo electrónico + GPG."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:82
msgid "Press enter to exit."
msgstr "Presione la tecla enter para salir."

300
po/fr.po
View File

@ -7,8 +7,8 @@ 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-10-29 18:49+0100\n"
"PO-Revision-Date: 2018-09-29 18:33+0200\n"
"POT-Creation-Date: 2018-11-04 21:44+0100\n"
"PO-Revision-Date: 2018-11-04 21:51+0100\n"
"Last-Translator: Dashie <dashie@otter.sh>\n"
"Language-Team: French\n"
"Language: fr\n"
@ -16,7 +16,7 @@ msgstr ""
"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"
"X-Generator: Poedit 2.2\n"
#: src/pam_panic/pam_panic.c:41
msgid "CRITICAL: Problem with regcomp."
@ -96,3 +96,297 @@ msgstr "N'a pas fonctionné. Au revoir.\n"
#, c-format
msgid "Password didn't match. Try again.\n"
msgstr "Le mot de passe ne correspond pas. Réessayer.\n"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:18
msgid "pam_panic"
msgstr "pam_panic"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:21
msgid "ERROR: Bash script was not built correctly."
msgstr "ERROR: Le script Bash n'a pas été construit correctement."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:22
msgid "Please run this script as root or use sudo."
msgstr "Veuillez exécuter ce script en tant que root ou utilisez sudo."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:23
msgid "pam_panic's Configuration Generator."
msgstr "Le générateur de configuration de pam_panic."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:24
msgid "Bye! :)"
msgstr "Au revoir! :)"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:25
msgid "OK"
msgstr "D'accord"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:26
msgid "Cancel"
msgstr "Annuler"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:27
msgid "Authentication"
msgstr "Authentification"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:28
msgid "Panic"
msgstr "Panique"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:29
msgid "Please remove all removable media devices before you continue."
msgstr "Retirez tous les disques amovibles avant de continuer."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:30
msgid ""
"Note, if your device doesn't show up in the upcoming list it might not be a "
"GPT formatted device."
msgstr ""
"Notez que si votre périphérique ne figure pas dans la liste à venir, il peut "
"ne pas s'agir d'un disque au format GPT."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:31
msgid ""
"Please insert the device you want to use as Authentication device and press "
"OK."
msgstr ""
"Veuillez insérer le périphérique que vous souhaitez utiliser comme disque "
"d'authentification et appuyer sur \"D'accord\"."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:32
msgid "Please insert the device you want to use as Panic device and press OK."
msgstr ""
"Veuillez insérer le périphérique que vous souhaitez utiliser comme disque de "
"panique et appuyer sur \"D'accord\"."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:33
msgid "Removable media: Authentication device"
msgstr "Disque amovible: Périphérique d'authentification"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:34
msgid "Removable media: Panic device"
msgstr "Disque amovible: Périphérique de panique"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:35
msgid "Choose your device:"
msgstr "Choisissez votre disque amovible:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:36
msgid "Detecting devices..."
msgstr "Détecter des disques amovibles ..."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:37
msgid "Welcome!"
msgstr "Bienvenue!"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:38
msgid "Welcome to pam_panic's Configuration Generator."
msgstr "Bienvenue dans le générateur de configuration de pam_panic."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:39
msgid ""
"It will help you to create a valid pam_panic setup. It will also generate a "
"PAM configuration file."
msgstr ""
"Cela vous aidera à créer une configuration pam_panic valide. Il générera "
"également un fichier de configuration PAM."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:40
msgid ""
"After you're done with this Configuration Generator, you will see some hints "
"how to integrate the new PAM configuration file in your system."
msgstr ""
"Une fois que vous avez terminé avec ce générateur de configuration, vous "
"verrez quelques astuces sur la manière d'intégrer le nouveau fichier de "
"configuration PAM dans votre système."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:41
msgid "Authentication mode"
msgstr "Mode d'authentification"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:42
msgid "Passwords"
msgstr "Mots de passe"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:43
msgid "Media"
msgstr "Disque"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:44
msgid ""
"You can choose between the \"two removable media\" option and the \"two "
"passwords\" option."
msgstr ""
"Vous pouvez choisir entre l'option \"deux disques amovibles\" et l'option "
"\"deux mots de passe\"."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:45
msgid "See \"Help\" to learn what it is."
msgstr "Voir \"Aide\" pour savoir ce que c'est."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:46
msgid "Removable media or passwords?"
msgstr "Disques amovibles ou mots de passe?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:47
msgid "Authentication device chosen with UUID"
msgstr "Disque d'authentification choisi avec UUID"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:48
msgid "Panic device chosen with UUID"
msgstr "Disque de panique choisi avec UUID"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:49
msgid "Do you want to set the passwords now?"
msgstr "Voulez-vous définir les mots de passe maintenant?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:50
msgid "Failed to set the passwords. :("
msgstr "Impossible de définir les mots de passe. :("
#: src/pam_panic_config/pam_panic_config.prebuild.sh:51
msgid "pam_panic's behaviour"
msgstr "Le comportement de pam_panic"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:52
msgid "Do you wish to destroy your LUKS header in case of emergency?"
msgstr "Souhaitez-vous détruire votre LUKS header en cas d'urgence?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:53
msgid ""
"This means that your encrypted root partition won't be decryptable anymore. "
"After this question we will create a LUKS header backup, if you wish."
msgstr ""
"Cela signifie que votre partition root chiffrée ne sera plus déchiffrable. "
"Après cette question, nous allons créer une sauvegarde LUKS header, si vous "
"le souhaitez."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:54
msgid "We will destroy"
msgstr "Nous allons détruire"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:55
msgid "when you trigger the panic function."
msgstr "lorsque vous déclencherez la fonction de panique."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:56
msgid "Do you want to make a LUKS-Header backup now?"
msgstr "Voulez-vous effectuer une sauvegarde LUKS header maintenant?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:57
msgid "Save location:"
msgstr "Lieu:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:58
msgid "The LUKSHeader backup has been saved here:"
msgstr "La sauvegarde de LUKS Header a été sauvegardée ici:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:59
msgid "ERROR: There is no encrypted root partition on /dev/sda."
msgstr "ERROR: Il n'y a pas de partition chiffrée sur /dev/sda."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:60
msgid "Reboot"
msgstr "Redémarrer"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:61
msgid "Shutdown"
msgstr "Arrêter"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:62
msgid "Nothing"
msgstr "Rien"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:63
msgid ""
"Do you wish a reboot or a shutdown after issuing the panic function? Or "
"shall we do nothing at all?"
msgstr ""
"Souhaitez-vous un redémarrage ou un arrêt après avoir activé la fonction "
"panique? Ou ne ferons-nous rien du tout?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:64
msgid "Generating configuration..."
msgstr "Génération de la configuration ..."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:65
msgid "Config file exists"
msgstr "Le fichier de configuration existe"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:66
msgid "exists. Overwrite it?"
msgstr "existe. Réécrit dessus?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:68
msgid "What now?"
msgstr "Et maintenant?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:69
msgid "Now we saved our configuration to"
msgstr "Nous avons maintenant enregistré notre configuration sur"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:70
msgid "If you want to let them apply to the other modules, proceed as follows:"
msgstr ""
"Si vous souhaitez les laisser sappliquer à dautres modules, procédez comme "
"suit:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:71
msgid "Open a module configuration in"
msgstr "Ouvrez une configuration de module dans"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:72
msgid "You can try out:"
msgstr "Vous pouvez essayer:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:73
msgid "and"
msgstr "et"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:74
msgid "After the line \"#%PAM-1.0\" append"
msgstr "Après la ligne \"#%PAM-1.0\", ajoutez"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:75
msgid ""
"On Ubuntu you might want to separate the above mentioned lines on the files "
"common-auth for the \"auth\" part and common-account for the \"account\" "
"part."
msgstr ""
"Sous Ubuntu, vous voudrez peut-être séparer les lignes mentionnées ci-dessus "
"sur les fichiers common-auth pour la partie \"auth\" et common-account pour "
"la partie \"account\"."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:76
msgid "Once you have changed and saved those files, pam_panic will be active."
msgstr ""
"Une fois que vous avez modifié et enregistré ces fichiers, pam_panic sera "
"actif."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:77
msgid "At your next login you need to"
msgstr "À la prochaine ouverture, vous devez"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:78
msgid "type your pam_panic authentification password or"
msgstr "taper votre mot de passe dauthentification pam_panic ou"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:79
msgid "insert your removable authentication media"
msgstr "insérer votre disque d'authentification amovible"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:80
msgid "previous your regular user password."
msgstr "avant votre mot de passe utilisateur habituel."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:81
msgid ""
"If you got any question, don't hesitate to ask via IRC (chat.freenode.net in "
"room #pampanic) or via mail + GPG."
msgstr ""
"Si vous avez des questions, n'hésitez pas à les demander via IRC (chat."
"freenode.net dans la salle #pampanic) ou via mail + GPG."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:82
msgid "Press enter to exit."
msgstr "Appuyez sur la touche Entrée pour quitter."

291
po/ja.po
View File

@ -7,8 +7,8 @@ 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-10-29 18:49+0100\n"
"PO-Revision-Date: 2018-09-29 18:51+0200\n"
"POT-Creation-Date: 2018-11-04 21:44+0100\n"
"PO-Revision-Date: 2018-11-04 22:52+0100\n"
"Last-Translator: Chromium Neptune <chromium@neplanet.com>\n"
"Language-Team: Japanese\n"
"Language: ja\n"
@ -16,7 +16,7 @@ msgstr ""
"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"
"X-Generator: Poedit 2.2\n"
#: src/pam_panic/pam_panic.c:41
msgid "CRITICAL: Problem with regcomp."
@ -95,3 +95,288 @@ msgstr "うまくいきませんでした。 さようなら。\n"
#, c-format
msgid "Password didn't match. Try again.\n"
msgstr "パスワードが一致しませんでした。 再試行する。\n"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:18
msgid "pam_panic"
msgstr "pam_panic"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:21
msgid "ERROR: Bash script was not built correctly."
msgstr "エラーBashスクリプトが正しく構築されていませんでした。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:22
msgid "Please run this script as root or use sudo."
msgstr "このスクリプトをrootとして実行するか、sudoを使用してください。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:23
msgid "pam_panic's Configuration Generator."
msgstr "pam_panicの設定ジェネレータ。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:24
msgid "Bye! :)"
msgstr "さようなら! :)"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:25
msgid "OK"
msgstr "OK"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:26
msgid "Cancel"
msgstr "キャンセル"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:27
msgid "Authentication"
msgstr "認証"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:28
msgid "Panic"
msgstr "パニック"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:29
msgid "Please remove all removable media devices before you continue."
msgstr ""
"続行する前に、すべてのリムーバブルメディアデバイスを取り外してください。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:30
msgid ""
"Note, if your device doesn't show up in the upcoming list it might not be a "
"GPT formatted device."
msgstr ""
"デバイスが今後のリストに表示されない場合は、GPT形式のデバイスではない可能性が"
"あります。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:31
msgid ""
"Please insert the device you want to use as Authentication device and press "
"OK."
msgstr "認証デバイスとして使用するデバイスを挿入し、[OK]を押してください。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:32
msgid "Please insert the device you want to use as Panic device and press OK."
msgstr "パニックデバイスとして使用するデバイスを挿入し、[OK]を押してください。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:33
msgid "Removable media: Authentication device"
msgstr "リムーバブルディスク:認証デバイス"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:34
msgid "Removable media: Panic device"
msgstr "リムーバブルディスク:パニックデバイス"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:35
msgid "Choose your device:"
msgstr "あなたのデバイスを選択してください:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:36
msgid "Detecting devices..."
msgstr "デバイスを検出しています..."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:37
msgid "Welcome!"
msgstr "ようこそ!"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:38
msgid "Welcome to pam_panic's Configuration Generator."
msgstr "pam_panicのConfiguration Generatorへようこそ。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:39
msgid ""
"It will help you to create a valid pam_panic setup. It will also generate a "
"PAM configuration file."
msgstr ""
"これは、有効なpam_panicセットアップを作成するのに役立ちます。 また、PAM構成"
"ファイルも生成されます。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:40
msgid ""
"After you're done with this Configuration Generator, you will see some hints "
"how to integrate the new PAM configuration file in your system."
msgstr ""
"この設定ジェネレータを完了すると、新しいPAM設定ファイルをシステムに統合する方"
"法のヒントが表示されます。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:41
msgid "Authentication mode"
msgstr "認証モード"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:42
msgid "Passwords"
msgstr "パスワード"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:43
msgid "Media"
msgstr "ディスク"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:44
msgid ""
"You can choose between the \"two removable media\" option and the \"two "
"passwords\" option."
msgstr ""
"「2つのリムーバブルディスク」オプションと「2つのパスワード」オプションのどち"
"らかを選択できます。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:45
msgid "See \"Help\" to learn what it is."
msgstr "それが何であるかを知るには、「ヘルプ」を参照してください。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:46
msgid "Removable media or passwords?"
msgstr "リムーバブルディスクまたはパスワード?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:47
msgid "Authentication device chosen with UUID"
msgstr "UUIDで選択された認証デバイス"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:48
msgid "Panic device chosen with UUID"
msgstr "UUIDで選択されたパニックデバイス"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:49
msgid "Do you want to set the passwords now?"
msgstr "今すぐパスワードを設定しますか?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:50
msgid "Failed to set the passwords. :("
msgstr "パスワードの設定に失敗しました。 :("
#: src/pam_panic_config/pam_panic_config.prebuild.sh:51
msgid "pam_panic's behaviour"
msgstr "pam_panicの動作"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:52
msgid "Do you wish to destroy your LUKS header in case of emergency?"
msgstr "緊急時にLUKSヘッダーを破棄したいですか"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:53
msgid ""
"This means that your encrypted root partition won't be decryptable anymore. "
"After this question we will create a LUKS header backup, if you wish."
msgstr ""
"つまり、暗号化されたシステムパーティションはもはや復号化できません。 この質問"
"の後、必要に応じてLUKSヘッダーバックアップを作成します。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:54
msgid "We will destroy"
msgstr "私たちは、パニック機能をトリガするときに"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:55
msgid "when you trigger the panic function."
msgstr "を破壊します。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:56
msgid "Do you want to make a LUKS-Header backup now?"
msgstr "今LUKSヘッダーバックアップを作成しますか"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:57
msgid "Save location:"
msgstr "ファイルの場所:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:58
msgid "The LUKSHeader backup has been saved here:"
msgstr "LUKSHeaderバックアップがここに保存されました"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:59
msgid "ERROR: There is no encrypted root partition on /dev/sda."
msgstr "エラー:/dev/sdaには暗号化されたルートパーティションはありません。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:60
msgid "Reboot"
msgstr "再起動"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:61
msgid "Shutdown"
msgstr "シャットダウン"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:62
msgid "Nothing"
msgstr "何も"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:63
msgid ""
"Do you wish a reboot or a shutdown after issuing the panic function? Or "
"shall we do nothing at all?"
msgstr ""
"パニック機能を実行した後に再起動またはシャットダウンしますか? あるいは、私た"
"ちは何もしませんか?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:64
msgid "Generating configuration..."
msgstr "設定の生成中..."
#: src/pam_panic_config/pam_panic_config.prebuild.sh:65
msgid "Config file exists"
msgstr "設定ファイルが存在する"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:66
msgid "exists. Overwrite it?"
msgstr "が存在する。 それを上書きする?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:68
msgid "What now?"
msgstr "今何?"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:69
msgid "Now we saved our configuration to"
msgstr "これで設定が保存されました:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:70
msgid "If you want to let them apply to the other modules, proceed as follows:"
msgstr "他のモジュールに適用させる場合は、次の手順を実行します。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:71
msgid "Open a module configuration in"
msgstr "モジュール設定を開く:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:72
msgid "You can try out:"
msgstr "試してみることができます:"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:73
msgid "and"
msgstr "と"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:74
msgid "After the line \"#%PAM-1.0\" append"
msgstr "\"#%PAM-1.0\"行の後に、追加してください"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:75
msgid ""
"On Ubuntu you might want to separate the above mentioned lines on the files "
"common-auth for the \"auth\" part and common-account for the \"account\" "
"part."
msgstr ""
"Ubuntuでは、ファイル内の上記の行を、 \"auth\"部分の \"common-auth\"と "
"\"account\"部分の \"common-account\"に分割することができます。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:76
msgid "Once you have changed and saved those files, pam_panic will be active."
msgstr ""
"これらのファイルを変更して保存すると、pam_panicがアクティブになります。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:77
msgid "At your next login you need to"
msgstr "次のログイン時に"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:78
msgid "type your pam_panic authentification password or"
msgstr "pam_panic認証パスワードを入力するか、"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:79
msgid "insert your removable authentication media"
msgstr "取り外し可能な認証メディアを挿入する"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:80
msgid "previous your regular user password."
msgstr "これは、通常のユーザーパスワードの前のものでなければなりません。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:81
msgid ""
"If you got any question, don't hesitate to ask via IRC (chat.freenode.net in "
"room #pampanic) or via mail + GPG."
msgstr ""
"ご質問がある場合は、IRCchat.freenode.net room #pampanicまたは電子メール+ "
"GPGでお気軽にお問い合わせください。"
#: src/pam_panic_config/pam_panic_config.prebuild.sh:82
msgid "Press enter to exit."
msgstr "Enterキーを押して終了します。"

View File

@ -8,7 +8,7 @@ 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-10-29 18:49+0100\n"
"POT-Creation-Date: 2018-11-04 21:44+0100\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"
@ -90,3 +90,270 @@ msgstr ""
#, c-format
msgid "Password didn't match. Try again.\n"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:18
msgid "pam_panic"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:21
msgid "ERROR: Bash script was not built correctly."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:22
msgid "Please run this script as root or use sudo."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:23
msgid "pam_panic's Configuration Generator."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:24
msgid "Bye! :)"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:25
msgid "OK"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:26
msgid "Cancel"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:27
msgid "Authentication"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:28
msgid "Panic"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:29
msgid "Please remove all removable media devices before you continue."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:30
msgid ""
"Note, if your device doesn't show up in the upcoming list it might not be a "
"GPT formatted device."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:31
msgid ""
"Please insert the device you want to use as Authentication device and press "
"OK."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:32
msgid "Please insert the device you want to use as Panic device and press OK."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:33
msgid "Removable media: Authentication device"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:34
msgid "Removable media: Panic device"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:35
msgid "Choose your device:"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:36
msgid "Detecting devices..."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:37
msgid "Welcome!"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:38
msgid "Welcome to pam_panic's Configuration Generator."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:39
msgid ""
"It will help you to create a valid pam_panic setup. It will also generate a "
"PAM configuration file."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:40
msgid ""
"After you're done with this Configuration Generator, you will see some hints "
"how to integrate the new PAM configuration file in your system."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:41
msgid "Authentication mode"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:42
msgid "Passwords"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:43
msgid "Media"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:44
msgid ""
"You can choose between the \"two removable media\" option and the \"two "
"passwords\" option."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:45
msgid "See \"Help\" to learn what it is."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:46
msgid "Removable media or passwords?"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:47
msgid "Authentication device chosen with UUID"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:48
msgid "Panic device chosen with UUID"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:49
msgid "Do you want to set the passwords now?"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:50
msgid "Failed to set the passwords. :("
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:51
msgid "pam_panic's behaviour"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:52
msgid "Do you wish to destroy your LUKS header in case of emergency?"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:53
msgid ""
"This means that your encrypted root partition won't be decryptable anymore. "
"After this question we will create a LUKS header backup, if you wish."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:54
msgid "We will destroy"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:55
msgid "when you trigger the panic function."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:56
msgid "Do you want to make a LUKS-Header backup now?"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:57
msgid "Save location:"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:58
msgid "The LUKSHeader backup has been saved here:"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:59
msgid "ERROR: There is no encrypted root partition on /dev/sda."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:60
msgid "Reboot"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:61
msgid "Shutdown"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:62
msgid "Nothing"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:63
msgid ""
"Do you wish a reboot or a shutdown after issuing the panic function? Or "
"shall we do nothing at all?"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:64
msgid "Generating configuration..."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:65
msgid "Config file exists"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:66
msgid "exists. Overwrite it?"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:68
msgid "What now?"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:69
msgid "Now we saved our configuration to"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:70
msgid "If you want to let them apply to the other modules, proceed as follows:"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:71
msgid "Open a module configuration in"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:72
msgid "You can try out:"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:73
msgid "and"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:74
msgid "After the line \"#%PAM-1.0\" append"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:75
msgid ""
"On Ubuntu you might want to separate the above mentioned lines on the files "
"common-auth for the \"auth\" part and common-account for the \"account\" "
"part."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:76
msgid "Once you have changed and saved those files, pam_panic will be active."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:77
msgid "At your next login you need to"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:78
msgid "type your pam_panic authentification password or"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:79
msgid "insert your removable authentication media"
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:80
msgid "previous your regular user password."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:81
msgid ""
"If you got any question, don't hesitate to ask via IRC (chat.freenode.net in "
"room #pampanic) or via mail + GPG."
msgstr ""
#: src/pam_panic_config/pam_panic_config.prebuild.sh:82
msgid "Press enter to exit."
msgstr ""

View File

@ -1,8 +1,9 @@
SUBDIRS = applications icons/48x48 icons/64x64 icons/scalable
bin_SCRIPTS = pam_panic_config
%: %.prebuild
%: %.prebuild.sh
{ sldr=$$(echo "$(SECUREDIR)" | $(SED) 's/\//\\\//g'); bdr=$$(echo "$(bindir)" | $(SED) 's/\//\\\//g'); $(SED) "s/__SECURELIBDIR__/$$sldr/;s/__PAMPANICPW__/$$bdr\/pam_panic_pw/" $< > $@ ; }
chmod +x $@
clean-local:
$(RM) *.tmp
$(RM) pam_panic_config

View File

@ -1,311 +0,0 @@
#!/bin/bash
#
# Name: pam_panic_config
# Description: Create a pam_panic configuration.
# Author: Bandie <bandie@chaospott.de>
#
CONFIGFILE="/etc/pam.d/pampanic"
LHBU="$HOME/LUKSHeaderBackup"
# Set on build time
SECUREDIR="__SECURELIBDIR__"
PAMPANICPW="__PAMPANICPW__"
[[ ! -d $SECUREDIR ]] || [[ ! -f $PAMPANICPW ]] && { echo "ERROR: Bash script was not build correctly." ; exit 1 ; }
if [ $EUID -ne 0 ]; then
echo "Please run this script as root or using sudo."
exit 1
fi
# Call when using the Cancel button
function cancel(){
rm -f .pam_panic_media_choice
clear
echo "Bye! :)"
exit 0
}
# Call when CTRL+C
trap "cancel" INT
# Check, if $1 is a gpt formatted device
function checkGPT(){
blkid $1 -t PTTYPE=gpt >> /dev/null
return $?
}
# Get the GPT PartitionUUID
function getPARTUUID(){
blkid $1 | awk '{print $4;}' | sed 's/PARTUUID="//;s/"//'
}
# Get the LUKS-Device's UUId
function getLUKSDevice(){
if [ "$1" = "UUID" ]; then
blkid /dev/sda*[1-9] | grep "crypto_LUKS" | awk '{print $2;}' | sed 's/UUID="//;s/"//'
fi
if [ "$1" = "NAME" ]; then
blkid /dev/sda*[1-9] | grep "crypto_LUKS" | awk '{print $1;}' | sed 's/://'
fi
}
# Generic dialog question
function ask(){
dialog --backtitle "pam_panic's Configuration Generator" --title "$1" --yesno "$2" 8 80
return $?
}
# Generic message box
msg() {
dialog --backtitle "pam_panic's Configuration Generator" --title "$1" --msgbox "$2" 8 80
}
# Generate a two dimensional flat array of all GPT devices from sdb-sdz
function getMediaDevice(){
local i=0
local uuid
for dev in $(ls /dev/sd[b-z] 2> /dev/null); do
if $(checkGPT $dev); then
for part in $(ls $dev*[1-9]); do
echo -n "$i $part[$(getPARTUUID $part)] "
(( i++ ))
done
fi
done
}
# Hint for GPT formatted key before searching for it
function chooseMediumPre(){
local title="Removable media: $1 device"
dialog --backtitle "pam_panic's Configuration Generator" --title "$title" --yes-label "OK" --no-label "Cancel" --yesno "Please remove all media devices before your continue.\nNote, if you device doesn't show up it might not be a GPT formatted device.\n\nPlease insert the device you want to use as $1 device and press OK." 10 80
if [ $? -eq 1 ]; then
cancel
fi
}
# Choosing a GPT formatted key
function chooseMedium(){
local ans
local title="Removable media: $1 device"
dialog --backtitle "pam_panic's Configuration Generator" --title "$title" --menu "Choose your device:" 10 80 5 $media 2> .pam_panic_media_choice
if [ $? -eq 1 ]; then
cancel
fi
ans=$(cat .pam_panic_media_choice)
(( ans=(2*ans)+1 ))
rm -f .pam_panic_media_choice
return $ans
}
# A "Detecting devices...", assures to use a more up to date device list
function showDetectDev(){
dialog --backtitle "pam_panic's Configuration Generator" \
--title "$title" \
--infobox "Detecting devices..." 3 80
# Prevention for impatient beings
sleep 2
}
# Welcome
dialog --backtitle "pam_panic's Configuration Generator" \
--title "Welcome" \
--ok-label "Yip!" \
--msgbox "Welcome to pam_panic's Configuration Generator.\n\nIt will help you to create a valid pam_panic setup. It will also generate a Linux' PAM configuration file.\n\nAfter you're done with this Configuration Generator, you will see some hints how to integrate the new PAM configuration file in your system." 20 80
# Authentication mode
auth_mode=2
while [ $auth_mode -eq 2 ]; do
dialog --backtitle "pam_panic's Configuration Generator" \
--title "Authentication mode" \
--help-button \
--extra-button --extra-label "Passwords" \
--ok-label "Removable Media" \
--yesno "You can choose between the \"two removable media\" option and the \"two passwords\" option.\nSee \"Help\" to learn what it is.\n\nRemovable media or passwords?" 10 80
auth_mode=$?
case $auth_mode in
"0")
# Removable media
# Authentication
while [ -z $media ]; do
chooseMediumPre Authentication
showDetectDev
media=$(getMediaDevice)
read -r -a mediaArray <<< "$media"
done
chooseMedium Authentication
auth_dev=$(echo ${mediaArray[$?]} | sed 's/\/dev\/sd[b-z]*[0-1]\[//;s/\]//')
msg "Removable media: Authentication device" "Authentication device chosen with UUID $auth_dev."
# Panic
unset media
while [ -z $media ]; do
chooseMediumPre Panic
showDetectDev
media=$(getMediaDevice)
read -r -a mediaArray <<< "$media"
done
chooseMedium Panic
panic_dev=$(echo ${mediaArray[$?]} | sed 's/\/dev\/sd[b-z]*[0-1]\[//;s/\]//')
msg "Removable media: Panic device" "Panic device chosen with UUID $panic_dev."
;;
"3")
# Passwords
ask "Passwords" "Do you want to set the passwords now?"
setpw=$?
case $setpw in
"0")
clear
$PAMPANICPW
if [ $? -ne 0 ]; then
clear
echo "Failed to set a password. :("
exit 1
fi
;;
esac
;;
"2")
# Help
man pam_panic
;;
"1")
# Cancel
cancel
;;
esac
done
# serious flag
ask "pam_panic's behaviour" "Do you wish to destroy your LUKS header in case of emergency?\nThis means that your encrypted root device won't be readable anymore. After this question you will be asked to make a backup of this header."
serious=$?
if [ $serious -eq 0 ]; then
serious_dev=$(getLUKSDevice UUID)
if [ ! -z $serious_dev ]; then
msg "pam_panic's behaviour" "We will destroy $(getLUKSDevice NAME) [$serious_dev] when you trigger the panic function."
# LUKS header backup
ask "LUKS Header backup" "Do you want to make a LUKS-Header backup now?\nIt will be saved at \"$LHBU\"."
bu=$?
case $bu in
"0")
cryptsetup luksHeaderBackup $(getLUKSDevice NAME) --header-backup-file "$LHBU"
msg "LUKS Header backup" "LUKSHeader backup has been saved here: $LHBU"
;;
esac
else
msg "pam_panic's behaviour" "ERROR: There is no encrypted root device on /dev/sda."
serious=1
fi
fi
# poweroff / reboot behaviour
dialog --backtitle "pam_panic's Configuration Generator" \
--title "pam_panic's behaviour" \
--ok-label "Reboot" \
--extra-button --extra-label "Shutdown" \
--cancel-label "Nothing" \
--yesno "Do you wish a reboot or a shutdown after issuing the panic function? n for nothing of those? " 10 80
power=$?
# Configuration generation
dialog --backtitle "pam_panic's Configuration Generator" \
--infobox "Generating configuration..." 3 40
config="#%PAM-1.0\nauth requisite $SECUREDIR/pam_panic.so"
case $power in
"0")
config="$config reboot"
;;
"3")
config="$config poweroff"
;;
esac
case $auth_mode in
"3")
config="$config password"
;;
"0")
config="$config allow=$auth_dev reject=$panic_dev"
;;
esac
case $serious in
"0")
config="$config serious=$serious_dev"
;;
esac
config="$config\naccount requisite $SECUREDIR/pam_panic.so"
# Write config file
writeout=0
if [ -f $CONFIGFILE ]; then
ask "Configfile exist" "$CONFIGFILE exists. Overwrite it?"
writeout=$?
case $writeout in
"0")
echo -e "$config" > $CONFIGFILE
;;
esac
else
echo -e "$config" > $CONFIGFILE
fi
# Finished message
clear
[ $writeout -eq 0 ] && echo "Done! <3" || echo "Nothing done! </3"
echo -e "\n
What now?
=========
Now we saved our configuration to $CONFIGFILE.
If you want to let them apply to the other modules,
proceed as follows:
1. Open a module in /etc/pam.d/
You can try out:
- xscreensaver
- system-local-login (on Arch Linux)
- common-auth and common-account (Ubuntu)
2. After the line \"#%PAM-1.0\" append
auth include pampanic
account include pampanic
On Ubuntu you might want to seperate both lines in common-auth and common-account.
Once you have changed and saved those files, pam_panic will be active.
On your next login you need to
- type your pam_panic authentification password or
- insert your removable authentication media
previous your regular user password.
" | more
echo "If you got any question, don't hesitate to ask via IRC (chat.freenode.de in room #pampanic) or via mail + GPG."
echo -e "\nPress Enter to exit."
read -n1

View File

@ -0,0 +1,392 @@
#!/bin/bash
#
# Name: pam_panic_config
# Description: Create a pam_panic configuration.
# Author: Bandie <bandie@chaospott.de>
#
CONFIGFILE="/etc/pam.d/pampanic"
LHBU="$HOME/LUKSHeaderBackup"
# Set on build time
SECUREDIR="__SECURELIBDIR__"
PAMPANICPW="__PAMPANICPW__"
# Localization
N_(){
gettext "pam_panic" "$1"
}
NOT_BUILT=$(N_ "ERROR: Bash script was not built correctly.")
RUN_AS_ROOT=$(N_ "Please run this script as root or use sudo.")
BACKTITLE=$(N_ "pam_panic's Configuration Generator.")
BYE=$(N_ "Bye! :)")
OK=$(N_ "OK")
CANCEL=$(N_ "Cancel")
AUTH=$(N_ "Authentication")
PANIC=$(N_ "Panic")
PREWARN_REMOVE=$(N_ "Please remove all removable media devices before you continue.")
PREWARN_GPT=$(N_ "Note, if your device doesn't show up in the upcoming list it might not be a GPT formatted device.")
PREWARN_INSERT_AUTH=$(N_ "Please insert the device you want to use as Authentication device and press OK.")
PREWARN_INSERT_PANIC=$(N_ "Please insert the device you want to use as Panic device and press OK.")
TITLE_RM_AUTH=$(N_ "Removable media: Authentication device")
TITLE_RM_PANIC=$(N_ "Removable media: Panic device")
CHOOSE_DEV=$(N_ "Choose your device:")
DETECT_DEV=$(N_ "Detecting devices...")
WELCOME=$(N_ "Welcome!")
WELCOME1=$(N_ "Welcome to pam_panic's Configuration Generator.")
WELCOME2=$(N_ "It will help you to create a valid pam_panic setup. It will also generate a PAM configuration file.")
WELCOME3=$(N_ "After you're done with this Configuration Generator, you will see some hints how to integrate the new PAM configuration file in your system.")
AUTH_MODE=$(N_ "Authentication mode")
PASSWORDS=$(N_ "Passwords")
REM_MEDIA=$(N_ "Media")
CHOOSE_AUTH1=$(N_ "You can choose between the \"two removable media\" option and the \"two passwords\" option.")
CHOOSE_AUTH2=$(N_ "See \"Help\" to learn what it is.")
CHOOSE_AUTH3=$(N_ "Removable media or passwords?")
UUID_AUTH=$(N_ "Authentication device chosen with UUID")
UUID_PANIC=$(N_ "Panic device chosen with UUID")
ASK_SET_PW=$(N_ "Do you want to set the passwords now?")
SET_PW_FAILED=$(N_ "Failed to set the passwords. :(")
PAM_PANICS_BEHAVIOUR=$(N_ "pam_panic's behaviour")
ASK_SERIOUS1=$(N_ "Do you wish to destroy your LUKS header in case of emergency?")
ASK_SERIOUS2=$(N_ "This means that your encrypted root partition won't be decryptable anymore. After this question we will create a LUKS header backup, if you wish.")
MSG_SERIOUS1=$(N_ "We will destroy")
MSG_SERIOUS2=$(N_ "when you trigger the panic function.")
ASK_LUKS_BU1=$(N_ "Do you want to make a LUKS-Header backup now?")
ASK_LUKS_BU2=$(N_ "Save location:")
LUKS_BU_SAVED=$(N_ "The LUKSHeader backup has been saved here:")
SERIOUS_ERROR=$(N_ "ERROR: There is no encrypted root partition on /dev/sda.")
REBOOT=$(N_ "Reboot")
SHUTDOWN=$(N_ "Shutdown")
NOTHING=$(N_ "Nothing")
ASK_EXTENDED_BEHAVIOUR=$(N_ "Do you wish a reboot or a shutdown after issuing the panic function? Or shall we do nothing at all?")
GEN_CONFIG=$(N_ "Generating configuration...")
CONFIG_EXISTS=$(N_ "Config file exists")
CONFIG_OVERWRITE=$(N_ "exists. Overwrite it?")
WHATNOW=$(N_ "What now?")
SAVEDTO=$(N_ "Now we saved our configuration to")
APPLY_THEM=$(N_ "If you want to let them apply to the other modules, proceed as follows:")
OPEN_MOD=$(N_ "Open a module configuration in")
TRY_OUT=$(N_ "You can try out:")
AND=$(N_ "and")
APPEND=$(N_ "After the line \"#%PAM-1.0\" append")
UBUNTU_NOTICE=$(N_ "On Ubuntu you might want to separate the above mentioned lines on the files common-auth for the \"auth\" part and common-account for the \"account\" part.")
PAMPANIC_ACTIVE=$(N_ "Once you have changed and saved those files, pam_panic will be active.")
NEXT_LOGIN=$(N_ "At your next login you need to")
TYPEPW=$(N_ "type your pam_panic authentification password or")
INSRM=$(N_ "insert your removable authentication media")
PREVTOREG=$(N_ "previous your regular user password.")
QUESTIONS=$(N_ "If you got any question, don't hesitate to ask via IRC (chat.freenode.net in room #pampanic) or via mail + GPG.")
PRESSENTER=$(N_ "Press enter to exit.")
[[ ! -d $SECUREDIR ]] || [[ ! -f $PAMPANICPW ]] && { echo "$NOT_BUILT" ; exit 1 ; }
if [ $EUID -ne 0 ]; then
echo "$RUN_AS_ROOT"
exit 1
fi
# Call when using the Cancel button
function cancel(){
rm -f .pam_panic_media_choice
clear
echo "$BYE"
exit 0
}
# Call when CTRL+C
trap "cancel" INT
# Check, if $1 is a gpt formatted device
function checkGPT(){
blkid $1 -t PTTYPE=gpt >> /dev/null
return $?
}
# Get the GPT PartitionUUID
function getPARTUUID(){
blkid $1 | awk '{print $4;}' | sed 's/PARTUUID="//;s/"//'
}
# Get the LUKS-Device's UUId
function getLUKSDevice(){
if [ "$1" = "UUID" ]; then
blkid /dev/sda*[1-9] | grep "crypto_LUKS" | awk '{print $2;}' | sed 's/UUID="//;s/"//'
fi
if [ "$1" = "NAME" ]; then
blkid /dev/sda*[1-9] | grep "crypto_LUKS" | awk '{print $1;}' | sed 's/://'
fi
}
# Generic dialog question
function ask(){
dialog --backtitle "$BACKTITLE" --title "$1" --yesno "$2" 8 80
return $?
}
# Generic message box
msg() {
dialog --backtitle "$BACKTITLE" --title "$1" --msgbox "$2" 8 80
}
# Generate a two dimensional flat array of all GPT devices from sdb-sdz
function getMediaDevice(){
local i=0
local uuid
for dev in $(ls /dev/sd[b-z] 2> /dev/null); do
if $(checkGPT $dev); then
for part in $(ls $dev*[1-9]); do
echo -n "$i $part[$(getPARTUUID $part)] "
(( i++ ))
done
fi
done
}
# Hint for GPT formatted key before searching for it
function chooseMediumPre(){
[[ $1 = "Authentication" ]] && { local title="$TITLE_RM_AUTH" ; local insert="$PREWARN_INSERT_AUTH" ; }
[[ $1 = "Panic" ]] && { local title="$TITLE_RM_PANIC"; local insert="$PREWARN_INSERT_PANIC" ; }
dialog --backtitle "$BACKTITLE" --title "$title" --yes-label "$OK" --no-label "$CANCEL" --yesno "$PREWARN_REMOVE\n$PREWARN_GPT\n\n$insert" 20 80
if [ $? -eq 1 ]; then
cancel
fi
}
# Choosing a GPT formatted key
function chooseMedium(){
local ans
[[ $1 = "Authentication" ]] && { local title="$TITLE_RM_AUTH" ; }
[[ $1 = "Panic" ]] && { local title="$TITLE_RM_PANIC" ; }
dialog --backtitle "$BACKTITLE" --title "$title" --menu "$CHOOSE_DEV" 10 80 5 $media 2> .pam_panic_media_choice
if [ $? -eq 1 ]; then
cancel
fi
ans=$(cat .pam_panic_media_choice)
(( ans=(2*ans)+1 ))
rm -f .pam_panic_media_choice
return $ans
}
# A "Detecting devices...", assures to use a more up to date device list
function showDetectDev(){
dialog --backtitle "$BACKTITLE" \
--title "$title" \
--infobox "$DETECT_DEV" 3 80
# Prevention for impatient beings
sleep 2
}
# Welcome
dialog --backtitle "$BACKTITLE" \
--title "$WELCOME" \
--ok-label "Yip!" \
--msgbox "$WELCOME1\n\n$WELCOME2\n\n$WELCOME3" 20 80
# Authentication mode
auth_mode=2
while [ $auth_mode -eq 2 ]; do
dialog --backtitle "$BACKTITLE" \
--title "$AUTH_MODE" \
--help-button \
--extra-button --extra-label "$PASSWORDS" \
--ok-label "$REM_MEDIA" \
--yesno "$CHOOSE_AUTH1\n$CHOOSE_AUTH2\n\n$CHOOSE_AUTH3" 10 80
auth_mode=$?
case $auth_mode in
"0")
# Removable media
# Authentication
while [ -z $media ]; do
chooseMediumPre Authentication
showDetectDev
media=$(getMediaDevice)
read -r -a mediaArray <<< "$media"
done
chooseMedium Authentication
auth_dev=$(echo ${mediaArray[$?]} | sed 's/\/dev\/sd[b-z]*[0-1]\[//;s/\]//')
msg "$TITLE_RM_AUTH" "$UUID_AUTH $auth_dev."
# Panic
unset media
while [ -z $media ]; do
chooseMediumPre Panic
showDetectDev
media=$(getMediaDevice)
read -r -a mediaArray <<< "$media"
done
chooseMedium Panic
panic_dev=$(echo ${mediaArray[$?]} | sed 's/\/dev\/sd[b-z]*[0-1]\[//;s/\]//')
msg "$TITLE_RM_PANIC" "$UUID_PANIC $panic_dev."
;;
"3")
# Passwords
ask "$PASSWORDS" "$ASK_SET_PW"
setpw=$?
case $setpw in
"0")
clear
$PAMPANICPW
if [ $? -ne 0 ]; then
clear
echo "$SET_PW_FAILED"
exit 1
fi
;;
esac
;;
"2")
# Help
man pam_panic
;;
"1")
# Cancel
cancel
;;
esac
done
# serious flag
ask "$PAM_PANICS_BEHAVIOUR" "$ASK_SERIOUS1\n$ASK_SERIOUS2"
serious=$?
if [ $serious -eq 0 ]; then
serious_dev=$(getLUKSDevice UUID)
if [ ! -z $serious_dev ]; then
msg "$PAM_PANICS_BEHAVIOUR" "$MSG_SERIOUS1 $(getLUKSDevice NAME) [$serious_dev] $MSG_SERIOUS2"
# LUKS header backup
ask "LUKS Header backup" "$ASK_LUKS_BU1\n$ASK_LUKS_BU2 \"$LHBU\"."
bu=$?
case $bu in
"0")
cryptsetup luksHeaderBackup $(getLUKSDevice NAME) --header-backup-file "$LHBU"
msg "LUKS Header backup" "$LUKS_BU_SAVED $LHBU"
;;
esac
else
msg "$PAM_PANICS_BEHAVIOUR" "$SERIOUS_ERROR"
serious=1
fi
fi
# poweroff / reboot behaviour
dialog --backtitle "$BACKTITLE" \
--title "$PAM_PANICS_BEHAVIOUR" \
--ok-label "$REBOOT" \
--extra-button --extra-label "$SHUTDOWN" \
--cancel-label "$NOTHING" \
--yesno "$ASK_EXTENDED_BEHAVIOUR" 10 80
power=$?
# Configuration generation
dialog --backtitle "$BACKTITLE" \
--infobox "$GEN_CONFIG" 3 40
config="#%PAM-1.0\nauth requisite $SECUREDIR/pam_panic.so"
case $power in
"0")
config="$config reboot"
;;
"3")
config="$config poweroff"
;;
esac
case $auth_mode in
"3")
config="$config password"
;;
"0")
config="$config allow=$auth_dev reject=$panic_dev"
;;
esac
case $serious in
"0")
config="$config serious=$serious_dev"
;;
esac
config="$config\naccount requisite $SECUREDIR/pam_panic.so"
# Write config file
writeout=0
if [ -f $CONFIGFILE ]; then
ask "CONFIG_EXISTS" "$CONFIGFILE $CONFIG_OVERWRITE"
writeout=$?
case $writeout in
"0")
echo -e "$config" > $CONFIGFILE
;;
esac
else
echo -e "$config" > $CONFIGFILE
fi
# Finished message
clear
[ $writeout -eq 0 ] && echo "Done! <3" || echo "Nothing done! </3"
echo -e "\n
$WHATNOW"
for (( i=0; i<${#WHATNOW}; i++ )); do
echo -n "="
done
echo -e "
$SAVEDTO $CONFIGFILE.
$APPLY_THEM
1. $OPEN_MOD /etc/pam.d/
$TRY_OUT
- xscreensaver
- system-local-login (Arch Linux)
- common-auth $AND common-account (Ubuntu)
2. $APPEND
auth include pampanic
account include pampanic
$UBUNTU_NOTICE
$PAMPANIC_ACTIVE
$NEXT_LOGIN
- $TYPEPW
- $INSRM
$PREVTOREG
" | more
echo "$QUESTIONS"
echo -e "\n$PRESSENTER"
read -n1