1778 lines
42 KiB
Diff
1778 lines
42 KiB
Diff
diff --git a/po/fr.po b/po/fr.po
|
|
new file mode 100644
|
|
index 0000000..92c0ec3
|
|
--- /dev/null
|
|
+++ b/po/fr.po
|
|
@@ -0,0 +1,1670 @@
|
|
+# French translation of SecTool.
|
|
+# Copyright (C) 2008 The SecTool copyright holder(s)
|
|
+# This file is distributed under the same license as the sectool package.
|
|
+# Corentin Perard <corentin.perard@gmail.com> 2008.
|
|
+# troubi <corentin.perard@gmail.com>, 2008.
|
|
+#
|
|
+#
|
|
+msgid ""
|
|
+msgstr ""
|
|
+"Project-Id-Version: sectool master\n"
|
|
+"Report-Msgid-Bugs-To: \n"
|
|
+"POT-Creation-Date: 2008-10-22 10:12+0200\n"
|
|
+"PO-Revision-Date: 2008-11-27 18:53+0100\n"
|
|
+"Last-Translator: Corentin Perard <corentin.perard@gmail.com>\n"
|
|
+"Language-Team: French <fedora-trans-fr@redhat.com>\n"
|
|
+"MIME-Version: 1.0\n"
|
|
+"Content-Type: text/plain; charset=UTF-8\n"
|
|
+"Content-Transfer-Encoding: 8bit"
|
|
+
|
|
+#: ../src/actions.py:45
|
|
+#, python-format
|
|
+msgid "You need to be root to perform %s"
|
|
+msgstr "Vous devez être super-utilisateur pour effectuer %s"
|
|
+
|
|
+#: ../src/actions.py:51
|
|
+#, python-format
|
|
+msgid "Need a list of tests to do %s"
|
|
+msgstr "Requiert une liste de tests pour faire %s"
|
|
+
|
|
+#: ../src/actions.py:56
|
|
+#, python-format
|
|
+msgid "You need to have SELinux enabled to perform %s"
|
|
+msgstr "Vous devez avoir SELinux activé pour effectuer %s"
|
|
+
|
|
+#: ../src/actions.py:114
|
|
+msgid "base run class"
|
|
+msgstr "Classe d'exécution de base"
|
|
+
|
|
+#: ../src/actions.py:169
|
|
+#, python-format
|
|
+msgid ""
|
|
+"Test %s failed in a fatal way - returned %d. Stopping execution of the rest "
|
|
+"of the tests"
|
|
+msgstr "Le test %s a échoué de manière fatale - a retourné %d. Stoppe l'exécution du reste des tests"
|
|
+
|
|
+#: ../src/actions.py:289
|
|
+msgid "No matching tests to run"
|
|
+msgstr "Pas de tests correspondants à lancer"
|
|
+
|
|
+#: ../src/actions.py:302
|
|
+#, python-format
|
|
+msgid "Bad level specification - level must be between 1 and %d, got %d"
|
|
+msgstr "Mauvaise spécification de niveau - le niveau doit être compris entre 1 et %d, a reçu %d"
|
|
+
|
|
+#: ../src/actions.py:332
|
|
+#, python-format
|
|
+msgid "Could not send mail: retcode = %d"
|
|
+msgstr "N'a pas pu envoyer le mail: code de retour = %d"
|
|
+
|
|
+#: ../src/actions.py:346
|
|
+msgid "remove old test results"
|
|
+msgstr "Supprimer les anciens resultats de test"
|
|
+
|
|
+#: ../src/actions.py:369
|
|
+msgid "run test(s) at a certain level"
|
|
+msgstr "Lancer le(s) test(s) à un certain niveau"
|
|
+
|
|
+#: ../src/actions.py:411
|
|
+msgid "run test(s)"
|
|
+msgstr "Lancer le(s) test(s)"
|
|
+
|
|
+#: ../src/actions.py:453
|
|
+msgid "query info about test(s)"
|
|
+msgstr "Demander des infos sur le(s) test(s)"
|
|
+
|
|
+#: ../src/actions.py:494
|
|
+msgid "list tests"
|
|
+msgstr "Lister les tests"
|
|
+
|
|
+#: ../src/actions.py:526
|
|
+msgid "action defined in the config file"
|
|
+msgstr "Action définie dans le fichier de config"
|
|
+
|
|
+#: ../src/actions.py:534
|
|
+msgid "Please check if your config file contains a section 'ACTION'"
|
|
+msgstr "Veuillez vérifier si votre fichier de config contient une section 'ACTION'"
|
|
+
|
|
+#: ../src/actions.py:593
|
|
+msgid "Cannot use both include/exclude and test name in test list"
|
|
+msgstr "Ne peut pas utiliser à la fois inclure/exclure et le nom du test dans la liste de tests"
|
|
+
|
|
+#: ../src/actions.py:619
|
|
+msgid "refresh test data"
|
|
+msgstr "Raffraîchir les données du test"
|
|
+
|
|
+#: ../src/guiOutput.py:54 ../src/guiOutput.py:199 ../src/output.py:139
|
|
+msgid "Warning"
|
|
+msgstr "Attention"
|
|
+
|
|
+#: ../src/guiOutput.py:55 ../src/guiOutput.py:202 ../src/output.py:142
|
|
+msgid "Failure"
|
|
+msgstr "Echec"
|
|
+
|
|
+#: ../src/guiOutput.py:56 ../src/guiOutput.py:198 ../src/output.py:138
|
|
+msgid "Error"
|
|
+msgstr "Erreur"
|
|
+
|
|
+#: ../src/guiOutput.py:57 ../src/guiOutput.py:200 ../src/output.py:140
|
|
+msgid "Hint"
|
|
+msgstr "Conseil"
|
|
+
|
|
+#: ../src/guiOutput.py:58 ../src/guiOutput.py:201 ../src/output.py:141
|
|
+msgid "Info"
|
|
+msgstr "Info"
|
|
+
|
|
+#: ../src/guiOutput.py:116
|
|
+msgid "PASSED"
|
|
+msgstr "REUSSI"
|
|
+
|
|
+#: ../src/guiOutput.py:117 ../src/guiOutput.py:197 ../src/output.py:136
|
|
+msgid "WARNING"
|
|
+msgstr "ATTENTION"
|
|
+
|
|
+#: ../src/guiOutput.py:118 ../src/guiOutput.py:197 ../src/output.py:136
|
|
+msgid "ERROR"
|
|
+msgstr "ERREUR"
|
|
+
|
|
+#: ../src/guiOutput.py:119
|
|
+msgid "FAILURE !"
|
|
+msgstr "ECHEC !"
|
|
+
|
|
+#: ../src/guiOutput.py:120 ../src/guiOutput.py:197 ../src/output.py:136
|
|
+msgid "FATAL"
|
|
+msgstr "FATAL"
|
|
+
|
|
+#: ../src/guiOutput.py:121
|
|
+msgid "REFRESHED"
|
|
+msgstr "RAFFRAICHI"
|
|
+
|
|
+#: ../src/guiOutput.py:197 ../src/output.py:136
|
|
+msgid "PASS"
|
|
+msgstr "REUSSIR"
|
|
+
|
|
+#: ../src/guiOutput.py:197 ../src/output.py:136
|
|
+msgid "FAIL"
|
|
+msgstr "ECHOUER"
|
|
+
|
|
+#: ../src/guiOutput.py:216
|
|
+msgid "Test Name:"
|
|
+msgstr "Nom du Test:"
|
|
+
|
|
+#: ../src/guiOutput.py:217
|
|
+msgid "Test Result:"
|
|
+msgstr "Résultat du Test:"
|
|
+
|
|
+#: ../src/guiOutput.py:241
|
|
+msgid "Results saved to:"
|
|
+msgstr "Résultat sauvegardés dans:"
|
|
+
|
|
+#: ../src/guiOutput.py:246
|
|
+msgid "No results. Please run the test at first !"
|
|
+msgstr "Pas de résultat. Veuillez lancer un test d'abord !"
|
|
+
|
|
+#: ../src/guiOutput.py:253
|
|
+msgid "<i>refreshing...</i>"
|
|
+msgstr "<i>actualisation...</i>"
|
|
+
|
|
+#: ../src/guiOutput.py:259
|
|
+msgid "<i>testing...</i>"
|
|
+msgstr "<i>test en cours...</i>"
|
|
+
|
|
+#. test not in testResults, but in timeResults, so the test is in the testing status right now
|
|
+#: ../src/guiOutput.py:346 ../src/guiOutput.py:372 ../src/guiOutput.py:381
|
|
+msgid "Messages: "
|
|
+msgstr "Messages: "
|
|
+
|
|
+#: ../src/guiOutput.py:347 ../src/guiOutput.py:373 ../src/guiOutput.py:382
|
|
+msgid "Errors: "
|
|
+msgstr "Erreurs: "
|
|
+
|
|
+#: ../src/guiOutput.py:348 ../src/guiOutput.py:374 ../src/guiOutput.py:383
|
|
+msgid "Warnings: "
|
|
+msgstr "Avertissements: "
|
|
+
|
|
+#: ../src/guiOutput.py:349 ../src/guiOutput.py:375 ../src/guiOutput.py:384
|
|
+msgid "Hints: "
|
|
+msgstr "Conseils: "
|
|
+
|
|
+#: ../src/guiOutput.py:350 ../src/guiOutput.py:376 ../src/guiOutput.py:385
|
|
+msgid "Info messages: "
|
|
+msgstr "Messages d'info: "
|
|
+
|
|
+#: ../src/guiOutput.py:352
|
|
+msgid "Time the test was running: "
|
|
+msgstr "Durée d'exécution du test: "
|
|
+
|
|
+#: ../src/guiOutput.py:356
|
|
+msgid ""
|
|
+"Test failed: User pressed stop button. Please restart this test to get all "
|
|
+"results."
|
|
+msgstr "Test échoué: L'utilisateur a appuyé sur stop. Veuillez relancer ce test pour obtenir tous les résultats."
|
|
+
|
|
+#: ../src/guiOutput.py:378 ../src/guiOutput.py:387
|
|
+msgid "Summary of time: "
|
|
+msgstr "Résumé du temps: "
|
|
+
|
|
+#: ../src/guiOutput.py:387
|
|
+msgid "Unknown"
|
|
+msgstr "Inconnu"
|
|
+
|
|
+#: ../src/guiOutput.py:410 ../src/guiOutput.py:428 ../src/guiRender.py:1167
|
|
+msgid "All"
|
|
+msgstr "Tout"
|
|
+
|
|
+#: ../src/guiOutput.py:428
|
|
+msgid "Show all test results"
|
|
+msgstr "Montrer tous les résultats du test"
|
|
+
|
|
+#: ../src/guiOutput.py:445
|
|
+msgid "Name: "
|
|
+msgstr "Nom: "
|
|
+
|
|
+#: ../src/guiOutput.py:445
|
|
+msgid "Author: "
|
|
+msgstr "Auteur: "
|
|
+
|
|
+#: ../src/guiOutput.py:465 ../src/guiRender.py:1172
|
|
+msgid "Naive"
|
|
+msgstr "Naif"
|
|
+
|
|
+#: ../src/guiOutput.py:465 ../src/guiRender.py:1173
|
|
+msgid "Desktop"
|
|
+msgstr "Bureau"
|
|
+
|
|
+#: ../src/guiOutput.py:465 ../src/guiRender.py:1174
|
|
+msgid "Network"
|
|
+msgstr "Réseau"
|
|
+
|
|
+#: ../src/guiOutput.py:465 ../src/guiRender.py:1175
|
|
+msgid "Server"
|
|
+msgstr "Serveur"
|
|
+
|
|
+#: ../src/guiOutput.py:465 ../src/guiRender.py:1176
|
|
+msgid "Paranoid"
|
|
+msgstr "Paranoïaque"
|
|
+
|
|
+#: ../src/guiOutput.py:480
|
|
+msgid "Please wait, executing test "
|
|
+msgstr "Veuillez patienter, test en cours "
|
|
+
|
|
+#: ../src/guiOutput.py:565
|
|
+msgid ""
|
|
+"Configuration of test levels has changed.\n"
|
|
+"\n"
|
|
+"Do you want to save new configuration?"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:675 ../src/guiRender.py:1447
|
|
+msgid "Wrong call of appendMessage() function: missing gtk.TreeModel"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:677 ../src/guiRender.py:1449
|
|
+msgid "Wrong call of appendMessage() function: missing message string"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1082
|
|
+msgid "Overview"
|
|
+msgstr "Aperçu"
|
|
+
|
|
+#: ../src/guiRender.py:1083
|
|
+msgid "Test Results"
|
|
+msgstr "Résultats du Test"
|
|
+
|
|
+#: ../src/guiRender.py:1101
|
|
+msgid "Test info"
|
|
+msgstr "Infos sur le test"
|
|
+
|
|
+#: ../src/guiRender.py:1110
|
|
+msgid "Test groups"
|
|
+msgstr "Groupes de test"
|
|
+
|
|
+#: ../src/guiRender.py:1119
|
|
+msgid "Test is defined in levels"
|
|
+msgstr "Le test est défini dans les niveaux"
|
|
+
|
|
+#: ../src/guiRender.py:1128
|
|
+msgid "Test description"
|
|
+msgstr "Description du test"
|
|
+
|
|
+#: ../src/guiRender.py:1179
|
|
+msgid "Choose a group to filter tests"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1180
|
|
+msgid "Choose a level to run the test"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1275
|
|
+msgid "Summary"
|
|
+msgstr "Résumé"
|
|
+
|
|
+#: ../src/guiRender.py:1307 ../src/guiRender.py:1428
|
|
+msgid "Test"
|
|
+msgstr "Test"
|
|
+
|
|
+#: ../src/guiRender.py:1308
|
|
+msgid "Result"
|
|
+msgstr "Résultat"
|
|
+
|
|
+#: ../src/guiRender.py:1371 ../src/guiRender.py:1373
|
|
+msgid "Test does not meet the requirements: "
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1384
|
|
+msgid "All tests done. "
|
|
+msgstr "Tous les tests finis. "
|
|
+
|
|
+#: ../src/guiRender.py:1426
|
|
+msgid "Mark"
|
|
+msgstr "Note"
|
|
+
|
|
+#: ../src/guiRender.py:1427
|
|
+msgid "Severity"
|
|
+msgstr "Sévérité"
|
|
+
|
|
+#: ../src/guiRender.py:1429
|
|
+msgid "Num"
|
|
+msgstr "Num"
|
|
+
|
|
+#: ../src/guiRender.py:1430 ../src/output.py:284 ../src/output.py:334
|
|
+msgid "Description"
|
|
+msgstr "Description"
|
|
+
|
|
+#. Root menu "FILE"
|
|
+#: ../src/guiRender.py:1524 ../src/guiRender.py:1652
|
|
+msgid "Start the selected test"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1525 ../src/guiRender.py:1653
|
|
+msgid "_Start the selected test"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1528 ../src/guiRender.py:1656
|
|
+msgid "Start the test"
|
|
+msgstr "Lancer le test"
|
|
+
|
|
+#: ../src/guiRender.py:1529 ../src/guiRender.py:1657
|
|
+msgid "Start checked tests in selected level"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1530 ../src/guiRender.py:1658
|
|
+msgid "_Start checked tests in selected level"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1533 ../src/guiRender.py:1661
|
|
+msgid "Start the whole level"
|
|
+msgstr "Lancer le niveau complet"
|
|
+
|
|
+#: ../src/guiRender.py:1534
|
|
+msgid "Load default level configuration"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1535
|
|
+msgid "_Load default level configuration"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1538
|
|
+msgid "Load default configuration for levels"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1539
|
|
+msgid "Clear and refresh test data"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1540
|
|
+msgid "_Clear & refresh test data"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1543 ../src/guiRender.py:1756
|
|
+msgid "Removes any data owned by a test and runs it just to recreate them."
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1546
|
|
+msgid "Root Menu"
|
|
+msgstr "Menu Racine"
|
|
+
|
|
+#: ../src/guiRender.py:1546
|
|
+msgid "_Root Menu"
|
|
+msgstr "_Menu Racine"
|
|
+
|
|
+#: ../src/guiRender.py:1662
|
|
+msgid "Start"
|
|
+msgstr "Démarrer"
|
|
+
|
|
+#: ../src/guiRender.py:1662
|
|
+msgid "_Start"
|
|
+msgstr "_Démarrer"
|
|
+
|
|
+#. ---
|
|
+#: ../src/guiRender.py:1665 ../src/guiRender.py:1760
|
|
+msgid "Stop"
|
|
+msgstr "Stop"
|
|
+
|
|
+#: ../src/guiRender.py:1665
|
|
+msgid "S_top"
|
|
+msgstr "S_top"
|
|
+
|
|
+#: ../src/guiRender.py:1668 ../src/guiRender.py:1763
|
|
+msgid "Quit"
|
|
+msgstr "Quitter"
|
|
+
|
|
+#: ../src/guiRender.py:1668
|
|
+msgid "_Quit"
|
|
+msgstr "_Quitter"
|
|
+
|
|
+#: ../src/guiRender.py:1670
|
|
+msgid "Quit program"
|
|
+msgstr "Quitter le programme"
|
|
+
|
|
+#: ../src/guiRender.py:1671
|
|
+msgid "File"
|
|
+msgstr "Fichier"
|
|
+
|
|
+#: ../src/guiRender.py:1671
|
|
+msgid "_File"
|
|
+msgstr "_Fichier"
|
|
+
|
|
+#. Root menu Edit
|
|
+#. self.renderRootMenuItem( _("Edit"), _("_Edit"), menuBar, None )
|
|
+#. Root menu View
|
|
+#: ../src/guiRender.py:1676
|
|
+msgid "Show info messages"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1677 ../src/guiRender.py:1762
|
|
+msgid "Show hints"
|
|
+msgstr "Montrer les conseils"
|
|
+
|
|
+#: ../src/guiRender.py:1678
|
|
+msgid "View"
|
|
+msgstr "Affichage"
|
|
+
|
|
+#: ../src/guiRender.py:1678
|
|
+msgid "_View"
|
|
+msgstr "_Affichage"
|
|
+
|
|
+#. Root menu Tools
|
|
+#. self.renderRootMenuItem( _("Tools"), _("_Tools"), menuBar, None )
|
|
+#. Root menu Help
|
|
+#: ../src/guiRender.py:1682
|
|
+msgid "About"
|
|
+msgstr "A propos"
|
|
+
|
|
+#: ../src/guiRender.py:1682
|
|
+msgid "_About"
|
|
+msgstr "A _propos"
|
|
+
|
|
+#: ../src/guiRender.py:1684
|
|
+msgid "About Dialog"
|
|
+msgstr "A propos de SecTool"
|
|
+
|
|
+#: ../src/guiRender.py:1685
|
|
+msgid "Help"
|
|
+msgstr "Aide"
|
|
+
|
|
+#: ../src/guiRender.py:1685
|
|
+msgid "_Help"
|
|
+msgstr "Aid_e"
|
|
+
|
|
+#. ---
|
|
+#: ../src/guiRender.py:1730 ../src/guiRender.py:1734
|
|
+msgid "Start level"
|
|
+msgstr "Lancer le niveau"
|
|
+
|
|
+#: ../src/guiRender.py:1735
|
|
+msgid "Start selected _level"
|
|
+msgstr "Lancer le _niveau sélectionné"
|
|
+
|
|
+#: ../src/guiRender.py:1737
|
|
+msgid "Start whole level"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1738
|
|
+msgid "Start test"
|
|
+msgstr "Lancer le test"
|
|
+
|
|
+#: ../src/guiRender.py:1739
|
|
+msgid "Start selected _test"
|
|
+msgstr "Lancer le _test sélectionné"
|
|
+
|
|
+#: ../src/guiRender.py:1741
|
|
+msgid "Start choosen test"
|
|
+msgstr "Lancer le test choisi"
|
|
+
|
|
+#. ---
|
|
+#: ../src/guiRender.py:1745
|
|
+msgid "Clear tests"
|
|
+msgstr "Effacer les tests"
|
|
+
|
|
+#: ../src/guiRender.py:1749
|
|
+msgid "Clear and refresh all tests"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1750
|
|
+msgid "Clear & refresh all tests"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1752
|
|
+msgid "Removes all data for all tests"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1753
|
|
+msgid "Clear and refresh selected test"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1754
|
|
+msgid "Clear & refresh selected test"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/guiRender.py:1761
|
|
+msgid "Show info"
|
|
+msgstr "Montrer les infos"
|
|
+
|
|
+#: ../src/guiRender.py:1764
|
|
+msgid "Save..."
|
|
+msgstr "Enregistrer..."
|
|
+
|
|
+#: ../src/mailoutput.py:165
|
|
+msgid ""
|
|
+"Neither TARGET=LOCAL nor TARGET=SMTP found in config file (section[MAIL]"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/output.py:136
|
|
+msgid "INVALID"
|
|
+msgstr "INVALIDE"
|
|
+
|
|
+#: ../src/output.py:169
|
|
+#, python-format
|
|
+msgid ""
|
|
+"%s\n"
|
|
+"\tThe test did not change its result"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/output.py:200
|
|
+#, python-format
|
|
+msgid "\t%s:%s\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/output.py:203
|
|
+#, python-format
|
|
+msgid "\t%s:%s (Changed from: %s)\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/output.py:215
|
|
+#, python-format
|
|
+msgid "%s ->"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/output.py:224
|
|
+#, python-format
|
|
+msgid " %s: %s\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/output.py:268
|
|
+msgid "\tFailure"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/output.py:283 ../src/output.py:330
|
|
+msgid "Name"
|
|
+msgstr "Nom"
|
|
+
|
|
+#: ../src/output.py:285 ../src/output.py:333
|
|
+msgid "Levels"
|
|
+msgstr "Niveaux"
|
|
+
|
|
+#: ../src/output.py:322
|
|
+msgid ""
|
|
+"\n"
|
|
+"An asterisk (*) in the Levels column denotes test that can't be run due to "
|
|
+"missing requirements"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/output.py:331
|
|
+msgid "Script name"
|
|
+msgstr "Nom du script"
|
|
+
|
|
+#: ../src/output.py:332
|
|
+msgid "Groups"
|
|
+msgstr "Groupes"
|
|
+
|
|
+#: ../src/output.py:346
|
|
+msgid "Run report"
|
|
+msgstr "Lancer un rapport"
|
|
+
|
|
+#: ../src/output.py:347
|
|
+msgid "Total tests run"
|
|
+msgstr "Total des tests lancés"
|
|
+
|
|
+#: ../src/output.py:348
|
|
+msgid "Passed"
|
|
+msgstr "Réussi"
|
|
+
|
|
+#: ../src/output.py:349
|
|
+msgid "Warnings"
|
|
+msgstr "Avertissements"
|
|
+
|
|
+#: ../src/output.py:350
|
|
+msgid "Errors"
|
|
+msgstr "Erreurs"
|
|
+
|
|
+#: ../src/output.py:351
|
|
+msgid "Invalid runs"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/output.py:352
|
|
+msgid "Failures"
|
|
+msgstr "Echecs"
|
|
+
|
|
+#: ../src/output.py:353
|
|
+msgid "Fatal failures"
|
|
+msgstr "Erreurs fatales"
|
|
+
|
|
+#: ../src/sectool-gui.py:80
|
|
+msgid "Security Tool GUI"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool-gui.py:86
|
|
+msgid "Security Tool"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool-gui.py:259
|
|
+msgid "Cancelling, please wait..."
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool-gui.py:291
|
|
+msgid "Fedora Security Tool"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool-gui.py:292
|
|
+msgid "Copyright by Red Hat "
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool-gui.py:293
|
|
+msgid "An auditing tool for Fedora and Red Hat systems only."
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool-gui.py:294
|
|
+msgid "Version"
|
|
+msgstr "Version"
|
|
+
|
|
+#: ../src/sectool-gui.py:700
|
|
+msgid "Initializing.."
|
|
+msgstr ""
|
|
+
|
|
+#. : ^C .. what a noob ?!?
|
|
+#: ../src/sectool-gui.py:806 ../src/sectool.py:340
|
|
+msgid "Exiting on user request.\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:99
|
|
+msgid "Specify a configuration file"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:103
|
|
+msgid "Debug mode"
|
|
+msgstr "Mode de débogage"
|
|
+
|
|
+#: ../src/sectool.py:107
|
|
+msgid ""
|
|
+"Print traceback for development purposes on encountering\n"
|
|
+"an error that is otherwise handled gracefully"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:112
|
|
+msgid "Display hints when available"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:116
|
|
+msgid "Send email report"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:121
|
|
+msgid "Filter tests by group"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:125
|
|
+msgid "Display only diff against previous run (if available)"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:130
|
|
+msgid ""
|
|
+"If running a level, include these tests that may be not defined in that "
|
|
+"level."
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:135
|
|
+msgid ""
|
|
+"If running a level, exclude these tests that may be not defined in that "
|
|
+"level."
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:139
|
|
+msgid "Print a report about the run after it finishes"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:148
|
|
+msgid "List tests and their level configuration"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:153
|
|
+msgid "Query info about a test"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:158
|
|
+msgid ""
|
|
+"Run all tests in a collection at a certain level.\n"
|
|
+"The level can be specified either as an integer (1-5) or string nickname\n"
|
|
+"(Naive, Desktop, Network, Server, Paranoid). See sectool(8) for more details."
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:165
|
|
+msgid "Run selected tests"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:170
|
|
+msgid "Perform the action defined in the config file"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:175
|
|
+msgid "Cleans the XML cache which stores previous test results"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:180
|
|
+msgid "Removes any data owned by a test and runs it just to recreate them"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:204
|
|
+#, python-format
|
|
+msgid "Unknown action %s"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:220 ../src/sectool.py:222
|
|
+msgid ""
|
|
+"Bad level specification - use --level <num> where <num> is between 1 and 5"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:268
|
|
+msgid "Must select at least one action"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:279
|
|
+msgid "Only one action can be selected at a time"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.py:308
|
|
+#, python-format
|
|
+msgid "Could not instantiate action based upon %s"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/tuierrors.py:13
|
|
+#, python-format
|
|
+msgid "Error: %s"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/tuierrors.py:31
|
|
+#, python-format
|
|
+msgid "%s"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/tuierrors.py:38
|
|
+#, python-format
|
|
+msgid "SecTool Error: %s"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/aliases.sh:71 ../tests/aliases.sh:105
|
|
+msgid "Please unset it the group writing bit"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/aliases.sh:78 ../tests/aliases.sh:112
|
|
+msgid "Please unset it the world writing bit"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/aliases.sh:85 ../tests/aliases.sh:119
|
|
+msgid "Please chown this file to root:root"
|
|
+msgstr ""
|
|
+
|
|
+#. ############################ DEBUG
|
|
+#: ../tests/bash_defs_debug.sh:87 ../tests/bash_defs.sh:41
|
|
+msgid "--"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/disc_usage.sh:39
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"Device $device mounted to $directory is full! There is $percent_used used!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/disc_usage.sh:40 ../tests/disc_usage.sh:43
|
|
+msgid "Please backup and delete unused files from this directory"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/disc_usage.sh:42
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"Device $device mounted to $directory is going to be full! There is "
|
|
+"$percent_used used!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/exec-shield.sh:15
|
|
+msgid "Exec-shield is disabled."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/exec-shield.sh:16 ../tests/exec-shield.sh:23
|
|
+msgid "You can use \"sysctl\" command to turn it on."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/exec-shield.sh:22
|
|
+msgid "Virtual addresses randomization is disabled."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/firewall.sh:701
|
|
+msgid "IPv4 forwarding is ENABLED."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/firewall.sh:708
|
|
+msgid "IPv4 source routing is ENABLED on ALL interfaces!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/firewall.sh:714
|
|
+msgid "IPv4 Source routing is ENABLED as default!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/firewall.sh:819
|
|
+msgid "IPv6 forwarding is ENABLED."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:52 ../tests/home_files.sh:92 ../tests/passwd.sh:65
|
|
+#: ../tests/shadow.sh:52
|
|
+msgid "You have to be logged as root to run this test!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:72
|
|
+#, sh-format
|
|
+msgid "$group: Line $i is empty"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:73 ../tests/passwd.sh:87 ../tests/shadow.sh:71
|
|
+msgid "Please delete this line."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:81
|
|
+#, sh-format
|
|
+msgid "$group: Line $i has wrong number of fields"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:82
|
|
+msgid "Please see 'man group' and correct this line."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:95
|
|
+#, sh-format
|
|
+msgid "$group: Line $i: missing groupname!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:96
|
|
+msgid ""
|
|
+"Check this line, fill in first item (groupname), or delete the whole line."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:103
|
|
+#, sh-format
|
|
+msgid "$group: Line $i: Groupname $groupname contains disallowed characters."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:104
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"Check this line and rename the groupname to contain lowercase letters only. "
|
|
+"Don't forget to update the $group_shadow file!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:113
|
|
+#, sh-format
|
|
+msgid "$group: Line $i: Group $groupname has too long name."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:114
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"Check this line and rename the name of the group to be shorter than "
|
|
+"$MaxLength characters. Don't forget to update the $group_shadow file"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:120
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"$group: Line $i: Group $groupname has a password, but it is not shadowed"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:121
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"Please use grpconv utility for moving group passwords from $group to "
|
|
+"$group_shadow"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:127
|
|
+#, sh-format
|
|
+msgid "$group: Line $i: Group ID of the group $groupname is not a valid number"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:128
|
|
+msgid "Please correct the group ID."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:135
|
|
+#, sh-format
|
|
+msgid "$group: Line $i: Group $groupname has GID out of range"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:136
|
|
+#, sh-format
|
|
+msgid "Change GID of this group to be in the range <0, $GID_MAX_VALUE>"
|
|
+msgstr ""
|
|
+
|
|
+#. delete last coma
|
|
+#: ../tests/group.sh:151
|
|
+#, sh-format
|
|
+msgid "Duplicate group name '$groupname' (lines $lines)"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:152
|
|
+msgid ""
|
|
+"Please change groupnames on these lines to be different or delete duplicate "
|
|
+"records"
|
|
+msgstr ""
|
|
+
|
|
+#. delete last coma
|
|
+#: ../tests/group.sh:163
|
|
+#, sh-format
|
|
+msgid "Duplicate group IDs '$groupID' (lines $lines)"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:164
|
|
+msgid ""
|
|
+"Please change IDs on these lines to be different or delete duplicate records"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:172
|
|
+#, sh-format
|
|
+msgid "User root has GID $root_gid, but should have 0"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/group.sh:173
|
|
+msgid "Change root's GID to 0"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/home_dirs.sh:106 ../tests/openssh.sh:576 ../tests/routing.sh:27
|
|
+msgid "This is a first run of the test. Some parts of audit are skipped."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/home_files.sh:103
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"Could not detect users' home directory in $useradd, the default will be used"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/home_files.sh:161
|
|
+#, sh-format
|
|
+msgid "User \"$line_username\" can't read his $tested_file!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/home_files.sh:167
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"User \"$line_username\" allows users from his group to read his $tested_file!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/home_files.sh:171
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"User \"$line_username\" allows users from his group to write to his "
|
|
+"$tested_file!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/home_files.sh:177
|
|
+#, sh-format
|
|
+msgid "User \"$line_username\" allows other users to read his $tested_file!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/home_files.sh:181
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"User \"$line_username\" allows other users to write to his $tested_file!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/logfiles.sh:37
|
|
+#, sh-format
|
|
+msgid "File $file doesn't exist!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/logfiles.sh:38
|
|
+msgid "Please create this file."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/logfiles.sh:43
|
|
+#, sh-format
|
|
+msgid "File $file has wrong owner. The correct owner is $owner."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/logfiles.sh:44
|
|
+msgid "Please change the owner of this file to the recommended one."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/logfiles.sh:50
|
|
+#, sh-format
|
|
+msgid "File $file has wrong group. The correct group is $group."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/logfiles.sh:51
|
|
+msgid "Please change the group of this file to the recommended one."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/logfiles.sh:58
|
|
+#, sh-format
|
|
+msgid "File $file has wrong permssions! The correct permissions are $perm."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/logfiles.sh:59
|
|
+msgid "Please change the permissions of this file to the recommended value."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/netserv.sh:102 ../tests/openssh.sh:159 ../tests/openvpn.sh:100
|
|
+msgid "Created new SHA256 list."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/netserv.sh:105 ../tests/openssh.sh:164 ../tests/openvpn.sh:103
|
|
+msgid "SHA256 list not found."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/netserv.sh:323
|
|
+msgid "The origin of this file is unknown."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/netserv.sh:343
|
|
+msgid "Update your system to get rid of this message."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/nfs.sh:28
|
|
+#, sh-format
|
|
+msgid "File $EXPORTS was not found!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/openssh.sh:267
|
|
+msgid "Remove all unnecessary files from this directory."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/openssh.sh:283
|
|
+msgid "SSHv1 is enabled. Using of this version is DEPRECATED."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/openssh.sh:375
|
|
+msgid "Remote root login IS ENABLED."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/openssh.sh:379
|
|
+msgid "Remote root login IS ENABLED only with publickey authentication."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/openssh.sh:382
|
|
+msgid "Remote root login IS ENABLED, only forced commands allowed."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/openssh.sh:386
|
|
+msgid "Remote root login IS NOT EXPLICITLY DISABLED."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/openssh.sh:387
|
|
+msgid ""
|
|
+"The default value is not known. If you don't want to allow remote root "
|
|
+"login, then you should disable it in your sshd_config."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/openssh.sh:394
|
|
+msgid ""
|
|
+"Remote access IS NOT restricted with the AllowGroups nor the AllowUsers "
|
|
+"directive"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/openssh.sh:395
|
|
+msgid ""
|
|
+"It is recommended to resctrict remote login only to users that needs it or "
|
|
+"create a special group for this purpose."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/openssh.sh:401
|
|
+msgid "Challenge-response and PAM authentication ARE DISABLED."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/openssh.sh:405
|
|
+msgid "Processing of user's enviroment IS ENABLED."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/openssh.sh:409
|
|
+msgid "StrictModes DISABLED."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/openssh.sh:413
|
|
+msgid "Privilege separation IS DISABLED."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/openssh.sh:422
|
|
+msgid "ClientAliveCountMax is set to 0 (no limit)"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/openssh.sh:424
|
|
+msgid "ClientAliveCountMax is greater than 6"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/openssh.sh:432
|
|
+msgid "ClientAliveInterval set to 0 (no limit)"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/openssh.sh:434
|
|
+msgid "ClientAliveInterval is higher than 600 seconds"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/pam.sh:23
|
|
+msgid "New passwords for system services aren't checked with cracklib."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/pam.sh:30
|
|
+msgid ""
|
|
+"Account lockout after repetitive failed login attempts is not configured."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:86
|
|
+#, sh-format
|
|
+msgid "$passwd: Line $i is empty"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:95
|
|
+#, sh-format
|
|
+msgid "$passwd: Line $i has wrong number of fields"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:96
|
|
+msgid "Please see 'man 5 passwd' and correct this line."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:112
|
|
+#, sh-format
|
|
+msgid "$passwd: Line $i: missing username!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:113
|
|
+msgid ""
|
|
+"Check this line, fill in first item (username), or delete the whole line."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:120
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"$passwd: Line $i: User $username contains disallowed characters in his login."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:121 ../tests/shadow.sh:102
|
|
+msgid ""
|
|
+"Check this line and rename user's login to contain lowercase letters only."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:130
|
|
+#, sh-format
|
|
+msgid "$passwd: Line $i: User $username has too long username."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:131
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"Check this line and rename user's login to be shorter than $MaxLength "
|
|
+"characters"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:137
|
|
+#, sh-format
|
|
+msgid "$passwd: Line $i: User $username has no password!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:138
|
|
+msgid "Please use 'passwd' utility immediately to set his password!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:144
|
|
+#, sh-format
|
|
+msgid "$passwd: Line $i: User ${username}'s password is not shadowed"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:145
|
|
+#, sh-format
|
|
+msgid "Please use pwconv utility for moving passwords from $passwd to $shadow"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:152
|
|
+#, sh-format
|
|
+msgid "$passwd: Line $i: User ID of user $username is not a valid number"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:153
|
|
+#, sh-format
|
|
+msgid "Please correct the user ID in $passwd."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:159
|
|
+#, sh-format
|
|
+msgid "$passwd: Line $i: Group ID of user $username is not a valid number"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:160
|
|
+#, sh-format
|
|
+msgid "Please correct the group ID in $passwd."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:167
|
|
+#, sh-format
|
|
+msgid "$passwd: Line $i: User $username has UID out of range"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:168
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"Change UID of this user to be in the range <$UID_MIN_VALUE, $UID_MAX_VALUE> "
|
|
+"(ordinary users) or less than $UID_MIN_VALUE (daemons)."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:173
|
|
+#, sh-format
|
|
+msgid "$passwd: Line $i: User $username has GID out of range"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:174
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"Change GID of this user to be in the range <$GID_MIN_VALUE, $GID_MAX_VALUE> "
|
|
+"(ordinary users) or less than $GID_MIN_VALUE (daemons)."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:182
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"$passwd: Line $i: User $username has UID 0, but his login is not 'root'!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:183
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"If there are more users with UID 0 in $passwd (you should see them on next "
|
|
+"lines), delete all but the first. Then set his name to root."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:189
|
|
+#, sh-format
|
|
+msgid "$passwd: Line $i: User $username has UID 1, but his login is not 'bin'!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:190
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"If there are more users with UID 1 in $passwd (you should see them on next "
|
|
+"lines), delete all but the first. Then set his name to 'bin'."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:197
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"$passwd: Line $i: User $username has GID 0, but his login is not 'root'!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:198
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"If there are more users with GID 0 in $passwd (you should see them on next "
|
|
+"lines), delete all but the first. Then set his name to root."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:204
|
|
+#, sh-format
|
|
+msgid "$passwd: Line $i: User $username has GID 1, but his login is not 'bin'!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:205
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"If there are more users with GID 1 in $passwd (you should see them on next "
|
|
+"lines), delete all but the first. Then set his name to 'bin'."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:211
|
|
+#, sh-format
|
|
+msgid "$passwd: Line $i: User $username has a negative user ID"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:212
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"Set his UID to non-negative and not yet used value in the range <"
|
|
+"$UID_MIN_VALUE,$UID_MAX_VALUE> (ordinary users) or less than $UID_MIN_VALUE "
|
|
+"(daemons)."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:218
|
|
+#, sh-format
|
|
+msgid "$passwd: Line $i: User $username has a negative group ID"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:219
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"Set his GID to non-negative and not yet used value in the range <"
|
|
+"$GID_MIN_VALUE,$GID_MAX_VALUE> (ordinary users) or less than $GID_MIN_VAL "
|
|
+"(daemons)."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:238
|
|
+#, sh-format
|
|
+msgid "$passwd: Line $i: User $username has strange shell $shell"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:239
|
|
+msgid ""
|
|
+"Set last field on this line to /bin/bash, or add the shell to /etc/shells"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:281
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"User $user (passwd line $line) has the same UID ($uid) as user "
|
|
+"$prev_username (passwd line $prev_line)"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:282
|
|
+msgid ""
|
|
+"Please change UID of this user and don't forget to chown his home directory"
|
|
+msgstr ""
|
|
+
|
|
+#. delete last coma
|
|
+#: ../tests/passwd.sh:297
|
|
+#, sh-format
|
|
+msgid "Duplicate login '$user' ($passwd lines $lines)"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:298 ../tests/shadow.sh:136
|
|
+msgid ""
|
|
+"Please change usernames on these lines to be different or delete duplicate "
|
|
+"records"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:306
|
|
+#, sh-format
|
|
+msgid "User root has UID $root_uid, but should have 0"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/passwd.sh:307
|
|
+msgid "Change root's UID to 0"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/path.sh:70
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"Path variable contains directory $dir, which doesn't exist or is not an "
|
|
+"directory."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/path.sh:71
|
|
+msgid "Please look in your startup scripts and remove this setting"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/path.sh:76
|
|
+#, sh-format
|
|
+msgid "Path variable contains directory $dir, which is group-writable"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/path.sh:77 ../tests/path.sh:83
|
|
+msgid ""
|
|
+"Please look in your startup scripts and remove this setting. This directory "
|
|
+"can be used to make you execute a fake (and dangerous) binary file, i.e. ls"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/path.sh:82
|
|
+#, sh-format
|
|
+msgid "Path variable contains directory $dir, which is world-writable"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/path.sh:93
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"File ${file}, which is placed in PATH directory ${dir}, is writable NOT only "
|
|
+"by his owner! The correct permissions should be 755."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/path.sh:94
|
|
+msgid ""
|
|
+"This is VERY dangerous, since one can change contents of this executable. "
|
|
+"Please set permissions of this file to the recommended one immediately!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/path.sh:106
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"File ${file}, which is placed in PATH directory ${dir}, is owned by someone "
|
|
+"else than by root!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/path.sh:107
|
|
+msgid ""
|
|
+"This is VERY dangerous, since one can change contents of this executable. "
|
|
+"Please change the owner and group of this file to 'root' immediately!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/permissions.sh:70
|
|
+#, sh-format
|
|
+msgid "Directory $dir doesn't exist!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/permissions.sh:71
|
|
+msgid "Please create this directory."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/permissions.sh:77
|
|
+#, sh-format
|
|
+msgid "Directory $dir has wrong owner"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/permissions.sh:78
|
|
+msgid "Please change owner of this directory to root."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/permissions.sh:84
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"Directory $dir has wrong permissions! The correct permissions should be "
|
|
+"$perm."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/permissions.sh:85
|
|
+msgid "Please change the permissions to the recommended value."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/selftest.sh:37
|
|
+msgid "Tests are not executed under root"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/selftest.sh:43
|
|
+msgid "Variable \"VAR_NAMES\" is empty or not exported."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/selinux.sh:19
|
|
+msgid ""
|
|
+"Using Enforing mode is highly recommended. See selinux manual page for "
|
|
+"switching to Enforcing mode."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/shadow.sh:70
|
|
+#, sh-format
|
|
+msgid "$shadow: Line $i is empty"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/shadow.sh:79
|
|
+#, sh-format
|
|
+msgid "$shadow: Line $i has wrong number of fields"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/shadow.sh:80
|
|
+msgid "Please see 'man 5 shadow' and correct this line."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/shadow.sh:93
|
|
+#, sh-format
|
|
+msgid "$shadow: Line $i: missing username!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/shadow.sh:94
|
|
+msgid "Check this line, fill in first item (username), or delete whole line."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/shadow.sh:101
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"$shadow: Line $i: User $username contains disallowed characters in his login."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/shadow.sh:111
|
|
+#, sh-format
|
|
+msgid "$shadow: Line $i: User $username has too long username."
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/shadow.sh:112
|
|
+#, sh-format
|
|
+msgid ""
|
|
+"Check this line in $shadow and rename user's login to be shorter than "
|
|
+"$MaxLength characters"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/shadow.sh:118
|
|
+#, sh-format
|
|
+msgid "$shadow: Line $i: User $username has no password!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/shadow.sh:119
|
|
+msgid "Run 'passwd' utility immediately to set his password!"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/tcp_wrappers.sh:63
|
|
+msgid ""
|
|
+"Please consider restricting access to this service i.e. according to IP "
|
|
+"address ranges"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/xinetd.sh:66 ../tests/xinetd.sh:75
|
|
+msgid "auth service IS ENABLED"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/xinetd.sh:84
|
|
+msgid "systat service IS ENABLED"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/xinetd.sh:93
|
|
+msgid "chargen service IS ENABLED"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/xinetd.sh:102
|
|
+msgid "echo service IS ENABLED"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/xinetd.sh:111
|
|
+msgid "finger service IS ENABLED"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/xinetd.sh:120
|
|
+msgid "netstat service IS ENABLED"
|
|
+msgstr ""
|
|
+
|
|
+#: ../tests/xinetd.sh:129
|
|
+msgid "rusers service IS ENABLED"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/filesystem.c:255
|
|
+msgid ""
|
|
+"No local devices found. This is probably due to a misconfiguration. Check "
|
|
+"the FSTYPES variable in dsc file.\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/filesystem.c:257
|
|
+msgid "Please set the FSTYPES variable in dsc file.\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/filesystem.c:289
|
|
+msgid "block device"
|
|
+msgstr "périphérique bloc"
|
|
+
|
|
+#: ../src/filesystem.c:290
|
|
+msgid "character device"
|
|
+msgstr "périphérique caractère"
|
|
+
|
|
+#: ../src/filesystem.c:291
|
|
+msgid "directory"
|
|
+msgstr "répertoire"
|
|
+
|
|
+#: ../src/filesystem.c:292
|
|
+msgid "FIFO/pipe"
|
|
+msgstr "FIFO/pipe"
|
|
+
|
|
+#: ../src/filesystem.c:293
|
|
+msgid "symlink"
|
|
+msgstr "lien symbolique"
|
|
+
|
|
+#: ../src/filesystem.c:294
|
|
+msgid "regular file"
|
|
+msgstr "fichier régulier"
|
|
+
|
|
+#: ../src/filesystem.c:295
|
|
+msgid "socket"
|
|
+msgstr "socket"
|
|
+
|
|
+#: ../src/filesystem.c:296
|
|
+msgid "unknown"
|
|
+msgstr "inconnu"
|
|
+
|
|
+#: ../src/filesystem.c:374
|
|
+#, c-format
|
|
+msgid "Mislabeled %s '%s' found. Labeled as '%s', should be '%s'.\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/filesystem.c:376
|
|
+msgid "File is not labeled as defined in configuration. See man restorecon.\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/filesystem.c:397
|
|
+#, c-format
|
|
+msgid "User ID of %s \"%s\" doesn't exist in user database.\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/filesystem.c:403
|
|
+#, c-format
|
|
+msgid "Group ID of %s \"%s\" doesn't exist in group database.\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/filesystem.c:412
|
|
+#, c-format
|
|
+msgid "File \"%s\" is world writable.\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/filesystem.c:418
|
|
+#, c-format
|
|
+msgid "File \"%s\" is executable and world writable.\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/filesystem.c:420
|
|
+#, c-format
|
|
+msgid "File \"%s\" is executable and group writable.\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/filesystem.c:434
|
|
+#, c-format
|
|
+msgid "File \"%s\" is SUID script.\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/filesystem.c:449
|
|
+#, c-format
|
|
+msgid "The executable file \"%s\" doesn't belong to any package.\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/filesystem.c:461
|
|
+#, c-format
|
|
+msgid "Directory \"%s\" is world writable but the sticky bit is not set.\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/filesystem.c:478
|
|
+#, c-format
|
|
+msgid "Symbolic link \"%s\" points to a non-existent file \"%s\".\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/filesystem.c:575
|
|
+#, c-format
|
|
+msgid "rpmReadConfigFiles: Failed :[\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/filesystem.c:576
|
|
+msgid "RPMCHECK is enabled and RPM configuration loading failed.\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/filesystem.c:588
|
|
+msgid ""
|
|
+"SELINUXCHECK is enabled but filesystem test was not compiled with SELinux "
|
|
+"support.\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/filesystem.c:645
|
|
+msgid "Nothing to check, INCLUDE variable is empty.\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.c:56
|
|
+#, c-format
|
|
+msgid "Internal error: Unknown return code %d\n"
|
|
+msgstr ""
|
|
+
|
|
+#: ../src/sectool.c:88
|
|
+#, c-format
|
|
+msgid "Internal error: Unknown message type %d\n"
|
|
+msgstr ""
|
|
+
|
|
diff --git a/src/actions.py b/src/actions.py
|
|
index 333c6d2..d4c4c50 100644
|
|
--- a/src/actions.py
|
|
+++ b/src/actions.py
|
|
@@ -164,9 +164,8 @@ class ST_RunAction(ST_Action):
|
|
result = self._handle_missing_requirement(test.dsc["HEADER"]["NAME"], e)
|
|
|
|
if result.result == scheduler.ST_TestResult.r_fatal:
|
|
- print >>self.stream, self.formatter.test_result_header(test.dsc['HEADER']['NAME'], raw=not self.stream.isatty())
|
|
- print >>self.stream, self.formatter.output_one_result(result, self.options)
|
|
- raise tuierrors.SecToolActionError(self.name, _("Test %s failed in a fatal way - returned %d. Stopping execution of the rest of the tests" % (test.dsc['HEADER']['NAME'], result.return_code)))
|
|
+ print >>self.stream, _(" Test %s failed in a fatal way - returned %d. Stopping execution of the rest of the tests" % (test.dsc['HEADER']['NAME'], result.return_code))
|
|
+ return result
|
|
|
|
return result
|
|
|
|
diff --git a/src/filesystem.c b/src/filesystem.c
|
|
index e6c69d3..93ad23a 100644
|
|
--- a/src/filesystem.c
|
|
+++ b/src/filesystem.c
|
|
@@ -151,8 +151,8 @@ int matchsymwhite (const char *symlink, const char *target) {
|
|
register size_t i;
|
|
|
|
for (i = 0; i < symwhite_arr_size; ++i) {
|
|
- if (fnmatch ( symwhite_arr[i], symlink, FNM_PATHNAME) == 0 &&
|
|
- fnmatch (symwhite_tarr[i], target, FNM_PATHNAME) == 0) {
|
|
+ if (fnmatch ( symwhite_arr[i], symlink, 0) == 0 &&
|
|
+ fnmatch (symwhite_tarr[i], target, 0) == 0) {
|
|
return 1;
|
|
}
|
|
}
|
|
@@ -341,7 +341,7 @@ int isexcluded (const char *path) {
|
|
int islocal (dev_t devid) {
|
|
register size_t l,r,d;
|
|
|
|
- assert (DEVid_count > 1);
|
|
+ assert (DEVid_count > 0);
|
|
|
|
l = 0;
|
|
r = DEVid_count - 1;
|
|
diff --git a/src/sectool.c b/src/sectool.c
|
|
index 542fa72..1e59793 100644
|
|
--- a/src/sectool.c
|
|
+++ b/src/sectool.c
|
|
@@ -39,21 +39,27 @@ void init_env (struct envinit_t e[]) {
|
|
|
|
void test_exit (int ret, const char *msg, ...) {
|
|
va_list list;
|
|
-
|
|
+ char *name = getenv ("NAME");
|
|
+
|
|
+ if (name == NULL)
|
|
+ name = "Unknown";
|
|
+
|
|
switch (ret)
|
|
{
|
|
case E_OK:
|
|
+ fprintf (stdout, "Test: %s, Succeeded\n", name);
|
|
exit (ret);
|
|
-
|
|
+
|
|
case E_FAIL:
|
|
case E_FATAL:
|
|
va_start (list, msg);
|
|
- vfprintf (stderr, msg, list);
|
|
+ fprintf (stdout, "Test: %s, Error: %d, - ", name, ret);
|
|
+ vfprintf (stdout, msg, list);
|
|
va_end (list);
|
|
exit (ret);
|
|
|
|
default:
|
|
- fprintf (stderr, _("Internal error: Unknown return code %d\n"), ret);
|
|
+ fprintf (stderr, _("Test: %s, Error: %d, - Internal error: Unknown return code %d\n"), name, E_FAIL, ret);
|
|
exit (E_FAIL);
|
|
}
|
|
}
|
|
diff --git a/tests/aliases.sh b/tests/aliases.sh
|
|
index b506475..4056030 100755
|
|
--- a/tests/aliases.sh
|
|
+++ b/tests/aliases.sh
|
|
@@ -28,7 +28,7 @@ if (( ${REFRESH} == 1 )); then
|
|
fi
|
|
|
|
# test all defined aliases
|
|
-bash -l -c 'alias' | sed 's/^alias//' |
|
|
+bash -l -c 'alias' | grep '^alias ' | sed 's/^alias//' |
|
|
{
|
|
while read line
|
|
do
|
|
diff --git a/tests/firewall.sh b/tests/firewall.sh
|
|
index 9f0a0a0..38db109 100755
|
|
--- a/tests/firewall.sh
|
|
+++ b/tests/firewall.sh
|
|
@@ -528,7 +528,7 @@ function check_chain () {
|
|
|
|
if [[ -n "${LAST}" ]]; then
|
|
case "${LAST}" in
|
|
- REJECT)
|
|
+ REJECT|DROP)
|
|
return ${E_OK}
|
|
;;
|
|
ACCEPT)
|