feat: 快速命令新增告警级别: Warning

pull/11010/head
fangfang.dong 2023-07-19 10:11:47 +08:00 committed by Bryan
parent aa744c0fec
commit 02fc9a730b
7 changed files with 302 additions and 243 deletions

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-17 17:12+0800\n"
"POT-Creation-Date: 2023-07-19 09:58+0800\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"
@ -194,14 +194,15 @@ msgstr "作成のみ"
#: accounts/serializers/account/gathered_account.py:10
#: accounts/serializers/automations/change_secret.py:112
#: accounts/serializers/automations/change_secret.py:132
#: acls/serializers/base.py:119 assets/models/asset/common.py:93
#: acls/serializers/base.py:123 assets/models/asset/common.py:93
#: assets/models/asset/common.py:331 assets/models/cmd_filter.py:36
#: assets/serializers/domain.py:19 assets/serializers/label.py:27
#: audits/models.py:53 authentication/models/connection_token.py:36
#: perms/models/asset_permission.py:64 perms/serializers/permission.py:34
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:31
#: terminal/notifications.py:147 terminal/serializers/command.py:18
#: terminal/templates/terminal/_msg_command_warning.html:39
#: terminal/notifications.py:179 terminal/serializers/command.py:18
#: terminal/templates/terminal/_msg_command_warning.html:36
#: terminal/templates/terminal/_msg_command_warning.html:82
#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:212
msgid "Asset"
msgstr "資産"
@ -231,11 +232,12 @@ msgstr "ソース ID"
#: accounts/models/account.py:61
#: accounts/serializers/automations/change_secret.py:113
#: accounts/serializers/automations/change_secret.py:133
#: acls/serializers/base.py:120 assets/serializers/asset/common.py:125
#: acls/serializers/base.py:124 assets/serializers/asset/common.py:125
#: assets/serializers/gateway.py:28 audits/models.py:54 ops/models/base.py:18
#: perms/models/asset_permission.py:70 perms/serializers/permission.py:39
#: terminal/backends/command/models.py:19 terminal/models/session/session.py:33
#: terminal/templates/terminal/_msg_command_warning.html:45
#: terminal/templates/terminal/_msg_command_warning.html:42
#: terminal/templates/terminal/_msg_command_warning.html:83
#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:85
msgid "Account"
msgstr "アカウント"
@ -286,7 +288,7 @@ msgstr "アカウントバックアップ計画"
#: accounts/models/automations/backup_account.py:83
#: assets/models/automations/base.py:115 audits/models.py:60
#: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:192
#: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:194
#: ops/templates/ops/celery_task_log.html:75
#: perms/models/asset_permission.py:72 terminal/models/applet/host.py:137
#: terminal/models/session/session.py:44
@ -410,7 +412,7 @@ msgstr "開始日"
#: accounts/models/automations/change_secret.py:91
#: assets/models/automations/base.py:116 ops/models/base.py:56
#: ops/models/celery.py:64 ops/models/job.py:193
#: ops/models/celery.py:64 ops/models/job.py:195
#: terminal/models/applet/host.py:138
msgid "Date finished"
msgstr "終了日"
@ -436,7 +438,7 @@ msgstr "最終ログイン日"
#: accounts/models/automations/gather_account.py:17
#: accounts/models/automations/push_account.py:15 accounts/models/base.py:34
#: acls/serializers/base.py:18 acls/serializers/base.py:49
#: acls/serializers/base.py:19 acls/serializers/base.py:50
#: assets/models/_user.py:23 audits/models.py:179 authentication/forms.py:25
#: authentication/forms.py:27 authentication/models/temp_token.py:9
#: authentication/templates/authentication/_msg_different_city.html:9
@ -468,8 +470,8 @@ msgstr "アカウントのコレクション"
msgid "Triggers"
msgstr "トリガー方式"
#: accounts/models/automations/push_account.py:16 acls/models/base.py:48
#: acls/serializers/base.py:56 assets/models/cmd_filter.py:81
#: accounts/models/automations/push_account.py:16 acls/models/base.py:41
#: acls/serializers/base.py:57 assets/models/cmd_filter.py:81
#: audits/models.py:87 audits/serializers.py:82
#: authentication/serializers/connect_token_secret.py:116
#: authentication/templates/authentication/_access_key_modal.html:34
@ -484,8 +486,8 @@ msgstr "アカウントプッシュ"
msgid "Verify asset account"
msgstr "アカウントの確認"
#: accounts/models/base.py:33 acls/models/base.py:42 acls/models/base.py:103
#: acls/models/command_acl.py:21 acls/serializers/base.py:34
#: accounts/models/base.py:33 acls/models/base.py:35 acls/models/base.py:96
#: acls/models/command_acl.py:21 acls/serializers/base.py:35
#: applications/models.py:9 assets/models/_user.py:22
#: assets/models/asset/common.py:91 assets/models/asset/common.py:149
#: assets/models/cmd_filter.py:21 assets/models/domain.py:18
@ -495,7 +497,7 @@ msgstr "アカウントの確認"
#: assets/serializers/platform.py:209
#: authentication/serializers/connect_token_secret.py:110 ops/mixin.py:21
#: ops/models/adhoc.py:21 ops/models/celery.py:15 ops/models/celery.py:57
#: ops/models/job.py:92 ops/models/playbook.py:23 ops/serializers/job.py:20
#: ops/models/job.py:94 ops/models/playbook.py:23 ops/serializers/job.py:20
#: orgs/models.py:80 perms/models/asset_permission.py:56 rbac/models/role.py:29
#: settings/models.py:33 settings/serializers/sms.py:6
#: terminal/models/applet/applet.py:32 terminal/models/component/endpoint.py:12
@ -585,7 +587,7 @@ msgstr "カテゴリ"
#: assets/models/cmd_filter.py:74 assets/models/platform.py:90
#: assets/serializers/asset/common.py:122 assets/serializers/platform.py:111
#: assets/serializers/platform.py:126 audits/serializers.py:48
#: authentication/serializers/connect_token_secret.py:123 ops/models/job.py:103
#: authentication/serializers/connect_token_secret.py:123 ops/models/job.py:105
#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:38
#: terminal/models/component/storage.py:57
#: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29
@ -618,10 +620,10 @@ msgid "Changed"
msgstr "編集済み"
#: accounts/serializers/account/account.py:250
#: accounts/serializers/automations/base.py:22 acls/models/base.py:104
#: accounts/serializers/automations/base.py:22 acls/models/base.py:97
#: assets/models/automations/base.py:19
#: assets/serializers/automations/base.py:20 ops/models/base.py:17
#: ops/models/job.py:105 ops/serializers/job.py:21
#: ops/models/job.py:107 ops/serializers/job.py:21
#: terminal/templates/terminal/_msg_command_execute_alert.html:16
msgid "Assets"
msgstr "資産"
@ -646,7 +648,7 @@ msgstr "アカウントはすでに存在しています"
msgid "ID"
msgstr "ID"
#: accounts/serializers/account/account.py:427 acls/serializers/base.py:112
#: accounts/serializers/account/account.py:427 acls/serializers/base.py:116
#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:49
#: audits/models.py:85 audits/models.py:163
#: authentication/models/connection_token.py:32
@ -656,9 +658,10 @@ msgstr "ID"
#: perms/serializers/permission.py:30 rbac/builtin.py:123
#: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:17
#: terminal/models/session/session.py:29 terminal/models/session/sharing.py:32
#: terminal/notifications.py:148 terminal/notifications.py:196
#: terminal/notifications.py:180 terminal/notifications.py:228
#: terminal/serializers/command.py:17
#: terminal/templates/terminal/_msg_command_warning.html:33
#: terminal/templates/terminal/_msg_command_warning.html:30
#: terminal/templates/terminal/_msg_command_warning.html:81
#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:947
#: users/models/user.py:978 users/serializers/group.py:18
msgid "User"
@ -666,7 +669,7 @@ msgstr "ユーザー"
#: accounts/serializers/account/account.py:428
#: authentication/templates/authentication/_access_key_modal.html:33
#: terminal/notifications.py:150 terminal/notifications.py:198
#: terminal/notifications.py:182 terminal/notifications.py:230
msgid "Date"
msgstr "日付"
@ -794,39 +797,39 @@ msgstr "秘密鍵が無効またはpassphraseエラー"
msgid "Acls"
msgstr "Acls"
#: acls/models/base.py:21 terminal/const.py:11 tickets/const.py:45
#: acls/const.py:6 terminal/const.py:11 tickets/const.py:45
#: tickets/templates/tickets/approve_check_password.html:49
msgid "Reject"
msgstr "拒否"
#: acls/models/base.py:22 terminal/const.py:9
#: acls/const.py:7 terminal/const.py:9
msgid "Accept"
msgstr "受け入れられる"
#: acls/models/base.py:23
#: acls/const.py:8
msgid "Review"
msgstr "レビュー担当者"
#: acls/models/base.py:24 terminal/const.py:10
#: acls/const.py:9 terminal/const.py:10
msgid "Warning"
msgstr "警告"
#: acls/models/base.py:44 assets/models/_user.py:51
#: acls/models/base.py:37 assets/models/_user.py:51
#: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:93
msgid "Priority"
msgstr "優先順位"
#: acls/models/base.py:45 assets/models/_user.py:51
#: acls/models/base.py:38 assets/models/_user.py:51
#: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:94
msgid "1-100, the lower the value will be match first"
msgstr "1-100、低い値は最初に一致します"
#: acls/models/base.py:49 assets/models/cmd_filter.py:86
#: acls/models/base.py:42 assets/models/cmd_filter.py:86
#: authentication/serializers/connect_token_secret.py:88
msgid "Reviewers"
msgstr "レビュー担当者"
#: acls/models/base.py:50 authentication/models/access_key.py:17
#: acls/models/base.py:43 authentication/models/access_key.py:17
#: authentication/models/connection_token.py:53
#: authentication/templates/authentication/_access_key_modal.html:32
#: perms/models/asset_permission.py:76 terminal/models/session/sharing.py:27
@ -834,11 +837,11 @@ msgstr "レビュー担当者"
msgid "Active"
msgstr "アクティブ"
#: acls/models/base.py:88 users/apps.py:9
#: acls/models/base.py:81 users/apps.py:9
msgid "Users"
msgstr "ユーザー"
#: acls/models/base.py:105 assets/models/automations/base.py:17
#: acls/models/base.py:98 assets/models/automations/base.py:17
#: assets/models/cmd_filter.py:38 assets/serializers/asset/common.py:305
#: rbac/tree.py:35
msgid "Accounts"
@ -849,7 +852,8 @@ msgstr "アカウント"
#: terminal/models/session/session.py:42 terminal/serializers/command.py:19
#: terminal/templates/terminal/_msg_command_alert.html:12
#: terminal/templates/terminal/_msg_command_execute_alert.html:10
#: terminal/templates/terminal/_msg_command_warning.html:51
#: terminal/templates/terminal/_msg_command_warning.html:48
#: terminal/templates/terminal/_msg_command_warning.html:90
msgid "Command"
msgstr "コマンド"
@ -881,7 +885,8 @@ msgid "The generated regular expression is incorrect: {}"
msgstr "生成された正規表現が正しくありません: {}"
#: acls/models/command_acl.py:100
#: terminal/templates/terminal/_msg_command_warning.html:57
#: terminal/templates/terminal/_msg_command_warning.html:54
#: terminal/templates/terminal/_msg_command_warning.html:92
msgid "Command acl"
msgstr "コマンドフィルタリング"
@ -918,11 +923,11 @@ msgstr "ログインasset acl"
msgid "Login asset confirm"
msgstr "ログイン資産の確認"
#: acls/serializers/base.py:10 acls/serializers/login_acl.py:11
#: acls/serializers/base.py:11 acls/serializers/login_acl.py:11
msgid "With * indicating a match all. "
msgstr "* はすべて一致することを示します。"
#: acls/serializers/base.py:25
#: acls/serializers/base.py:26
msgid ""
"With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, "
"10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name "
@ -932,19 +937,19 @@ msgstr ""
"10.1.1.1-10.1.1.20、2001:db8:2de::e13、2001:db8:1a:1110:::/64 (ドメイン名サ"
"ポート)"
#: acls/serializers/base.py:40 assets/serializers/asset/host.py:19
#: acls/serializers/base.py:41 assets/serializers/asset/host.py:19
msgid "IP/Host"
msgstr "IP/ホスト"
#: acls/serializers/base.py:87
#: acls/serializers/base.py:91
msgid "Recipients"
msgstr "受信者"
#: acls/serializers/base.py:99 tickets/serializers/ticket/ticket.py:77
#: acls/serializers/base.py:103 tickets/serializers/ticket/ticket.py:77
msgid "The organization `{}` does not exist"
msgstr "組織 '{}'は存在しません"
#: acls/serializers/base.py:105
#: acls/serializers/base.py:109
msgid "None of the reviewers belong to Organization `{}`"
msgstr "いずれのレビューアも組織 '{}' に属していません"
@ -990,7 +995,7 @@ msgstr "アプリケーション"
msgid "Can match application"
msgstr "アプリケーションを一致させることができます"
#: assets/api/asset/asset.py:153
#: assets/api/asset/asset.py:157
msgid "Cannot create asset directly, you should create a host or other"
msgstr ""
"資産を直接作成することはできません。ホストまたはその他を作成する必要がありま"
@ -1235,7 +1240,7 @@ msgstr "SSHパブリックキー"
#: assets/models/_user.py:27 assets/models/cmd_filter.py:40
#: assets/models/cmd_filter.py:88 assets/models/group.py:20
#: common/db/models.py:36 ops/models/adhoc.py:27 ops/models/job.py:111
#: common/db/models.py:36 ops/models/adhoc.py:27 ops/models/job.py:113
#: ops/models/playbook.py:26 rbac/models/role.py:37 settings/models.py:38
#: terminal/models/applet/applet.py:44 terminal/models/applet/applet.py:248
#: terminal/models/applet/host.py:139 terminal/models/component/endpoint.py:24
@ -1248,7 +1253,7 @@ msgstr "コメント"
#: assets/models/_user.py:28 assets/models/automations/base.py:114
#: assets/models/cmd_filter.py:41 assets/models/group.py:19
#: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:191
#: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:193
#: users/models/user.py:979
msgid "Date created"
msgstr "作成された日付"
@ -1416,7 +1421,7 @@ msgstr "証明書チェックを無視"
msgid "Proxy"
msgstr "プロキシー"
#: assets/models/automations/base.py:22 ops/models/job.py:187
#: assets/models/automations/base.py:22 ops/models/job.py:189
#: settings/serializers/auth/sms.py:99
msgid "Parameters"
msgstr "パラメータ"
@ -1430,7 +1435,7 @@ msgid "Asset automation task"
msgstr "アセットの自動化タスク"
#: assets/models/automations/base.py:113 audits/models.py:199
#: audits/serializers.py:49 ops/models/base.py:49 ops/models/job.py:184
#: audits/serializers.py:49 ops/models/base.py:49 ops/models/job.py:186
#: terminal/models/applet/applet.py:247 terminal/models/applet/host.py:136
#: terminal/models/component/status.py:30 terminal/serializers/applet.py:18
#: terminal/serializers/applet_host.py:107 tickets/models/ticket/general.py:283
@ -1992,7 +1997,8 @@ msgid "Rename dir"
msgstr "マップディレクトリ"
#: audits/const.py:23 rbac/tree.py:229
#: terminal/templates/terminal/_msg_command_warning.html:71
#: terminal/templates/terminal/_msg_command_warning.html:68
#: terminal/templates/terminal/_msg_command_warning.html:96
msgid "View"
msgstr "表示"
@ -2076,7 +2082,8 @@ msgstr "書類"
#: terminal/models/session/replay.py:9 terminal/models/session/sharing.py:18
#: terminal/models/session/sharing.py:81
#: terminal/templates/terminal/_msg_command_alert.html:10
#: terminal/templates/terminal/_msg_command_warning.html:69
#: terminal/templates/terminal/_msg_command_warning.html:66
#: terminal/templates/terminal/_msg_command_warning.html:95
#: tickets/models/ticket/command_confirm.py:15
msgid "Session"
msgstr "セッション"
@ -2265,16 +2272,16 @@ msgstr "ACL アクションはレビューです"
msgid "Current user not support mfa type: {}"
msgstr "現在のユーザーはmfaタイプをサポートしていません: {}"
#: authentication/api/password.py:31 terminal/api/session/session.py:259
#: authentication/api/password.py:32 terminal/api/session/session.py:259
#: users/views/profile/reset.py:44
msgid "User does not exist: {}"
msgstr "ユーザーが存在しない: {}"
#: authentication/api/password.py:31 users/views/profile/reset.py:127
#: authentication/api/password.py:32 users/views/profile/reset.py:127
msgid "No user matched"
msgstr "ユーザーにマッチしなかった"
#: authentication/api/password.py:35
#: authentication/api/password.py:36
msgid ""
"The user is from {}, please go to the corresponding system to change the "
"password"
@ -2282,7 +2289,7 @@ msgstr ""
"ユーザーは {}からです。対応するシステムにアクセスしてパスワードを変更してくだ"
"さい。"
#: authentication/api/password.py:59
#: authentication/api/password.py:60
#: authentication/templates/authentication/login.html:305
#: users/templates/users/forgot_password.html:27
#: users/templates/users/forgot_password.html:28
@ -2618,7 +2625,7 @@ msgstr "電話番号を設定して有効にする"
msgid "Clear phone number to disable"
msgstr "無効にする電話番号をクリアする"
#: authentication/middleware.py:93 settings/utils/ldap.py:657
#: authentication/middleware.py:93 settings/utils/ldap.py:661
msgid "Authentication failed (before login check failed): {}"
msgstr "認証に失敗しました (ログインチェックが失敗する前): {}"
@ -2877,7 +2884,7 @@ msgstr "コードエラー"
#: authentication/templates/authentication/_msg_reset_password_code.html:9
#: authentication/templates/authentication/_msg_rest_password_success.html:2
#: authentication/templates/authentication/_msg_rest_public_key_success.html:2
#: jumpserver/conf.py:426
#: jumpserver/conf.py:427
#: perms/templates/perms/_msg_item_permissions_expire.html:3
#: perms/templates/perms/_msg_permed_items_expire.html:3
#: tickets/templates/tickets/approve_check_password.html:33
@ -3471,11 +3478,11 @@ msgstr "検索のエクスポート: %s"
msgid "User %s view/export secret"
msgstr "ユーザー %s がパスワードを閲覧/導き出しました"
#: jumpserver/conf.py:425
#: jumpserver/conf.py:426
msgid "Create account successfully"
msgstr "アカウントを正常に作成"
#: jumpserver/conf.py:427
#: jumpserver/conf.py:428
msgid "Your account has been created successfully"
msgstr "アカウントが正常に作成されました"
@ -3615,7 +3622,7 @@ msgstr "VCS"
msgid "Adhoc"
msgstr "コマンド#コマンド#"
#: ops/const.py:39 ops/models/job.py:101
#: ops/const.py:39 ops/models/job.py:103
msgid "Playbook"
msgstr "Playbook"
@ -3672,17 +3679,17 @@ msgstr "定期的または定期的に設定を行う必要があります"
msgid "Pattern"
msgstr "パターン"
#: ops/models/adhoc.py:24 ops/models/job.py:96
#: ops/models/adhoc.py:24 ops/models/job.py:98
msgid "Module"
msgstr "モジュール"
#: ops/models/adhoc.py:25 ops/models/celery.py:58 ops/models/job.py:95
#: ops/models/adhoc.py:25 ops/models/celery.py:58 ops/models/job.py:97
#: terminal/models/component/task.py:16
msgid "Args"
msgstr "アルグ"
#: ops/models/adhoc.py:26 ops/models/base.py:16 ops/models/base.py:53
#: ops/models/job.py:104 ops/models/job.py:190 ops/models/playbook.py:25
#: ops/models/job.py:106 ops/models/job.py:192 ops/models/playbook.py:25
#: terminal/models/session/sharing.py:23
msgid "Creator"
msgstr "作成者"
@ -3699,12 +3706,12 @@ msgstr "最後の実行"
msgid "Date last run"
msgstr "最終実行日"
#: ops/models/base.py:51 ops/models/job.py:188
#: ops/models/base.py:51 ops/models/job.py:190
#: xpack/plugins/cloud/models.py:162
msgid "Result"
msgstr "結果"
#: ops/models/base.py:52 ops/models/job.py:189
#: ops/models/base.py:52 ops/models/job.py:191
msgid "Summary"
msgstr "概要"
@ -3737,43 +3744,43 @@ msgstr "発売日"
msgid "Celery Task Execution"
msgstr "Celery タスク実行"
#: ops/models/job.py:98
#: ops/models/job.py:100
msgid "Chdir"
msgstr "実行ディレクトリ"
#: ops/models/job.py:99
#: ops/models/job.py:101
msgid "Timeout (Seconds)"
msgstr "タイムアウト(秒)"
#: ops/models/job.py:106
#: ops/models/job.py:108
msgid "Use Parameter Define"
msgstr "パラメータ定義を使用する"
#: ops/models/job.py:107
#: ops/models/job.py:109
msgid "Parameters define"
msgstr "パラメータ定義"
#: ops/models/job.py:108
#: ops/models/job.py:110
msgid "Runas"
msgstr "ユーザーとして実行"
#: ops/models/job.py:110
#: ops/models/job.py:112
msgid "Runas policy"
msgstr "ユーザー ポリシー"
#: ops/models/job.py:172
#: ops/models/job.py:174
msgid "Job"
msgstr "ジョブ#ジョブ#"
#: ops/models/job.py:195
#: ops/models/job.py:197
msgid "Material"
msgstr "Material"
#: ops/models/job.py:197
#: ops/models/job.py:199
msgid "Material Type"
msgstr "Material を選択してオプションを設定します。"
#: ops/models/job.py:461
#: ops/models/job.py:482
msgid "Job Execution"
msgstr "ジョブ実行"
@ -3919,7 +3926,8 @@ msgstr "アプリ組織"
#: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:89
#: rbac/const.py:7 rbac/models/rolebinding.py:56
#: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:63
#: terminal/templates/terminal/_msg_command_warning.html:75
#: terminal/templates/terminal/_msg_command_warning.html:72
#: terminal/templates/terminal/_msg_command_warning.html:98
#: tickets/models/ticket/general.py:302 tickets/serializers/ticket/ticket.py:60
msgid "Organization"
msgstr "組織"
@ -5361,100 +5369,100 @@ msgstr "LDAP ユーザーを定期的にインポートする"
msgid "Registration periodic import ldap user task"
msgstr "登録サイクルLDAPユーザータスクのインポート"
#: settings/utils/ldap.py:472
#: settings/utils/ldap.py:476
msgid "ldap:// or ldaps:// protocol is used."
msgstr "ldap:// または ldaps:// プロトコルが使用されます。"
#: settings/utils/ldap.py:483
#: settings/utils/ldap.py:487
msgid "Host or port is disconnected: {}"
msgstr "ホストまたはポートが切断されました: {}"
#: settings/utils/ldap.py:485
#: settings/utils/ldap.py:489
msgid "The port is not the port of the LDAP service: {}"
msgstr "ポートはLDAPサービスのポートではありません: {}"
#: settings/utils/ldap.py:487
#: settings/utils/ldap.py:491
msgid "Please add certificate: {}"
msgstr "証明書を追加してください: {}"
#: settings/utils/ldap.py:491 settings/utils/ldap.py:518
#: settings/utils/ldap.py:548 settings/utils/ldap.py:576
#: settings/utils/ldap.py:495 settings/utils/ldap.py:522
#: settings/utils/ldap.py:552 settings/utils/ldap.py:580
msgid "Unknown error: {}"
msgstr "不明なエラー: {}"
#: settings/utils/ldap.py:505
#: settings/utils/ldap.py:509
msgid "Bind DN or Password incorrect"
msgstr "DNまたはパスワードのバインドが正しくありません"
#: settings/utils/ldap.py:512
#: settings/utils/ldap.py:516
msgid "Please enter Bind DN: {}"
msgstr "バインドDN: {} を入力してください"
#: settings/utils/ldap.py:514
#: settings/utils/ldap.py:518
msgid "Please enter Password: {}"
msgstr "パスワードを入力してください: {}"
#: settings/utils/ldap.py:516
#: settings/utils/ldap.py:520
msgid "Please enter correct Bind DN and Password: {}"
msgstr "正しいバインドDNとパスワードを入力してください: {}"
#: settings/utils/ldap.py:534
#: settings/utils/ldap.py:538
msgid "Invalid User OU or User search filter: {}"
msgstr "無効なユーザー OU またはユーザー検索フィルター: {}"
#: settings/utils/ldap.py:565
#: settings/utils/ldap.py:569
msgid "LDAP User attr map not include: {}"
msgstr "LDAP ユーザーattrマップは含まれません: {}"
#: settings/utils/ldap.py:572
#: settings/utils/ldap.py:576
msgid "LDAP User attr map is not dict"
msgstr "LDAPユーザーattrマップはdictではありません"
#: settings/utils/ldap.py:591
#: settings/utils/ldap.py:595
msgid "LDAP authentication is not enabled"
msgstr "LDAP 認証が有効になっていない"
#: settings/utils/ldap.py:609
#: settings/utils/ldap.py:613
msgid "Error (Invalid LDAP server): {}"
msgstr "エラー (LDAPサーバーが無効): {}"
#: settings/utils/ldap.py:611
#: settings/utils/ldap.py:615
msgid "Error (Invalid Bind DN): {}"
msgstr "エラー (DNのバインドが無効): {}"
#: settings/utils/ldap.py:613
#: settings/utils/ldap.py:617
msgid "Error (Invalid LDAP User attr map): {}"
msgstr "エラー (LDAPユーザーattrマップが無効): {}"
#: settings/utils/ldap.py:615
#: settings/utils/ldap.py:619
msgid "Error (Invalid User OU or User search filter): {}"
msgstr "エラー (ユーザーOUまたはユーザー検索フィルターが無効): {}"
#: settings/utils/ldap.py:617
#: settings/utils/ldap.py:621
msgid "Error (Not enabled LDAP authentication): {}"
msgstr "エラー (LDAP認証が有効化されていません): {}"
#: settings/utils/ldap.py:619
#: settings/utils/ldap.py:623
msgid "Error (Unknown): {}"
msgstr "エラー (不明): {}"
#: settings/utils/ldap.py:622
#: settings/utils/ldap.py:626
msgid "Succeed: Match {} s user"
msgstr "成功: {} 人のユーザーに一致"
#: settings/utils/ldap.py:655
#: settings/utils/ldap.py:659
msgid "Authentication failed (configuration incorrect): {}"
msgstr "認証に失敗しました (設定が正しくありません): {}"
#: settings/utils/ldap.py:659
#: settings/utils/ldap.py:663
msgid "Authentication failed (username or password incorrect): {}"
msgstr "認証に失敗しました (ユーザー名またはパスワードが正しくありません): {}"
#: settings/utils/ldap.py:661
#: settings/utils/ldap.py:665
msgid "Authentication failed (Unknown): {}"
msgstr "認証に失敗しました (不明): {}"
#: settings/utils/ldap.py:664
#: settings/utils/ldap.py:668
msgid "Authentication success: {}"
msgstr "認証成功: {}"
@ -5695,7 +5703,7 @@ msgstr "テスト失敗: {}"
msgid "Test successful"
msgstr "テスト成功"
#: terminal/api/component/storage.py:124 terminal/notifications.py:231
#: terminal/api/component/storage.py:124 terminal/notifications.py:263
#: terminal/tasks.py:144
msgid "Test failure: Account invalid"
msgstr "テスト失敗: アカウントが無効"
@ -5733,6 +5741,7 @@ msgid "Output"
msgstr "出力"
#: terminal/backends/command/models.py:25 terminal/serializers/command.py:23
#: terminal/templates/terminal/_msg_command_warning.html:91
msgid "Risk level"
msgstr "リスクレベル"
@ -6077,36 +6086,35 @@ msgstr "検証コードが無効"
msgid "You have already joined this session"
msgstr "すでにこのセッションに参加しています"
#: terminal/notifications.py:22
#: terminal/notifications.py:24
msgid "Sessions"
msgstr "セッション"
#: terminal/notifications.py:69
#: terminal/templates/terminal/_msg_command_warning.html:5
msgid "Danger command warning"
msgstr "危険コマンドアラート"
#: terminal/notifications.py:71
msgid "Command warning"
msgstr "コマンド警告"
#: terminal/notifications.py:122
msgid "Danger command alert"
msgstr "危険コマンドアラート"
#: terminal/notifications.py:154
msgid "Command reject"
msgstr "コマンド拒否"
#: terminal/notifications.py:149 terminal/notifications.py:197
#: terminal/notifications.py:181 terminal/notifications.py:229
msgid "Level"
msgstr "レベル"
#: terminal/notifications.py:167
#: terminal/notifications.py:199
msgid "Batch danger command alert"
msgstr "一括危険コマンド警告"
#: terminal/notifications.py:215
#: terminal/notifications.py:247
msgid "Command and replay storage"
msgstr "コマンド及び録画記憶"
#: terminal/notifications.py:216
#: terminal/notifications.py:248
msgid "Connectivity alarm"
msgstr "接続性アラーム"
#: terminal/notifications.py:241
#: terminal/notifications.py:273
#: terminal/templates/terminal/_msg_check_command_replay_storage_connectivity.html:4
msgid "Invalid storage"
msgstr "無効なストレージ"
@ -6383,15 +6391,16 @@ msgstr "チェックコマンドと録画ストレージの接続性"
msgid "view"
msgstr "表示"
#: terminal/templates/terminal/_msg_command_warning.html:21
#: terminal/templates/terminal/_msg_command_warning.html:18
msgid "Item"
msgstr "アイテム"
#: terminal/templates/terminal/_msg_command_warning.html:25
#: terminal/templates/terminal/_msg_command_warning.html:22
msgid "Url"
msgstr "リンク"
#: terminal/templates/terminal/_msg_command_warning.html:63
#: terminal/templates/terminal/_msg_command_warning.html:60
#: terminal/templates/terminal/_msg_command_warning.html:93
msgid "Command acl group"
msgstr "コマンドフィルタリンググループ"
@ -7887,3 +7896,6 @@ msgstr "究極のエディション"
#: xpack/plugins/license/models.py:86
msgid "Community edition"
msgstr "コミュニティ版"
#~ msgid "Danger command alert"
#~ msgstr "危険コマンドアラート"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: JumpServer 0.3.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-17 17:12+0800\n"
"POT-Creation-Date: 2023-07-19 10:00+0800\n"
"PO-Revision-Date: 2021-05-20 10:54+0800\n"
"Last-Translator: ibuler <ibuler@qq.com>\n"
"Language-Team: JumpServer team<ibuler@qq.com>\n"
@ -193,14 +193,15 @@ msgstr "仅创建"
#: accounts/serializers/account/gathered_account.py:10
#: accounts/serializers/automations/change_secret.py:112
#: accounts/serializers/automations/change_secret.py:132
#: acls/serializers/base.py:119 assets/models/asset/common.py:93
#: acls/serializers/base.py:123 assets/models/asset/common.py:93
#: assets/models/asset/common.py:331 assets/models/cmd_filter.py:36
#: assets/serializers/domain.py:19 assets/serializers/label.py:27
#: audits/models.py:53 authentication/models/connection_token.py:36
#: perms/models/asset_permission.py:64 perms/serializers/permission.py:34
#: terminal/backends/command/models.py:18 terminal/models/session/session.py:31
#: terminal/notifications.py:147 terminal/serializers/command.py:18
#: terminal/templates/terminal/_msg_command_warning.html:39
#: terminal/notifications.py:179 terminal/serializers/command.py:18
#: terminal/templates/terminal/_msg_command_warning.html:36
#: terminal/templates/terminal/_msg_command_warning.html:82
#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:212
msgid "Asset"
msgstr "资产"
@ -230,11 +231,12 @@ msgstr "来源 ID"
#: accounts/models/account.py:61
#: accounts/serializers/automations/change_secret.py:113
#: accounts/serializers/automations/change_secret.py:133
#: acls/serializers/base.py:120 assets/serializers/asset/common.py:125
#: acls/serializers/base.py:124 assets/serializers/asset/common.py:125
#: assets/serializers/gateway.py:28 audits/models.py:54 ops/models/base.py:18
#: perms/models/asset_permission.py:70 perms/serializers/permission.py:39
#: terminal/backends/command/models.py:19 terminal/models/session/session.py:33
#: terminal/templates/terminal/_msg_command_warning.html:45
#: terminal/templates/terminal/_msg_command_warning.html:42
#: terminal/templates/terminal/_msg_command_warning.html:83
#: tickets/models/ticket/command_confirm.py:13 xpack/plugins/cloud/models.py:85
msgid "Account"
msgstr "账号"
@ -285,7 +287,7 @@ msgstr "账号备份计划"
#: accounts/models/automations/backup_account.py:83
#: assets/models/automations/base.py:115 audits/models.py:60
#: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:192
#: ops/models/base.py:55 ops/models/celery.py:63 ops/models/job.py:194
#: ops/templates/ops/celery_task_log.html:75
#: perms/models/asset_permission.py:72 terminal/models/applet/host.py:137
#: terminal/models/session/session.py:44
@ -409,7 +411,7 @@ msgstr "开始日期"
#: accounts/models/automations/change_secret.py:91
#: assets/models/automations/base.py:116 ops/models/base.py:56
#: ops/models/celery.py:64 ops/models/job.py:193
#: ops/models/celery.py:64 ops/models/job.py:195
#: terminal/models/applet/host.py:138
msgid "Date finished"
msgstr "结束日期"
@ -435,7 +437,7 @@ msgstr "最后登录日期"
#: accounts/models/automations/gather_account.py:17
#: accounts/models/automations/push_account.py:15 accounts/models/base.py:34
#: acls/serializers/base.py:18 acls/serializers/base.py:49
#: acls/serializers/base.py:19 acls/serializers/base.py:50
#: assets/models/_user.py:23 audits/models.py:179 authentication/forms.py:25
#: authentication/forms.py:27 authentication/models/temp_token.py:9
#: authentication/templates/authentication/_msg_different_city.html:9
@ -467,8 +469,8 @@ msgstr "收集账号"
msgid "Triggers"
msgstr "触发方式"
#: accounts/models/automations/push_account.py:16 acls/models/base.py:48
#: acls/serializers/base.py:56 assets/models/cmd_filter.py:81
#: accounts/models/automations/push_account.py:16 acls/models/base.py:41
#: acls/serializers/base.py:57 assets/models/cmd_filter.py:81
#: audits/models.py:87 audits/serializers.py:82
#: authentication/serializers/connect_token_secret.py:116
#: authentication/templates/authentication/_access_key_modal.html:34
@ -483,8 +485,8 @@ msgstr "账号推送"
msgid "Verify asset account"
msgstr "账号验证"
#: accounts/models/base.py:33 acls/models/base.py:42 acls/models/base.py:103
#: acls/models/command_acl.py:21 acls/serializers/base.py:34
#: accounts/models/base.py:33 acls/models/base.py:35 acls/models/base.py:96
#: acls/models/command_acl.py:21 acls/serializers/base.py:35
#: applications/models.py:9 assets/models/_user.py:22
#: assets/models/asset/common.py:91 assets/models/asset/common.py:149
#: assets/models/cmd_filter.py:21 assets/models/domain.py:18
@ -494,7 +496,7 @@ msgstr "账号验证"
#: assets/serializers/platform.py:209
#: authentication/serializers/connect_token_secret.py:110 ops/mixin.py:21
#: ops/models/adhoc.py:21 ops/models/celery.py:15 ops/models/celery.py:57
#: ops/models/job.py:92 ops/models/playbook.py:23 ops/serializers/job.py:20
#: ops/models/job.py:94 ops/models/playbook.py:23 ops/serializers/job.py:20
#: orgs/models.py:80 perms/models/asset_permission.py:56 rbac/models/role.py:29
#: settings/models.py:33 settings/serializers/sms.py:6
#: terminal/models/applet/applet.py:32 terminal/models/component/endpoint.py:12
@ -581,7 +583,7 @@ msgstr "类别"
#: assets/models/cmd_filter.py:74 assets/models/platform.py:90
#: assets/serializers/asset/common.py:122 assets/serializers/platform.py:111
#: assets/serializers/platform.py:126 audits/serializers.py:48
#: authentication/serializers/connect_token_secret.py:123 ops/models/job.py:103
#: authentication/serializers/connect_token_secret.py:123 ops/models/job.py:105
#: perms/serializers/user_permission.py:27 terminal/models/applet/applet.py:38
#: terminal/models/component/storage.py:57
#: terminal/models/component/storage.py:146 terminal/serializers/applet.py:29
@ -614,10 +616,10 @@ msgid "Changed"
msgstr "已修改"
#: accounts/serializers/account/account.py:250
#: accounts/serializers/automations/base.py:22 acls/models/base.py:104
#: accounts/serializers/automations/base.py:22 acls/models/base.py:97
#: assets/models/automations/base.py:19
#: assets/serializers/automations/base.py:20 ops/models/base.py:17
#: ops/models/job.py:105 ops/serializers/job.py:21
#: ops/models/job.py:107 ops/serializers/job.py:21
#: terminal/templates/terminal/_msg_command_execute_alert.html:16
msgid "Assets"
msgstr "资产"
@ -642,7 +644,7 @@ msgstr "账号已存在"
msgid "ID"
msgstr "ID"
#: accounts/serializers/account/account.py:427 acls/serializers/base.py:112
#: accounts/serializers/account/account.py:427 acls/serializers/base.py:116
#: assets/models/cmd_filter.py:24 assets/models/label.py:16 audits/models.py:49
#: audits/models.py:85 audits/models.py:163
#: authentication/models/connection_token.py:32
@ -652,9 +654,10 @@ msgstr "ID"
#: perms/serializers/permission.py:30 rbac/builtin.py:123
#: rbac/models/rolebinding.py:49 terminal/backends/command/models.py:17
#: terminal/models/session/session.py:29 terminal/models/session/sharing.py:32
#: terminal/notifications.py:148 terminal/notifications.py:196
#: terminal/notifications.py:180 terminal/notifications.py:228
#: terminal/serializers/command.py:17
#: terminal/templates/terminal/_msg_command_warning.html:33
#: terminal/templates/terminal/_msg_command_warning.html:30
#: terminal/templates/terminal/_msg_command_warning.html:81
#: tickets/models/comment.py:21 users/const.py:14 users/models/user.py:947
#: users/models/user.py:978 users/serializers/group.py:18
msgid "User"
@ -662,7 +665,7 @@ msgstr "用户"
#: accounts/serializers/account/account.py:428
#: authentication/templates/authentication/_access_key_modal.html:33
#: terminal/notifications.py:150 terminal/notifications.py:198
#: terminal/notifications.py:182 terminal/notifications.py:230
msgid "Date"
msgstr "日期"
@ -790,39 +793,39 @@ msgstr "密钥不合法或密钥密码错误"
msgid "Acls"
msgstr "访问控制"
#: acls/models/base.py:21 terminal/const.py:11 tickets/const.py:45
#: acls/const.py:6 terminal/const.py:11 tickets/const.py:45
#: tickets/templates/tickets/approve_check_password.html:49
msgid "Reject"
msgstr "拒绝"
#: acls/models/base.py:22 terminal/const.py:9
#: acls/const.py:7 terminal/const.py:9
msgid "Accept"
msgstr "接受"
#: acls/models/base.py:23
#: acls/const.py:8
msgid "Review"
msgstr "审批"
#: acls/models/base.py:24 terminal/const.py:10
#: acls/const.py:9 terminal/const.py:10
msgid "Warning"
msgstr "告警"
#: acls/models/base.py:44 assets/models/_user.py:51
#: acls/models/base.py:37 assets/models/_user.py:51
#: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:93
msgid "Priority"
msgstr "优先级"
#: acls/models/base.py:45 assets/models/_user.py:51
#: acls/models/base.py:38 assets/models/_user.py:51
#: assets/models/cmd_filter.py:76 terminal/models/component/endpoint.py:94
msgid "1-100, the lower the value will be match first"
msgstr "优先级可选范围为 1-100 (数值越小越优先)"
#: acls/models/base.py:49 assets/models/cmd_filter.py:86
#: acls/models/base.py:42 assets/models/cmd_filter.py:86
#: authentication/serializers/connect_token_secret.py:88
msgid "Reviewers"
msgstr "审批人"
#: acls/models/base.py:50 authentication/models/access_key.py:17
#: acls/models/base.py:43 authentication/models/access_key.py:17
#: authentication/models/connection_token.py:53
#: authentication/templates/authentication/_access_key_modal.html:32
#: perms/models/asset_permission.py:76 terminal/models/session/sharing.py:27
@ -830,11 +833,11 @@ msgstr "审批人"
msgid "Active"
msgstr "激活中"
#: acls/models/base.py:88 users/apps.py:9
#: acls/models/base.py:81 users/apps.py:9
msgid "Users"
msgstr "用户管理"
#: acls/models/base.py:105 assets/models/automations/base.py:17
#: acls/models/base.py:98 assets/models/automations/base.py:17
#: assets/models/cmd_filter.py:38 assets/serializers/asset/common.py:305
#: rbac/tree.py:35
msgid "Accounts"
@ -845,7 +848,8 @@ msgstr "账号管理"
#: terminal/models/session/session.py:42 terminal/serializers/command.py:19
#: terminal/templates/terminal/_msg_command_alert.html:12
#: terminal/templates/terminal/_msg_command_execute_alert.html:10
#: terminal/templates/terminal/_msg_command_warning.html:51
#: terminal/templates/terminal/_msg_command_warning.html:48
#: terminal/templates/terminal/_msg_command_warning.html:90
msgid "Command"
msgstr "命令"
@ -877,7 +881,8 @@ msgid "The generated regular expression is incorrect: {}"
msgstr "生成的正则表达式有误"
#: acls/models/command_acl.py:100
#: terminal/templates/terminal/_msg_command_warning.html:57
#: terminal/templates/terminal/_msg_command_warning.html:54
#: terminal/templates/terminal/_msg_command_warning.html:92
msgid "Command acl"
msgstr "命令过滤"
@ -914,11 +919,11 @@ msgstr "登录资产访问控制"
msgid "Login asset confirm"
msgstr "登录资产复核"
#: acls/serializers/base.py:10 acls/serializers/login_acl.py:11
#: acls/serializers/base.py:11 acls/serializers/login_acl.py:11
msgid "With * indicating a match all. "
msgstr "* 表示匹配所有. "
#: acls/serializers/base.py:25
#: acls/serializers/base.py:26
msgid ""
"With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, "
"10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name "
@ -927,19 +932,19 @@ msgstr ""
"* 表示匹配所有。例如: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:"
"db8:2de::e13, 2001:db8:1a:1110::/64 (支持网域)"
#: acls/serializers/base.py:40 assets/serializers/asset/host.py:19
#: acls/serializers/base.py:41 assets/serializers/asset/host.py:19
msgid "IP/Host"
msgstr "IP/主机"
#: acls/serializers/base.py:87
#: acls/serializers/base.py:91
msgid "Recipients"
msgstr "接收人"
#: acls/serializers/base.py:99 tickets/serializers/ticket/ticket.py:77
#: acls/serializers/base.py:103 tickets/serializers/ticket/ticket.py:77
msgid "The organization `{}` does not exist"
msgstr "组织 `{}` 不存在"
#: acls/serializers/base.py:105
#: acls/serializers/base.py:109
msgid "None of the reviewers belong to Organization `{}`"
msgstr "所有复核人都不属于组织 `{}`"
@ -985,7 +990,7 @@ msgstr "应用程序"
msgid "Can match application"
msgstr "匹配应用"
#: assets/api/asset/asset.py:153
#: assets/api/asset/asset.py:157
msgid "Cannot create asset directly, you should create a host or other"
msgstr "不能直接创建资产, 你应该创建主机或其他资产"
@ -1228,7 +1233,7 @@ msgstr "SSH公钥"
#: assets/models/_user.py:27 assets/models/cmd_filter.py:40
#: assets/models/cmd_filter.py:88 assets/models/group.py:20
#: common/db/models.py:36 ops/models/adhoc.py:27 ops/models/job.py:111
#: common/db/models.py:36 ops/models/adhoc.py:27 ops/models/job.py:113
#: ops/models/playbook.py:26 rbac/models/role.py:37 settings/models.py:38
#: terminal/models/applet/applet.py:44 terminal/models/applet/applet.py:248
#: terminal/models/applet/host.py:139 terminal/models/component/endpoint.py:24
@ -1241,7 +1246,7 @@ msgstr "备注"
#: assets/models/_user.py:28 assets/models/automations/base.py:114
#: assets/models/cmd_filter.py:41 assets/models/group.py:19
#: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:191
#: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:193
#: users/models/user.py:979
msgid "Date created"
msgstr "创建日期"
@ -1409,7 +1414,7 @@ msgstr "忽略证书校验"
msgid "Proxy"
msgstr "代理"
#: assets/models/automations/base.py:22 ops/models/job.py:187
#: assets/models/automations/base.py:22 ops/models/job.py:189
#: settings/serializers/auth/sms.py:99
msgid "Parameters"
msgstr "参数"
@ -1423,7 +1428,7 @@ msgid "Asset automation task"
msgstr "资产自动化任务"
#: assets/models/automations/base.py:113 audits/models.py:199
#: audits/serializers.py:49 ops/models/base.py:49 ops/models/job.py:184
#: audits/serializers.py:49 ops/models/base.py:49 ops/models/job.py:186
#: terminal/models/applet/applet.py:247 terminal/models/applet/host.py:136
#: terminal/models/component/status.py:30 terminal/serializers/applet.py:18
#: terminal/serializers/applet_host.py:107 tickets/models/ticket/general.py:283
@ -1976,7 +1981,8 @@ msgid "Rename dir"
msgstr "映射目录"
#: audits/const.py:23 rbac/tree.py:229
#: terminal/templates/terminal/_msg_command_warning.html:71
#: terminal/templates/terminal/_msg_command_warning.html:68
#: terminal/templates/terminal/_msg_command_warning.html:96
msgid "View"
msgstr "查看"
@ -2060,7 +2066,8 @@ msgstr "文件"
#: terminal/models/session/replay.py:9 terminal/models/session/sharing.py:18
#: terminal/models/session/sharing.py:81
#: terminal/templates/terminal/_msg_command_alert.html:10
#: terminal/templates/terminal/_msg_command_warning.html:69
#: terminal/templates/terminal/_msg_command_warning.html:66
#: terminal/templates/terminal/_msg_command_warning.html:95
#: tickets/models/ticket/command_confirm.py:15
msgid "Session"
msgstr "会话"
@ -2247,22 +2254,22 @@ msgstr "ACL 动作是复核"
msgid "Current user not support mfa type: {}"
msgstr "当前用户不支持 MFA 类型: {}"
#: authentication/api/password.py:31 terminal/api/session/session.py:259
#: authentication/api/password.py:32 terminal/api/session/session.py:259
#: users/views/profile/reset.py:44
msgid "User does not exist: {}"
msgstr "用户不存在: {}"
#: authentication/api/password.py:31 users/views/profile/reset.py:127
#: authentication/api/password.py:32 users/views/profile/reset.py:127
msgid "No user matched"
msgstr "没有匹配到用户"
#: authentication/api/password.py:35
#: authentication/api/password.py:36
msgid ""
"The user is from {}, please go to the corresponding system to change the "
"password"
msgstr "用户来自 {} 请去相应系统修改密码"
#: authentication/api/password.py:59
#: authentication/api/password.py:60
#: authentication/templates/authentication/login.html:305
#: users/templates/users/forgot_password.html:27
#: users/templates/users/forgot_password.html:28
@ -2588,7 +2595,7 @@ msgstr "设置手机号码启用"
msgid "Clear phone number to disable"
msgstr "清空手机号码禁用"
#: authentication/middleware.py:93 settings/utils/ldap.py:657
#: authentication/middleware.py:93 settings/utils/ldap.py:661
msgid "Authentication failed (before login check failed): {}"
msgstr "认证失败(登录前检查失败): {}"
@ -2845,7 +2852,7 @@ msgstr "代码错误"
#: authentication/templates/authentication/_msg_reset_password_code.html:9
#: authentication/templates/authentication/_msg_rest_password_success.html:2
#: authentication/templates/authentication/_msg_rest_public_key_success.html:2
#: jumpserver/conf.py:426
#: jumpserver/conf.py:427
#: perms/templates/perms/_msg_item_permissions_expire.html:3
#: perms/templates/perms/_msg_permed_items_expire.html:3
#: tickets/templates/tickets/approve_check_password.html:33
@ -3429,11 +3436,11 @@ msgstr "导出搜素: %s"
msgid "User %s view/export secret"
msgstr "用户 %s 查看/导出 了密码"
#: jumpserver/conf.py:425
#: jumpserver/conf.py:426
msgid "Create account successfully"
msgstr "创建账号成功"
#: jumpserver/conf.py:427
#: jumpserver/conf.py:428
msgid "Your account has been created successfully"
msgstr "你的账号已创建成功"
@ -3568,7 +3575,7 @@ msgstr "VCS"
msgid "Adhoc"
msgstr "命令"
#: ops/const.py:39 ops/models/job.py:101
#: ops/const.py:39 ops/models/job.py:103
msgid "Playbook"
msgstr "Playbook"
@ -3625,17 +3632,17 @@ msgstr "需要周期或定期设置"
msgid "Pattern"
msgstr "模式"
#: ops/models/adhoc.py:24 ops/models/job.py:96
#: ops/models/adhoc.py:24 ops/models/job.py:98
msgid "Module"
msgstr "模块"
#: ops/models/adhoc.py:25 ops/models/celery.py:58 ops/models/job.py:95
#: ops/models/adhoc.py:25 ops/models/celery.py:58 ops/models/job.py:97
#: terminal/models/component/task.py:16
msgid "Args"
msgstr "参数"
#: ops/models/adhoc.py:26 ops/models/base.py:16 ops/models/base.py:53
#: ops/models/job.py:104 ops/models/job.py:190 ops/models/playbook.py:25
#: ops/models/job.py:106 ops/models/job.py:192 ops/models/playbook.py:25
#: terminal/models/session/sharing.py:23
msgid "Creator"
msgstr "创建者"
@ -3652,12 +3659,12 @@ msgstr "最后执行"
msgid "Date last run"
msgstr "最后运行日期"
#: ops/models/base.py:51 ops/models/job.py:188
#: ops/models/base.py:51 ops/models/job.py:190
#: xpack/plugins/cloud/models.py:162
msgid "Result"
msgstr "结果"
#: ops/models/base.py:52 ops/models/job.py:189
#: ops/models/base.py:52 ops/models/job.py:191
msgid "Summary"
msgstr "汇总"
@ -3690,43 +3697,43 @@ msgstr "发布日期"
msgid "Celery Task Execution"
msgstr "Celery 任务执行"
#: ops/models/job.py:98
#: ops/models/job.py:100
msgid "Chdir"
msgstr "运行目录"
#: ops/models/job.py:99
#: ops/models/job.py:101
msgid "Timeout (Seconds)"
msgstr "超时时间(秒)"
#: ops/models/job.py:106
#: ops/models/job.py:108
msgid "Use Parameter Define"
msgstr "使用参数定义"
#: ops/models/job.py:107
#: ops/models/job.py:109
msgid "Parameters define"
msgstr "参数定义"
#: ops/models/job.py:108
#: ops/models/job.py:110
msgid "Runas"
msgstr "运行用户"
#: ops/models/job.py:110
#: ops/models/job.py:112
msgid "Runas policy"
msgstr "用户策略"
#: ops/models/job.py:172
#: ops/models/job.py:174
msgid "Job"
msgstr "作业"
#: ops/models/job.py:195
#: ops/models/job.py:197
msgid "Material"
msgstr "Material"
#: ops/models/job.py:197
#: ops/models/job.py:199
msgid "Material Type"
msgstr "Material 类型"
#: ops/models/job.py:461
#: ops/models/job.py:482
msgid "Job Execution"
msgstr "作业执行"
@ -3871,7 +3878,8 @@ msgstr "组织管理"
#: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:89
#: rbac/const.py:7 rbac/models/rolebinding.py:56
#: rbac/serializers/rolebinding.py:40 settings/serializers/auth/ldap.py:63
#: terminal/templates/terminal/_msg_command_warning.html:75
#: terminal/templates/terminal/_msg_command_warning.html:72
#: terminal/templates/terminal/_msg_command_warning.html:98
#: tickets/models/ticket/general.py:302 tickets/serializers/ticket/ticket.py:60
msgid "Organization"
msgstr "组织"
@ -5284,100 +5292,100 @@ msgstr "周期导入 LDAP 用户"
msgid "Registration periodic import ldap user task"
msgstr "注册周期导入 LDAP 用户 任务"
#: settings/utils/ldap.py:472
#: settings/utils/ldap.py:476
msgid "ldap:// or ldaps:// protocol is used."
msgstr "使用 ldap:// 或 ldaps:// 协议"
#: settings/utils/ldap.py:483
#: settings/utils/ldap.py:487
msgid "Host or port is disconnected: {}"
msgstr "主机或端口不可连接: {}"
#: settings/utils/ldap.py:485
#: settings/utils/ldap.py:489
msgid "The port is not the port of the LDAP service: {}"
msgstr "端口不是LDAP服务端口: {}"
#: settings/utils/ldap.py:487
#: settings/utils/ldap.py:491
msgid "Please add certificate: {}"
msgstr "请添加证书"
#: settings/utils/ldap.py:491 settings/utils/ldap.py:518
#: settings/utils/ldap.py:548 settings/utils/ldap.py:576
#: settings/utils/ldap.py:495 settings/utils/ldap.py:522
#: settings/utils/ldap.py:552 settings/utils/ldap.py:580
msgid "Unknown error: {}"
msgstr "未知错误: {}"
#: settings/utils/ldap.py:505
#: settings/utils/ldap.py:509
msgid "Bind DN or Password incorrect"
msgstr "绑定DN或密码错误"
#: settings/utils/ldap.py:512
#: settings/utils/ldap.py:516
msgid "Please enter Bind DN: {}"
msgstr "请输入绑定DN: {}"
#: settings/utils/ldap.py:514
#: settings/utils/ldap.py:518
msgid "Please enter Password: {}"
msgstr "请输入密码: {}"
#: settings/utils/ldap.py:516
#: settings/utils/ldap.py:520
msgid "Please enter correct Bind DN and Password: {}"
msgstr "请输入正确的绑定DN和密码: {}"
#: settings/utils/ldap.py:534
#: settings/utils/ldap.py:538
msgid "Invalid User OU or User search filter: {}"
msgstr "不合法的用户OU或用户过滤器: {}"
#: settings/utils/ldap.py:565
#: settings/utils/ldap.py:569
msgid "LDAP User attr map not include: {}"
msgstr "LDAP属性映射没有包含: {}"
#: settings/utils/ldap.py:572
#: settings/utils/ldap.py:576
msgid "LDAP User attr map is not dict"
msgstr "LDAP属性映射不合法"
#: settings/utils/ldap.py:591
#: settings/utils/ldap.py:595
msgid "LDAP authentication is not enabled"
msgstr "LDAP认证没有启用"
#: settings/utils/ldap.py:609
#: settings/utils/ldap.py:613
msgid "Error (Invalid LDAP server): {}"
msgstr "错误 不合法的LDAP服务器地址: {}"
#: settings/utils/ldap.py:611
#: settings/utils/ldap.py:615
msgid "Error (Invalid Bind DN): {}"
msgstr "错误不合法的绑定DN: {}"
#: settings/utils/ldap.py:613
#: settings/utils/ldap.py:617
msgid "Error (Invalid LDAP User attr map): {}"
msgstr "错误不合法的LDAP属性映射: {}"
#: settings/utils/ldap.py:615
#: settings/utils/ldap.py:619
msgid "Error (Invalid User OU or User search filter): {}"
msgstr "错误不合法的用户OU或用户过滤器: {}"
#: settings/utils/ldap.py:617
#: settings/utils/ldap.py:621
msgid "Error (Not enabled LDAP authentication): {}"
msgstr "错误没有启用LDAP认证: {}"
#: settings/utils/ldap.py:619
#: settings/utils/ldap.py:623
msgid "Error (Unknown): {}"
msgstr "错误(未知): {}"
#: settings/utils/ldap.py:622
#: settings/utils/ldap.py:626
msgid "Succeed: Match {} s user"
msgstr "成功匹配 {} 个用户"
#: settings/utils/ldap.py:655
#: settings/utils/ldap.py:659
msgid "Authentication failed (configuration incorrect): {}"
msgstr "认证失败(配置错误): {}"
#: settings/utils/ldap.py:659
#: settings/utils/ldap.py:663
msgid "Authentication failed (username or password incorrect): {}"
msgstr "认证失败 (用户名或密码不正确): {}"
#: settings/utils/ldap.py:661
#: settings/utils/ldap.py:665
msgid "Authentication failed (Unknown): {}"
msgstr "认证失败: (未知): {}"
#: settings/utils/ldap.py:664
#: settings/utils/ldap.py:668
msgid "Authentication success: {}"
msgstr "认证成功: {}"
@ -5608,7 +5616,7 @@ msgstr "测试失败: {}"
msgid "Test successful"
msgstr "测试成功"
#: terminal/api/component/storage.py:124 terminal/notifications.py:231
#: terminal/api/component/storage.py:124 terminal/notifications.py:263
#: terminal/tasks.py:144
msgid "Test failure: Account invalid"
msgstr "测试失败: 账号无效"
@ -5646,6 +5654,7 @@ msgid "Output"
msgstr "输出"
#: terminal/backends/command/models.py:25 terminal/serializers/command.py:23
#: terminal/templates/terminal/_msg_command_warning.html:91
msgid "Risk level"
msgstr "风险等级"
@ -5990,36 +5999,35 @@ msgstr "验证码不正确"
msgid "You have already joined this session"
msgstr "您已经加入过此会话"
#: terminal/notifications.py:22
#: terminal/notifications.py:24
msgid "Sessions"
msgstr "会话管理"
#: terminal/notifications.py:69
#: terminal/templates/terminal/_msg_command_warning.html:5
msgid "Danger command warning"
msgstr "危险命令告警"
#: terminal/notifications.py:71
msgid "Command warning"
msgstr "命令告警"
#: terminal/notifications.py:122
msgid "Danger command alert"
msgstr "危险命令告警"
#: terminal/notifications.py:154
msgid "Command reject"
msgstr "命令拒绝"
#: terminal/notifications.py:149 terminal/notifications.py:197
#: terminal/notifications.py:181 terminal/notifications.py:229
msgid "Level"
msgstr "级别"
#: terminal/notifications.py:167
#: terminal/notifications.py:199
msgid "Batch danger command alert"
msgstr "批量危险命令告警"
#: terminal/notifications.py:215
#: terminal/notifications.py:247
msgid "Command and replay storage"
msgstr "命令及录像存储"
#: terminal/notifications.py:216
#: terminal/notifications.py:248
msgid "Connectivity alarm"
msgstr "可连接性告警"
#: terminal/notifications.py:241
#: terminal/notifications.py:273
#: terminal/templates/terminal/_msg_check_command_replay_storage_connectivity.html:4
msgid "Invalid storage"
msgstr "无效的存储"
@ -6291,15 +6299,16 @@ msgstr "检查命令及录像存储可连接性 "
msgid "view"
msgstr "查看"
#: terminal/templates/terminal/_msg_command_warning.html:21
#: terminal/templates/terminal/_msg_command_warning.html:18
msgid "Item"
msgstr "项目"
#: terminal/templates/terminal/_msg_command_warning.html:25
#: terminal/templates/terminal/_msg_command_warning.html:22
msgid "Url"
msgstr "链接"
#: terminal/templates/terminal/_msg_command_warning.html:63
#: terminal/templates/terminal/_msg_command_warning.html:60
#: terminal/templates/terminal/_msg_command_warning.html:93
msgid "Command acl group"
msgstr "命令过滤组"
@ -7773,3 +7782,6 @@ msgstr "旗舰版"
#: xpack/plugins/license/models.py:86
msgid "Community edition"
msgstr "社区版"
#~ msgid "Danger command alert"
#~ msgstr "危险命令告警"

View File

@ -28,6 +28,7 @@ from perms.models import AssetPermission
from perms.utils import UserPermAssetUtil
from terminal.notifications import CommandExecutionAlert
from terminal.notifications import CommandWarningMessage
from terminal.const import RiskLevelChoices
def get_parent_keys(key, include_self=True):
@ -400,13 +401,22 @@ class JobExecution(JMSOrgBaseModel):
}).publish_async()
raise Exception("command is rejected by ACL")
elif acl.is_action(CommandFilterACL.ActionChoices.warning):
# TODO: warning message
# user = ''
# command = {
# 'user': '',
# 'user_id': ''
# }
# CommandWarningMessage(user, command).publish_async()
user = self.creator
command = {
'input': self.material,
'user': user.name,
'_user_id': user.id,
'asset': asset.name,
'_asset_id': asset.id,
'_account': self.current_job.runas,
'_cmd_filter_acl': acl,
'_cmd_group': cg,
'session': '',
'_risk_level': RiskLevelChoices.warning.label,
'org_id': self.org.id,
'_org_name': self.org.name or self.org.id,
}
CommandWarningMessage(user, command).publish_async()
return True
return False

View File

@ -224,16 +224,17 @@ class InsecureCommandAlertAPI(generics.CreateAPIView):
cmd_group = cmd_group_mapper.get(command['cmd_group'])
command['_cmd_group'] = cmd_group
session = session_mapper.get(command['session'])
risk_level = command.get('risk_level')
if session:
command.update({
'_user_id': session.user_id,
'_asset_id': session.asset_id,
'_account': session.account,
'_account_id': session.account_id,
'_org_name': session.org.name
'_org_name': session.org.name,
'_risk_level': RiskLevelChoices.get_risk_level_str(risk_level),
})
risk_level = command.get('risk_level')
if risk_level in [RiskLevelChoices.reject, RiskLevelChoices.review_reject]:
CommandAlertMessage(command).publish_async()
elif risk_level in [RiskLevelChoices.warning]:

View File

@ -13,6 +13,11 @@ class RiskLevelChoices(IntegerChoices):
review_accept = 7, _('Review & Accept')
review_cancel = 8, _('Review & Cancel')
@classmethod
def get_risk_level_str(cls, risk_level):
risk_mapper = dict(cls.choices)
return risk_mapper.get(risk_level)
class ReplayStorageType(TextChoices):
null = 'null', 'Null',

View File

@ -11,7 +11,6 @@ from notifications.backends import BACKEND
from notifications.models import SystemMsgSubscription
from notifications.notifications import SystemMessage, UserMessage
from terminal.models import Session, Command
from acls.models import CommandFilterACL, CommandGroup
from users.models import User
logger = get_logger(__name__)
@ -69,7 +68,7 @@ class CommandAlertMixin:
class CommandWarningMessage(CommandAlertMixin, UserMessage):
message_type_label = _('Danger command warning')
message_type_label = _('Command warning')
def __init__(self, user, command):
super().__init__(user)
@ -88,6 +87,7 @@ class CommandWarningMessage(CommandAlertMixin, UserMessage):
cmd_acl = command.get('_cmd_filter_acl')
cmd_group = command.get('_cmd_group')
session_id = command['session']
risk_level = command['_risk_level']
org_id = command['org_id']
org_name = command.get('_org_name') or org_id
@ -137,6 +137,7 @@ class CommandWarningMessage(CommandAlertMixin, UserMessage):
'cmd_group': cmd_group_name,
'cmd_group_url': cmd_group_url,
'session_url': session_url,
'risk_level': risk_level,
'org': org_name,
}
@ -150,7 +151,7 @@ class CommandWarningMessage(CommandAlertMixin, UserMessage):
class CommandAlertMessage(CommandAlertMixin, SystemMessage):
category = CATEGORY
category_label = CATEGORY_LABEL
message_type_label = _('Danger command alert')
message_type_label = _('Command reject')
def __init__(self, command):
self.command = command

View File

@ -1,10 +1,7 @@
{% load i18n %}
<div>
<p>
{% blocktranslate %}Danger command warning{% endblocktranslate %}
</p>
<table style="
<!-- <table style="
display: inline-block;
margin: .6em 0;
max-width: 100%;
@ -78,5 +75,26 @@
</td>
</tr>
</tbody>
</table>
</table> -->
<b>{% trans 'User' %}:</b> <a href="{{ user_url }}" target="_blank">{{ user }}</a><br />
<b>{% trans 'Asset' %}:</b> <a href="{{ asset_url }}" target="_blank">{{ asset }}</a><br />
<b>{% trans 'Account' %}:</b>
{% if account_url %}
<a href="{{ account_url }}" target="_blank">{{ account }}</a>
{% else %}
<span>{{ account }}</span>
{% endif %}
<br />
<b>{% trans 'Command' %}: </b><span>{{ command }}</span><br />
<b>{% trans 'Risk level' %}: </b><span>{{ risk_level }}</span><br />
<b>{% trans 'Command acl' %}:</b> <a href="{{ cmd_filter_acl_url }}" target="_blank">{{ user }}</a><br />
<b>{% trans 'Command acl group' %}:</b> <a href="{{ cmd_group_url }}" target="_blank">{{ user }}</a><br />
{% if session_url %}
<b>{% trans 'Session' %}:</b>
<a href="{{ session_url }}" target="_blank">{% trans 'View' %}</a><br />
{% endif %}
<b>{% trans 'Organization' %}:</b> <span>{{ org }}</span><br />
</div>