diff --git a/apps/jumpserver/conf.py b/apps/jumpserver/conf.py index 17d660be8..ce43c13b1 100644 --- a/apps/jumpserver/conf.py +++ b/apps/jumpserver/conf.py @@ -359,6 +359,7 @@ defaults = { 'TERMINAL_TELNET_REGEX': '', 'TERMINAL_COMMAND_STORAGE': {}, 'SECURITY_MFA_AUTH': False, + 'SECURITY_SERVICE_ACCOUNT_REGISTRATION': True, 'SECURITY_LOGIN_LIMIT_COUNT': 7, 'SECURITY_LOGIN_LIMIT_TIME': 30, 'SECURITY_MAX_IDLE_TIME': 30, diff --git a/apps/jumpserver/settings.py b/apps/jumpserver/settings.py index 35ffebc25..6ee9f7a74 100644 --- a/apps/jumpserver/settings.py +++ b/apps/jumpserver/settings.py @@ -568,7 +568,7 @@ SECURITY_PASSWORD_RULES = [ 'SECURITY_PASSWORD_SPECIAL_CHAR' ] SECURITY_MFA_VERIFY_TTL = CONFIG.SECURITY_MFA_VERIFY_TTL - +SECURITY_SERVICE_ACCOUNT_REGISTRATION = CONFIG.SECURITY_SERVICE_ACCOUNT_REGISTRATION TERMINAL_PASSWORD_AUTH = CONFIG.TERMINAL_PASSWORD_AUTH TERMINAL_PUBLIC_KEY_AUTH = CONFIG.TERMINAL_PUBLIC_KEY_AUTH TERMINAL_HEARTBEAT_INTERVAL = CONFIG.TERMINAL_HEARTBEAT_INTERVAL diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index c702b74b1..9dc31d0c8 100644 Binary files a/apps/locale/zh/LC_MESSAGES/django.mo and b/apps/locale/zh/LC_MESSAGES/django.mo differ diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index e7d79281b..1da5e158c 100644 --- a/apps/locale/zh/LC_MESSAGES/django.po +++ b/apps/locale/zh/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Jumpserver 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-11 11:23+0800\n" +"POT-Creation-Date: 2019-07-15 14:43+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: ibuler \n" "Language-Team: Jumpserver team\n" @@ -76,8 +76,8 @@ msgstr "运行参数" #: applications/templates/applications/remote_app_list.html:22 #: applications/templates/applications/user_remote_app_list.html:18 #: assets/forms/domain.py:15 assets/forms/label.py:13 -#: assets/models/asset.py:342 assets/models/authbook.py:24 -#: assets/serializers/admin_user.py:35 assets/serializers/asset_user.py:81 +#: assets/models/asset.py:319 assets/models/authbook.py:24 +#: assets/serializers/admin_user.py:32 assets/serializers/asset_user.py:81 #: assets/serializers/system_user.py:30 #: assets/templates/assets/admin_user_list.html:47 #: assets/templates/assets/domain_detail.html:60 @@ -86,7 +86,7 @@ msgstr "运行参数" #: assets/templates/assets/system_user_list.html:55 audits/models.py:19 #: audits/templates/audits/ftp_log_list.html:41 #: audits/templates/audits/ftp_log_list.html:71 -#: perms/forms/asset_permission.py:68 perms/models/asset_permission.py:76 +#: perms/forms/asset_permission.py:69 perms/models/asset_permission.py:78 #: perms/templates/perms/asset_permission_create_update.html:45 #: perms/templates/perms/asset_permission_list.html:48 #: perms/templates/perms/asset_permission_list.html:117 @@ -112,11 +112,11 @@ msgstr "资产" #: applications/templates/applications/remote_app_detail.html:61 #: applications/templates/applications/remote_app_list.html:23 #: applications/templates/applications/user_remote_app_list.html:19 -#: assets/models/user.py:160 assets/templates/assets/user_asset_list.html:172 +#: assets/models/user.py:150 assets/templates/assets/user_asset_list.html:52 #: audits/models.py:20 audits/templates/audits/ftp_log_list.html:49 #: audits/templates/audits/ftp_log_list.html:72 -#: perms/forms/asset_permission.py:74 perms/models/asset_permission.py:78 -#: perms/models/asset_permission.py:103 +#: perms/forms/asset_permission.py:75 perms/models/asset_permission.py:80 +#: perms/models/asset_permission.py:114 #: perms/templates/perms/asset_permission_detail.html:140 #: perms/templates/perms/asset_permission_list.html:50 #: perms/templates/perms/asset_permission_list.html:71 @@ -126,6 +126,7 @@ msgstr "资产" #: terminal/templates/terminal/command_list.html:67 #: terminal/templates/terminal/session_list.html:29 #: terminal/templates/terminal/session_list.html:73 +#: users/templates/users/_granted_assets.html:26 #: xpack/plugins/orgs/templates/orgs/org_list.html:19 msgid "System user" msgstr "系统用户" @@ -166,7 +167,7 @@ msgstr "系统用户" #: settings/templates/settings/terminal_setting.html:105 terminal/models.py:22 #: terminal/models.py:258 terminal/templates/terminal/terminal_detail.html:43 #: terminal/templates/terminal/terminal_list.html:29 users/models/group.py:14 -#: users/models/user.py:64 users/templates/users/_select_user_modal.html:13 +#: users/models/user.py:324 users/templates/users/_select_user_modal.html:13 #: users/templates/users/user_detail.html:63 #: users/templates/users/user_group_detail.html:55 #: users/templates/users/user_group_list.html:35 @@ -205,7 +206,7 @@ msgstr "参数" #: applications/models/remote_app.py:43 #: applications/templates/applications/remote_app_detail.html:77 -#: assets/models/asset.py:221 assets/models/base.py:36 +#: assets/models/asset.py:198 assets/models/base.py:36 #: assets/models/cluster.py:28 assets/models/cmd_filter.py:25 #: assets/models/cmd_filter.py:58 assets/models/group.py:21 #: assets/templates/assets/admin_user_detail.html:68 @@ -214,10 +215,10 @@ msgstr "参数" #: assets/templates/assets/domain_detail.html:72 #: assets/templates/assets/system_user_detail.html:100 #: ops/templates/ops/adhoc_detail.html:86 orgs/models.py:14 -#: perms/models/asset_permission.py:106 perms/models/base.py:41 +#: perms/models/asset_permission.py:117 perms/models/base.py:41 #: perms/templates/perms/asset_permission_detail.html:98 #: perms/templates/perms/remote_app_permission_detail.html:90 -#: users/models/user.py:105 users/serializers/v1.py:116 +#: users/models/user.py:365 users/serializers/v1.py:120 #: users/templates/users/user_detail.html:111 #: xpack/plugins/change_auth_plan/models.py:106 #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_detail.html:113 @@ -229,7 +230,7 @@ msgstr "创建者" # msgstr "创建者" #: applications/models/remote_app.py:46 #: applications/templates/applications/remote_app_detail.html:73 -#: assets/models/asset.py:222 assets/models/base.py:34 +#: assets/models/asset.py:199 assets/models/base.py:34 #: assets/models/cluster.py:26 assets/models/domain.py:23 #: assets/models/group.py:22 assets/models/label.py:25 #: assets/templates/assets/admin_user_detail.html:64 @@ -237,7 +238,7 @@ msgstr "创建者" #: assets/templates/assets/domain_detail.html:68 #: assets/templates/assets/system_user_detail.html:96 #: ops/templates/ops/adhoc_detail.html:90 ops/templates/ops/task_detail.html:64 -#: orgs/models.py:15 perms/models/asset_permission.py:107 +#: orgs/models.py:15 perms/models/asset_permission.py:118 #: perms/models/base.py:42 #: perms/templates/perms/asset_permission_detail.html:94 #: perms/templates/perms/remote_app_permission_detail.html:86 @@ -257,7 +258,7 @@ msgstr "创建日期" #: applications/templates/applications/remote_app_detail.html:81 #: applications/templates/applications/remote_app_list.html:24 #: applications/templates/applications/user_remote_app_list.html:20 -#: assets/models/asset.py:223 assets/models/base.py:33 +#: assets/models/asset.py:200 assets/models/base.py:33 #: assets/models/cluster.py:29 assets/models/cmd_filter.py:22 #: assets/models/cmd_filter.py:55 assets/models/domain.py:21 #: assets/models/domain.py:53 assets/models/group.py:23 @@ -271,15 +272,14 @@ msgstr "创建日期" #: assets/templates/assets/domain_gateway_list.html:72 #: assets/templates/assets/domain_list.html:28 #: assets/templates/assets/system_user_detail.html:104 -#: assets/templates/assets/system_user_list.html:59 -#: assets/templates/assets/user_asset_list.html:175 ops/models/adhoc.py:43 -#: orgs/models.py:16 perms/models/asset_permission.py:108 +#: assets/templates/assets/system_user_list.html:59 ops/models/adhoc.py:43 +#: orgs/models.py:16 perms/models/asset_permission.py:119 #: perms/models/base.py:43 #: perms/templates/perms/asset_permission_detail.html:102 #: perms/templates/perms/remote_app_permission_detail.html:94 #: settings/models.py:34 terminal/models.py:32 #: terminal/templates/terminal/terminal_detail.html:63 users/models/group.py:15 -#: users/models/user.py:97 users/templates/users/user_detail.html:127 +#: users/models/user.py:357 users/templates/users/user_detail.html:127 #: users/templates/users/user_group_detail.html:67 #: users/templates/users/user_group_list.html:37 #: users/templates/users/user_profile.html:134 @@ -522,8 +522,7 @@ msgstr "创建远程应用" #: assets/templates/assets/domain_gateway_list.html:73 #: assets/templates/assets/domain_list.html:29 #: assets/templates/assets/label_list.html:17 -#: assets/templates/assets/system_user_list.html:60 -#: assets/templates/assets/user_asset_list.html:48 audits/models.py:38 +#: assets/templates/assets/system_user_list.html:60 audits/models.py:38 #: audits/templates/audits/operate_log_list.html:41 #: audits/templates/audits/operate_log_list.html:67 #: ops/templates/ops/adhoc_history.html:59 ops/templates/ops/task_adhoc.html:64 @@ -537,6 +536,7 @@ msgstr "创建远程应用" #: settings/templates/settings/terminal_setting.html:107 #: terminal/templates/terminal/session_list.html:36 #: terminal/templates/terminal/terminal_list.html:36 +#: users/templates/users/_granted_assets.html:28 #: users/templates/users/user_group_list.html:38 #: users/templates/users/user_list.html:41 #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_execution_list.html:60 @@ -549,8 +549,8 @@ msgid "Action" msgstr "动作" #: applications/templates/applications/user_remote_app_list.html:57 -#: assets/templates/assets/user_asset_list.html:100 -#: perms/models/asset_permission.py:28 +#: assets/templates/assets/user_asset_list.html:31 +#: perms/models/asset_permission.py:30 msgid "Connect" msgstr "连接" @@ -603,7 +603,6 @@ msgstr "不可达" #: assets/const.py:78 assets/models/utils.py:44 #: assets/templates/assets/asset_list.html:99 -#: users/templates/users/user_group_granted_asset.html:47 msgid "Reachable" msgstr "可连接" @@ -612,24 +611,23 @@ msgstr "可连接" msgid "Unknown" msgstr "未知" -#: assets/forms/asset.py:24 assets/models/asset.py:187 +#: assets/forms/asset.py:24 assets/models/asset.py:164 #: assets/models/domain.py:50 #: assets/templates/assets/domain_gateway_list.html:69 -#: assets/templates/assets/user_asset_list.html:168 #: settings/templates/settings/replay_storage_create.html:59 msgid "Port" msgstr "端口" -#: assets/forms/asset.py:45 assets/models/asset.py:192 +#: assets/forms/asset.py:45 assets/models/asset.py:169 #: assets/models/user.py:107 assets/templates/assets/asset_detail.html:190 #: assets/templates/assets/asset_detail.html:198 #: assets/templates/assets/system_user_assets.html:83 -#: perms/models/asset_permission.py:77 +#: perms/models/asset_permission.py:79 #: xpack/plugins/change_auth_plan/models.py:72 msgid "Nodes" msgstr "节点" -#: assets/forms/asset.py:48 assets/forms/asset.py:83 assets/models/asset.py:196 +#: assets/forms/asset.py:48 assets/forms/asset.py:83 assets/models/asset.py:173 #: assets/models/cluster.py:19 assets/models/user.py:65 #: assets/templates/assets/asset_detail.html:76 templates/_nav.html:24 #: xpack/plugins/cloud/models.py:124 @@ -642,24 +640,24 @@ msgstr "管理用户" #: assets/templates/assets/asset_create.html:48 #: assets/templates/assets/asset_create.html:50 #: assets/templates/assets/asset_list.html:85 -#: assets/templates/assets/user_asset_list.html:33 +#: users/templates/users/_granted_assets.html:16 #: xpack/plugins/orgs/templates/orgs/org_list.html:20 msgid "Label" msgstr "标签" -#: assets/forms/asset.py:54 assets/forms/asset.py:89 assets/models/asset.py:191 +#: assets/forms/asset.py:54 assets/forms/asset.py:89 assets/models/asset.py:168 #: assets/models/domain.py:26 assets/models/domain.py:52 #: assets/templates/assets/asset_detail.html:80 -#: assets/templates/assets/user_asset_list.html:173 +#: assets/templates/assets/user_asset_list.html:53 #: xpack/plugins/orgs/templates/orgs/org_list.html:17 msgid "Domain" msgstr "网域" #: assets/forms/asset.py:58 assets/forms/asset.py:80 assets/forms/asset.py:93 -#: assets/forms/asset.py:128 assets/models/node.py:254 +#: assets/forms/asset.py:128 assets/models/node.py:253 #: assets/templates/assets/asset_create.html:42 -#: perms/forms/asset_permission.py:71 perms/forms/asset_permission.py:78 -#: perms/models/asset_permission.py:101 +#: perms/forms/asset_permission.py:72 perms/forms/asset_permission.py:79 +#: perms/models/asset_permission.py:112 #: perms/templates/perms/asset_permission_list.html:49 #: perms/templates/perms/asset_permission_list.html:70 #: perms/templates/perms/asset_permission_list.html:120 @@ -691,13 +689,13 @@ msgstr "如果有多个的互相隔离的网络,设置资产属于的网域, #: assets/forms/asset.py:108 assets/forms/asset.py:112 #: assets/forms/domain.py:17 assets/forms/label.py:15 -#: perms/templates/perms/asset_permission_asset.html:88 +#: perms/templates/perms/asset_permission_asset.html:78 #: xpack/plugins/change_auth_plan/forms.py:106 #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:84 msgid "Select assets" msgstr "选择资产" -#: assets/forms/cmd_filter.py:37 assets/serializers/cmd_filter.py:34 +#: assets/forms/cmd_filter.py:37 assets/serializers/cmd_filter.py:40 msgid "Content should not be contain: {}" msgstr "内容不能包含: {}" @@ -726,7 +724,7 @@ msgstr "SSH网关,支持代理SSH,RDP和VNC" #: perms/templates/perms/asset_permission_user.html:55 #: perms/templates/perms/remote_app_permission_user.html:54 #: settings/templates/settings/_ldap_list_users_modal.html:37 users/forms.py:14 -#: users/models/user.py:62 users/templates/users/_select_user_modal.html:14 +#: users/models/user.py:322 users/templates/users/_select_user_modal.html:14 #: users/templates/users/user_detail.html:67 #: users/templates/users/user_list.html:36 #: users/templates/users/user_profile.html:47 @@ -765,7 +763,7 @@ msgstr "密码" #: assets/forms/user.py:29 assets/serializers/asset_user.py:70 #: assets/templates/assets/_asset_user_auth_update_modal.html:27 -#: users/models/user.py:91 +#: users/models/user.py:351 msgid "Private key" msgstr "ssh私钥" @@ -805,134 +803,129 @@ msgstr "如果选择手动登录模式,用户名和密码可以不填写" msgid "Use comma split multi command, ex: /bin/whoami,/bin/ifconfig" msgstr "使用逗号分隔多个命令,如: /bin/whoami,/sbin/ifconfig" -#: assets/models/asset.py:182 assets/models/domain.py:49 +#: assets/models/asset.py:159 assets/models/domain.py:49 #: assets/serializers/asset_user.py:28 #: assets/templates/assets/_asset_list_modal.html:46 #: assets/templates/assets/_asset_user_list.html:15 #: assets/templates/assets/asset_detail.html:64 #: assets/templates/assets/asset_list.html:97 #: assets/templates/assets/domain_gateway_list.html:68 -#: assets/templates/assets/user_asset_list.html:45 -#: assets/templates/assets/user_asset_list.html:167 +#: assets/templates/assets/user_asset_list.html:49 #: audits/templates/audits/login_log_list.html:54 -#: perms/templates/perms/asset_permission_asset.html:55 settings/forms.py:140 -#: users/templates/users/user_granted_asset.html:45 -#: users/templates/users/user_group_granted_asset.html:45 +#: perms/templates/perms/asset_permission_asset.html:58 settings/forms.py:140 +#: users/templates/users/_granted_assets.html:25 #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:51 msgid "IP" msgstr "IP" -#: assets/models/asset.py:183 assets/serializers/asset_user.py:27 +#: assets/models/asset.py:160 assets/serializers/asset_user.py:27 #: assets/templates/assets/_asset_list_modal.html:45 #: assets/templates/assets/_asset_user_auth_update_modal.html:9 #: assets/templates/assets/_asset_user_auth_view_modal.html:15 #: assets/templates/assets/_asset_user_list.html:14 #: assets/templates/assets/asset_detail.html:60 #: assets/templates/assets/asset_list.html:96 -#: assets/templates/assets/user_asset_list.html:44 -#: assets/templates/assets/user_asset_list.html:166 -#: perms/templates/perms/asset_permission_asset.html:54 +#: assets/templates/assets/user_asset_list.html:48 +#: perms/templates/perms/asset_permission_asset.html:57 #: perms/templates/perms/asset_permission_list.html:69 settings/forms.py:139 -#: users/templates/users/user_granted_asset.html:44 -#: users/templates/users/user_group_granted_asset.html:44 +#: users/templates/users/_granted_assets.html:24 #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:50 msgid "Hostname" msgstr "主机名" -#: assets/models/asset.py:186 assets/models/domain.py:51 +#: assets/models/asset.py:163 assets/models/domain.py:51 #: assets/models/user.py:110 assets/templates/assets/asset_detail.html:72 #: assets/templates/assets/domain_gateway_list.html:70 #: assets/templates/assets/system_user_detail.html:70 #: assets/templates/assets/system_user_list.html:53 -#: assets/templates/assets/user_asset_list.html:169 #: terminal/templates/terminal/session_list.html:31 msgid "Protocol" msgstr "协议" -#: assets/models/asset.py:189 assets/serializers/asset.py:63 +#: assets/models/asset.py:166 assets/serializers/asset.py:63 #: assets/templates/assets/asset_create.html:24 +#: assets/templates/assets/user_asset_list.html:50 +#: perms/serializers/user_permission.py:38 msgid "Protocols" msgstr "协议组" -#: assets/models/asset.py:190 assets/templates/assets/asset_detail.html:104 -#: assets/templates/assets/user_asset_list.html:170 +#: assets/models/asset.py:167 assets/templates/assets/asset_detail.html:104 +#: assets/templates/assets/user_asset_list.html:51 msgid "Platform" msgstr "系统平台" -#: assets/models/asset.py:193 assets/models/cmd_filter.py:21 +#: assets/models/asset.py:170 assets/models/cmd_filter.py:21 #: assets/models/domain.py:54 assets/models/label.py:22 #: assets/templates/assets/asset_detail.html:112 -#: assets/templates/assets/user_asset_list.html:174 msgid "Is active" msgstr "激活" -#: assets/models/asset.py:199 assets/templates/assets/asset_detail.html:68 +#: assets/models/asset.py:176 assets/templates/assets/asset_detail.html:68 msgid "Public IP" msgstr "公网IP" -#: assets/models/asset.py:200 assets/templates/assets/asset_detail.html:120 +#: assets/models/asset.py:177 assets/templates/assets/asset_detail.html:120 msgid "Asset number" msgstr "资产编号" -#: assets/models/asset.py:203 assets/templates/assets/asset_detail.html:84 +#: assets/models/asset.py:180 assets/templates/assets/asset_detail.html:84 msgid "Vendor" msgstr "制造商" -#: assets/models/asset.py:204 assets/templates/assets/asset_detail.html:88 +#: assets/models/asset.py:181 assets/templates/assets/asset_detail.html:88 msgid "Model" msgstr "型号" -#: assets/models/asset.py:205 assets/templates/assets/asset_detail.html:116 +#: assets/models/asset.py:182 assets/templates/assets/asset_detail.html:116 msgid "Serial number" msgstr "序列号" -#: assets/models/asset.py:207 +#: assets/models/asset.py:184 msgid "CPU model" msgstr "CPU型号" -#: assets/models/asset.py:208 +#: assets/models/asset.py:185 #: xpack/plugins/license/templates/license/license_detail.html:80 msgid "CPU count" msgstr "CPU数量" -#: assets/models/asset.py:209 +#: assets/models/asset.py:186 msgid "CPU cores" msgstr "CPU核数" -#: assets/models/asset.py:210 +#: assets/models/asset.py:187 msgid "CPU vcpus" msgstr "CPU总数" -#: assets/models/asset.py:211 assets/templates/assets/asset_detail.html:96 +#: assets/models/asset.py:188 assets/templates/assets/asset_detail.html:96 msgid "Memory" msgstr "内存" -#: assets/models/asset.py:212 +#: assets/models/asset.py:189 msgid "Disk total" msgstr "硬盘大小" -#: assets/models/asset.py:213 +#: assets/models/asset.py:190 msgid "Disk info" msgstr "硬盘信息" -#: assets/models/asset.py:215 assets/templates/assets/asset_detail.html:108 -#: assets/templates/assets/user_asset_list.html:171 +#: assets/models/asset.py:192 assets/templates/assets/asset_detail.html:108 msgid "OS" msgstr "操作系统" -#: assets/models/asset.py:216 +#: assets/models/asset.py:193 msgid "OS version" msgstr "系统版本" -#: assets/models/asset.py:217 +#: assets/models/asset.py:194 msgid "OS arch" msgstr "系统架构" -#: assets/models/asset.py:218 +#: assets/models/asset.py:195 msgid "Hostname raw" msgstr "主机名原始" -#: assets/models/asset.py:220 assets/templates/assets/asset_create.html:46 +#: assets/models/asset.py:197 assets/templates/assets/asset_create.html:46 #: assets/templates/assets/asset_detail.html:227 templates/_nav.html:26 msgid "Labels" msgstr "标签管理" @@ -976,7 +969,7 @@ msgstr "带宽" msgid "Contact" msgstr "联系人" -#: assets/models/cluster.py:22 users/models/user.py:83 +#: assets/models/cluster.py:22 users/models/user.py:343 #: users/templates/users/user_detail.html:76 msgid "Phone" msgstr "手机" @@ -1002,7 +995,7 @@ msgid "Default" msgstr "默认" #: assets/models/cluster.py:36 assets/models/label.py:14 -#: users/models/user.py:453 +#: users/models/user.py:451 msgid "System" msgstr "系统" @@ -1109,7 +1102,7 @@ msgstr "默认资产组" #: audits/templates/audits/password_change_log_list.html:50 #: ops/templates/ops/command_execution_list.html:35 #: ops/templates/ops/command_execution_list.html:60 -#: perms/forms/asset_permission.py:62 perms/forms/remote_app_permission.py:31 +#: perms/forms/asset_permission.py:63 perms/forms/remote_app_permission.py:31 #: perms/models/base.py:36 #: perms/templates/perms/asset_permission_create_update.html:41 #: perms/templates/perms/asset_permission_list.html:46 @@ -1121,8 +1114,8 @@ msgstr "默认资产组" #: terminal/templates/terminal/command_list.html:65 #: terminal/templates/terminal/session_list.html:27 #: terminal/templates/terminal/session_list.html:71 users/forms.py:316 -#: users/models/user.py:38 users/models/user.py:441 users/serializers/v1.py:105 -#: users/templates/users/user_group_detail.html:78 +#: users/models/user.py:121 users/models/user.py:439 +#: users/serializers/v1.py:109 users/templates/users/user_group_detail.html:78 #: users/templates/users/user_group_list.html:36 users/views/user.py:251 #: xpack/plugins/orgs/forms.py:26 #: xpack/plugins/orgs/templates/orgs/org_detail.html:113 @@ -1130,7 +1123,7 @@ msgstr "默认资产组" msgid "User" msgstr "用户" -#: assets/models/label.py:19 assets/models/node.py:245 +#: assets/models/label.py:19 assets/models/node.py:244 #: assets/templates/assets/label_list.html:15 settings/models.py:30 msgid "Value" msgstr "值" @@ -1139,11 +1132,11 @@ msgstr "值" msgid "Category" msgstr "分类" -#: assets/models/node.py:244 +#: assets/models/node.py:243 msgid "Key" msgstr "键" -#: assets/models/node.py:302 +#: assets/models/node.py:301 msgid "New node" msgstr "新节点" @@ -1165,13 +1158,13 @@ msgstr "手动登录" #: assets/views/asset.py:57 assets/views/asset.py:106 assets/views/asset.py:133 #: assets/views/asset.py:173 assets/views/asset.py:203 #: assets/views/cmd_filter.py:31 assets/views/cmd_filter.py:48 -#: assets/views/cmd_filter.py:65 assets/views/cmd_filter.py:82 -#: assets/views/cmd_filter.py:102 assets/views/cmd_filter.py:136 -#: assets/views/cmd_filter.py:170 assets/views/domain.py:30 -#: assets/views/domain.py:47 assets/views/domain.py:64 -#: assets/views/domain.py:78 assets/views/domain.py:104 -#: assets/views/domain.py:133 assets/views/domain.py:153 -#: assets/views/label.py:27 assets/views/label.py:45 assets/views/label.py:72 +#: assets/views/cmd_filter.py:66 assets/views/cmd_filter.py:84 +#: assets/views/cmd_filter.py:104 assets/views/cmd_filter.py:138 +#: assets/views/cmd_filter.py:173 assets/views/domain.py:30 +#: assets/views/domain.py:47 assets/views/domain.py:65 +#: assets/views/domain.py:80 assets/views/domain.py:106 +#: assets/views/domain.py:135 assets/views/domain.py:156 +#: assets/views/label.py:27 assets/views/label.py:45 assets/views/label.py:73 #: assets/views/system_user.py:29 assets/views/system_user.py:46 #: assets/views/system_user.py:63 assets/views/system_user.py:79 #: templates/_nav.html:19 xpack/plugins/change_auth_plan/models.py:68 @@ -1228,7 +1221,7 @@ msgid "Backend" msgstr "后端" #: assets/serializers/asset_user.py:66 users/forms.py:263 -#: users/models/user.py:94 users/templates/users/first_login.html:42 +#: users/models/user.py:354 users/templates/users/first_login.html:42 #: users/templates/users/user_password_update.html:46 #: users/templates/users/user_profile.html:68 #: users/templates/users/user_profile_update.html:43 @@ -1363,8 +1356,6 @@ msgstr "选择资产" #: assets/templates/assets/_asset_group_bulk_update_modal.html:21 #: assets/templates/assets/cmd_filter_detail.html:89 #: assets/templates/assets/cmd_filter_list.html:26 -#: assets/templates/assets/user_asset_list.html:47 -#: users/templates/users/user_granted_asset.html:47 msgid "System users" msgstr "系统用户" @@ -1574,7 +1565,7 @@ msgid "Replace node assets admin user with this" msgstr "替换资产的管理员" #: assets/templates/assets/admin_user_detail.html:91 -#: perms/templates/perms/asset_permission_asset.html:116 +#: perms/templates/perms/asset_permission_asset.html:103 #: xpack/plugins/change_auth_plan/forms.py:110 #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:112 msgid "Select nodes" @@ -1705,8 +1696,7 @@ msgid "Date joined" msgstr "创建日期" #: assets/templates/assets/asset_detail.html:150 -#: assets/templates/assets/user_asset_list.html:46 -#: perms/models/asset_permission.py:104 perms/models/base.py:38 +#: perms/models/asset_permission.py:115 perms/models/base.py:38 #: perms/templates/perms/asset_permission_create_update.html:55 #: perms/templates/perms/asset_permission_detail.html:120 #: perms/templates/perms/remote_app_permission_create_update.html:54 @@ -1714,8 +1704,6 @@ msgstr "创建日期" #: terminal/templates/terminal/terminal_list.html:34 #: users/templates/users/_select_user_modal.html:18 #: users/templates/users/user_detail.html:144 -#: users/templates/users/user_granted_asset.html:46 -#: users/templates/users/user_group_granted_asset.html:46 #: users/templates/users/user_profile.html:63 msgid "Active" msgstr "激活中" @@ -1881,7 +1869,7 @@ msgid "Create command filter" msgstr "创建命令过滤器" #: assets/templates/assets/cmd_filter_rule_list.html:33 -#: assets/views/cmd_filter.py:103 +#: assets/views/cmd_filter.py:105 msgid "Command filter rule list" msgstr "命令过滤器规则列表" @@ -1908,7 +1896,7 @@ msgid "Gateway list" msgstr "网关列表" #: assets/templates/assets/domain_gateway_list.html:56 -#: assets/views/domain.py:134 +#: assets/views/domain.py:136 msgid "Create gateway" msgstr "创建网关" @@ -2056,19 +2044,19 @@ msgstr "批量更新资产" msgid "Command filter list" msgstr "命令过滤器列表" -#: assets/views/cmd_filter.py:66 +#: assets/views/cmd_filter.py:67 msgid "Update command filter" msgstr "更新命令过滤器" -#: assets/views/cmd_filter.py:83 +#: assets/views/cmd_filter.py:85 msgid "Command filter detail" msgstr "命令过滤器详情" -#: assets/views/cmd_filter.py:137 +#: assets/views/cmd_filter.py:139 msgid "Create command filter rule" msgstr "创建命令过滤器规则" -#: assets/views/cmd_filter.py:171 +#: assets/views/cmd_filter.py:174 msgid "Update command filter rule" msgstr "更新命令过滤器规则" @@ -2076,19 +2064,19 @@ msgstr "更新命令过滤器规则" msgid "Domain list" msgstr "网域列表" -#: assets/views/domain.py:65 +#: assets/views/domain.py:66 msgid "Update domain" msgstr "更新网域" -#: assets/views/domain.py:79 +#: assets/views/domain.py:81 msgid "Domain detail" msgstr "网域详情" -#: assets/views/domain.py:105 +#: assets/views/domain.py:107 msgid "Domain gateway list" msgstr "域网关列表" -#: assets/views/domain.py:154 +#: assets/views/domain.py:157 msgid "Update gateway" msgstr "创建网关" @@ -2096,11 +2084,11 @@ msgstr "创建网关" msgid "Label list" msgstr "标签列表" -#: assets/views/label.py:55 +#: assets/views/label.py:56 msgid "Tips: Avoid using label names reserved internally: {}" msgstr "提示: 请避免使用内部预留标签名: {}" -#: assets/views/label.py:73 +#: assets/views/label.py:74 msgid "Update label" msgstr "更新标签" @@ -2218,7 +2206,7 @@ msgstr "Agent" #: audits/models.py:99 audits/templates/audits/login_log_list.html:56 #: authentication/templates/authentication/_mfa_confirm_modal.html:14 -#: users/forms.py:175 users/models/user.py:86 +#: users/forms.py:175 users/models/user.py:346 #: users/templates/users/first_login.html:45 msgid "MFA" msgstr "MFA" @@ -2431,7 +2419,7 @@ msgstr "代码错误" #: authentication/templates/authentication/login.html:27 #: authentication/templates/authentication/login_otp.html:27 #: users/templates/users/reset_password.html:25 -#: xpack/plugins/interface/models.py:39 +#: xpack/plugins/interface/models.py:36 msgid "Welcome to the Jumpserver open source fortress" msgstr "欢迎使用Jumpserver开源堡垒机" @@ -2996,71 +2984,71 @@ msgstr "命令执行" msgid "Organization" msgstr "组织" -#: perms/api/user_permission.py:206 +#: perms/api/mixin.py:128 msgid "ungrouped" msgstr "未分组" -#: perms/api/user_permission.py:211 +#: perms/api/mixin.py:133 msgid "empty" msgstr "空" -#: perms/forms/asset_permission.py:65 perms/forms/remote_app_permission.py:34 -#: perms/models/asset_permission.py:102 perms/models/base.py:37 +#: perms/forms/asset_permission.py:66 perms/forms/remote_app_permission.py:34 +#: perms/models/asset_permission.py:113 perms/models/base.py:37 #: perms/templates/perms/asset_permission_list.html:47 #: perms/templates/perms/asset_permission_list.html:67 #: perms/templates/perms/asset_permission_list.html:114 #: perms/templates/perms/remote_app_permission_list.html:16 #: templates/_nav.html:14 users/forms.py:286 users/models/group.py:26 -#: users/models/user.py:70 users/templates/users/_select_user_modal.html:16 +#: users/models/user.py:330 users/templates/users/_select_user_modal.html:16 #: users/templates/users/user_detail.html:213 #: users/templates/users/user_list.html:38 #: xpack/plugins/orgs/templates/orgs/org_list.html:15 msgid "User group" msgstr "用户组" -#: perms/forms/asset_permission.py:81 +#: perms/forms/asset_permission.py:82 msgid "" "Tips: The RDP protocol does not support separate controls for uploading or " "downloading files" msgstr "提示:RDP 协议不支持单独控制上传或下载文件" -#: perms/forms/asset_permission.py:91 perms/forms/remote_app_permission.py:47 +#: perms/forms/asset_permission.py:92 perms/forms/remote_app_permission.py:47 msgid "User or group at least one required" msgstr "用户和用户组至少选一个" -#: perms/forms/asset_permission.py:100 +#: perms/forms/asset_permission.py:101 msgid "Asset or group at least one required" msgstr "资产和节点至少选一个" -#: perms/models/asset_permission.py:27 settings/forms.py:143 +#: perms/models/asset_permission.py:29 settings/forms.py:143 msgid "All" msgstr "全部" -#: perms/models/asset_permission.py:29 +#: perms/models/asset_permission.py:31 msgid "Upload file" msgstr "上传文件" -#: perms/models/asset_permission.py:30 +#: perms/models/asset_permission.py:32 msgid "Download file" msgstr "下载文件" -#: perms/models/asset_permission.py:31 +#: perms/models/asset_permission.py:33 msgid "Upload download" msgstr "上传下载" -#: perms/models/asset_permission.py:80 +#: perms/models/asset_permission.py:82 msgid "Actions" msgstr "动作" -#: perms/models/asset_permission.py:84 perms/models/asset_permission.py:114 +#: perms/models/asset_permission.py:86 perms/models/asset_permission.py:125 #: templates/_nav.html:44 msgid "Asset permission" msgstr "资产授权" -#: perms/models/asset_permission.py:105 perms/models/base.py:40 +#: perms/models/asset_permission.py:116 perms/models/base.py:40 #: perms/templates/perms/asset_permission_detail.html:90 #: perms/templates/perms/remote_app_permission_detail.html:82 -#: users/models/user.py:102 users/templates/users/user_detail.html:107 +#: users/models/user.py:362 users/templates/users/user_detail.html:107 #: users/templates/users/user_profile.html:116 msgid "Date expired" msgstr "失效日期" @@ -3087,11 +3075,11 @@ msgstr "用户或用户组" msgid "Assets and node" msgstr "资产或节点" -#: perms/templates/perms/asset_permission_asset.html:80 +#: perms/templates/perms/asset_permission_asset.html:70 msgid "Add asset to this permission" msgstr "添加资产" -#: perms/templates/perms/asset_permission_asset.html:97 +#: perms/templates/perms/asset_permission_asset.html:84 #: perms/templates/perms/asset_permission_detail.html:157 #: perms/templates/perms/asset_permission_user.html:97 #: perms/templates/perms/asset_permission_user.html:125 @@ -3107,11 +3095,11 @@ msgstr "添加资产" msgid "Add" msgstr "添加" -#: perms/templates/perms/asset_permission_asset.html:108 +#: perms/templates/perms/asset_permission_asset.html:95 msgid "Add node to this permission" msgstr "添加节点" -#: perms/templates/perms/asset_permission_asset.html:125 +#: perms/templates/perms/asset_permission_asset.html:112 #: users/templates/users/user_detail.html:230 #: xpack/plugins/change_auth_plan/templates/change_auth_plan/plan_asset_list.html:121 msgid "Join" @@ -3208,13 +3196,13 @@ msgstr "添加用户组" #: perms/views/asset_permission.py:33 perms/views/asset_permission.py:64 #: perms/views/asset_permission.py:81 perms/views/asset_permission.py:98 -#: perms/views/asset_permission.py:135 perms/views/asset_permission.py:168 +#: perms/views/asset_permission.py:135 perms/views/asset_permission.py:169 #: perms/views/remote_app_permission.py:33 #: perms/views/remote_app_permission.py:49 -#: perms/views/remote_app_permission.py:65 -#: perms/views/remote_app_permission.py:79 -#: perms/views/remote_app_permission.py:106 -#: perms/views/remote_app_permission.py:143 templates/_nav.html:41 +#: perms/views/remote_app_permission.py:66 +#: perms/views/remote_app_permission.py:81 +#: perms/views/remote_app_permission.py:108 +#: perms/views/remote_app_permission.py:145 templates/_nav.html:41 #: xpack/plugins/orgs/templates/orgs/org_list.html:21 msgid "Perms" msgstr "权限管理" @@ -3239,7 +3227,7 @@ msgstr "资产授权详情" msgid "Asset permission user list" msgstr "资产授权用户列表" -#: perms/views/asset_permission.py:169 +#: perms/views/asset_permission.py:170 msgid "Asset permission asset list" msgstr "资产授权资产列表" @@ -3251,19 +3239,19 @@ msgstr "远程应用授权列表" msgid "Create RemoteApp permission" msgstr "创建远程应用授权规则" -#: perms/views/remote_app_permission.py:66 +#: perms/views/remote_app_permission.py:67 msgid "Update RemoteApp permission" msgstr "更新远程应用授权规则" -#: perms/views/remote_app_permission.py:80 +#: perms/views/remote_app_permission.py:82 msgid "RemoteApp permission detail" msgstr "远程应用授权详情" -#: perms/views/remote_app_permission.py:107 +#: perms/views/remote_app_permission.py:109 msgid "RemoteApp permission user list" msgstr "远程应用授权用户列表" -#: perms/views/remote_app_permission.py:144 +#: perms/views/remote_app_permission.py:146 msgid "RemoteApp permission RemoteApp list" msgstr "远程应用授权远程应用列表" @@ -3466,35 +3454,45 @@ msgstr "批量命令" msgid "Allow user batch execute commands" msgstr "允许用户批量执行命令" -#: settings/forms.py:198 +#: settings/forms.py:196 +msgid "Service account registration" +msgstr "终端注册" + +#: settings/forms.py:197 +msgid "" +"Allow using bootstrap token register service account, when terminal setup, " +"can disable it" +msgstr "允许使用bootstrap token注册终端, 当终端注册成功后可以禁止" + +#: settings/forms.py:203 msgid "Limit the number of login failures" msgstr "限制登录失败次数" -#: settings/forms.py:202 +#: settings/forms.py:207 msgid "No logon interval" msgstr "禁止登录时间间隔" -#: settings/forms.py:204 +#: settings/forms.py:209 msgid "" "Tip: (unit/minute) if the user has failed to log in for a limited number of " "times, no login is allowed during this time interval." msgstr "" "提示:(单位:分)当用户登录失败次数达到限制后,那么在此时间间隔内禁止登录" -#: settings/forms.py:211 +#: settings/forms.py:216 msgid "Connection max idle time" msgstr "SSH最大空闲时间" -#: settings/forms.py:213 +#: settings/forms.py:218 msgid "" "If idle time more than it, disconnect connection(only ssh now) Unit: minute" msgstr "提示:(单位:分)如果超过该配置没有操作,连接会被断开(仅ssh)" -#: settings/forms.py:219 +#: settings/forms.py:224 msgid "Password expiration time" msgstr "密码过期时间" -#: settings/forms.py:221 +#: settings/forms.py:226 msgid "" "Tip: (unit: day) If the user does not update the password during the time, " "the user password will expire failure;The password expiration reminder mail " @@ -3504,81 +3502,81 @@ msgstr "" "提示:(单位:天)如果用户在此期间没有更新密码,用户密码将过期失效; 密码过期" "提醒邮件将在密码过期前5天内由系统(每天)自动发送给用户" -#: settings/forms.py:230 +#: settings/forms.py:235 msgid "Password minimum length" msgstr "密码最小长度 " -#: settings/forms.py:234 +#: settings/forms.py:239 msgid "Must contain capital letters" msgstr "必须包含大写字母" -#: settings/forms.py:236 +#: settings/forms.py:241 msgid "" "After opening, the user password changes and resets must contain uppercase " "letters" msgstr "开启后,用户密码修改、重置必须包含大写字母" -#: settings/forms.py:241 +#: settings/forms.py:246 msgid "Must contain lowercase letters" msgstr "必须包含小写字母" -#: settings/forms.py:242 +#: settings/forms.py:247 msgid "" "After opening, the user password changes and resets must contain lowercase " "letters" msgstr "开启后,用户密码修改、重置必须包含小写字母" -#: settings/forms.py:247 +#: settings/forms.py:252 msgid "Must contain numeric characters" msgstr "必须包含数字字符" -#: settings/forms.py:248 +#: settings/forms.py:253 msgid "" "After opening, the user password changes and resets must contain numeric " "characters" msgstr "开启后,用户密码修改、重置必须包含数字字符" -#: settings/forms.py:253 +#: settings/forms.py:258 msgid "Must contain special characters" msgstr "必须包含特殊字符" -#: settings/forms.py:254 +#: settings/forms.py:259 msgid "" "After opening, the user password changes and resets must contain special " "characters" msgstr "开启后,用户密码修改、重置必须包含特殊字符" -#: settings/forms.py:261 +#: settings/forms.py:266 msgid "Create user email subject" msgstr "创建用户邮件的主题" -#: settings/forms.py:262 +#: settings/forms.py:267 msgid "" "Tips: When creating a user, send the subject of the email (eg:Create account " "successfully)" msgstr "提示: 创建用户时,发送设置密码邮件的主题 (例如: 创建用户成功)" -#: settings/forms.py:266 +#: settings/forms.py:271 msgid "Create user honorific" msgstr "创建用户邮件的敬语" -#: settings/forms.py:267 +#: settings/forms.py:272 msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)" msgstr "提示: 创建用户时,发送设置密码邮件的敬语 (例如: 您好)" -#: settings/forms.py:272 +#: settings/forms.py:277 msgid "Create user email content" msgstr "创建用户邮件的内容" -#: settings/forms.py:273 +#: settings/forms.py:278 msgid "Tips:When creating a user, send the content of the email" msgstr "提示: 创建用户时,发送设置密码邮件的内容" -#: settings/forms.py:276 +#: settings/forms.py:281 msgid "Signature" msgstr "署名" -#: settings/forms.py:277 +#: settings/forms.py:282 msgid "Tips: Email signature (eg:jumpserver)" msgstr "提示: 邮件的署名 (例如: jumpserver)" @@ -3596,7 +3594,7 @@ msgid "Please submit the LDAP configuration before import" msgstr "请先提交LDAP配置再进行导入" #: settings/templates/settings/_ldap_list_users_modal.html:39 -#: users/models/user.py:66 users/templates/users/user_detail.html:71 +#: users/models/user.py:326 users/templates/users/user_detail.html:71 #: users/templates/users/user_profile.html:59 msgid "Email" msgstr "邮件" @@ -3930,7 +3928,7 @@ msgstr "" " " #: templates/_nav.html:10 users/views/group.py:28 users/views/group.py:45 -#: users/views/group.py:62 users/views/group.py:79 users/views/group.py:96 +#: users/views/group.py:63 users/views/group.py:81 users/views/group.py:98 #: users/views/login.py:154 users/views/user.py:68 users/views/user.py:85 #: users/views/user.py:129 users/views/user.py:196 users/views/user.py:218 #: users/views/user.py:270 users/views/user.py:311 @@ -4384,7 +4382,7 @@ msgstr "你没有权限" msgid "Could not reset self otp, use profile reset instead" msgstr "不能再该页面重置MFA, 请去个人信息页面重置" -#: users/forms.py:33 users/models/user.py:74 +#: users/forms.py:33 users/models/user.py:334 #: users/templates/users/_select_user_modal.html:15 #: users/templates/users/user_detail.html:87 #: users/templates/users/user_list.html:37 @@ -4412,7 +4410,7 @@ msgstr "添加到用户组" msgid "Public key should not be the same as your old one." msgstr "不能和原来的密钥相同" -#: users/forms.py:91 users/forms.py:252 users/serializers/v1.py:91 +#: users/forms.py:91 users/forms.py:252 users/serializers/v1.py:95 msgid "Not a valid ssh public key" msgstr "ssh密钥不合法" @@ -4497,57 +4495,57 @@ msgstr "复制你的公钥到这里" msgid "Select users" msgstr "选择用户" -#: users/models/user.py:37 users/models/user.py:449 +#: users/models/user.py:50 users/templates/users/user_update.html:22 +#: users/views/login.py:46 users/views/login.py:107 users/views/user.py:283 +msgid "User auth from {}, go there change password" +msgstr "用户认证源来自 {}, 请去相应系统修改密码" + +#: users/models/user.py:120 users/models/user.py:447 msgid "Administrator" msgstr "管理员" -#: users/models/user.py:39 +#: users/models/user.py:122 msgid "Application" msgstr "应用程序" -#: users/models/user.py:40 +#: users/models/user.py:123 msgid "Auditor" msgstr "审计员" -#: users/models/user.py:43 users/templates/users/user_profile.html:92 +#: users/models/user.py:281 users/templates/users/user_profile.html:92 #: users/templates/users/user_profile.html:159 #: users/templates/users/user_profile.html:162 msgid "Disable" msgstr "禁用" -#: users/models/user.py:44 users/templates/users/user_profile.html:90 +#: users/models/user.py:282 users/templates/users/user_profile.html:90 #: users/templates/users/user_profile.html:166 msgid "Enable" msgstr "启用" -#: users/models/user.py:45 users/templates/users/user_profile.html:88 +#: users/models/user.py:283 users/templates/users/user_profile.html:88 msgid "Force enable" msgstr "强制启用" -#: users/models/user.py:77 +#: users/models/user.py:337 msgid "Avatar" msgstr "头像" -#: users/models/user.py:80 users/templates/users/user_detail.html:82 +#: users/models/user.py:340 users/templates/users/user_detail.html:82 msgid "Wechat" msgstr "微信" -#: users/models/user.py:109 users/templates/users/user_detail.html:103 +#: users/models/user.py:369 users/templates/users/user_detail.html:103 #: users/templates/users/user_list.html:39 #: users/templates/users/user_profile.html:100 msgid "Source" msgstr "用户来源" -#: users/models/user.py:113 +#: users/models/user.py:373 msgid "Date password last updated" msgstr "最后更新密码日期" -#: users/models/user.py:139 users/templates/users/user_update.html:22 -#: users/views/login.py:46 users/views/login.py:107 users/views/user.py:283 -msgid "User auth from {}, go there change password" -msgstr "用户认证源来自 {}, 请去相应系统修改密码" - -#: users/models/user.py:452 +#: users/models/user.py:450 msgid "Administrator is the super user of system" msgstr "Administrator是初始的超级管理员" @@ -4583,7 +4581,7 @@ msgstr "头像路径" msgid "Role limit to {}" msgstr "角色只能为 {}" -#: users/serializers/v1.py:63 +#: users/serializers/v1.py:67 msgid "Password does not match security rules" msgstr "密码不满足安全规则" @@ -4628,7 +4626,7 @@ msgid "Import user groups" msgstr "导入用户组" #: users/templates/users/_user_groups_update_modal.html:4 -#: users/views/group.py:63 +#: users/views/group.py:64 msgid "Update user group" msgstr "更新用户组" @@ -4715,14 +4713,14 @@ msgid "Reset password" msgstr "重置密码" #: users/templates/users/reset_password.html:59 -#: users/templates/users/user_create.html:15 +#: users/templates/users/user_create.html:13 #: users/templates/users/user_password_update.html:61 #: users/templates/users/user_update.html:13 msgid "Your password must satisfy" msgstr "您的密码必须满足:" #: users/templates/users/reset_password.html:60 -#: users/templates/users/user_create.html:16 +#: users/templates/users/user_create.html:14 #: users/templates/users/user_password_update.html:62 #: users/templates/users/user_update.html:14 msgid "Password strength" @@ -4733,42 +4731,42 @@ msgid "Password again" msgstr "再次输入密码" #: users/templates/users/reset_password.html:105 -#: users/templates/users/user_create.html:35 +#: users/templates/users/user_create.html:33 #: users/templates/users/user_password_update.html:99 #: users/templates/users/user_update.html:46 msgid "Very weak" msgstr "很弱" #: users/templates/users/reset_password.html:106 -#: users/templates/users/user_create.html:36 +#: users/templates/users/user_create.html:34 #: users/templates/users/user_password_update.html:100 #: users/templates/users/user_update.html:47 msgid "Weak" msgstr "弱" #: users/templates/users/reset_password.html:107 -#: users/templates/users/user_create.html:37 +#: users/templates/users/user_create.html:35 #: users/templates/users/user_password_update.html:101 #: users/templates/users/user_update.html:48 msgid "Normal" msgstr "正常" #: users/templates/users/reset_password.html:108 -#: users/templates/users/user_create.html:38 +#: users/templates/users/user_create.html:36 #: users/templates/users/user_password_update.html:102 #: users/templates/users/user_update.html:49 msgid "Medium" msgstr "一般" #: users/templates/users/reset_password.html:109 -#: users/templates/users/user_create.html:39 +#: users/templates/users/user_create.html:37 #: users/templates/users/user_password_update.html:103 #: users/templates/users/user_update.html:50 msgid "Strong" msgstr "强" #: users/templates/users/reset_password.html:110 -#: users/templates/users/user_create.html:40 +#: users/templates/users/user_create.html:38 #: users/templates/users/user_password_update.html:104 #: users/templates/users/user_update.html:51 msgid "Very strong" @@ -4880,7 +4878,7 @@ msgstr "重置用户MFA成功" #: users/templates/users/user_group_detail.html:22 #: users/templates/users/user_group_granted_asset.html:18 -#: users/views/group.py:80 +#: users/views/group.py:82 msgid "User group detail" msgstr "用户组详情" @@ -5222,7 +5220,7 @@ msgstr "密码或密钥不合法" msgid "User group list" msgstr "用户组列表" -#: users/views/group.py:97 +#: users/views/group.py:99 msgid "User group granted asset" msgstr "用户组授权资产" diff --git a/apps/settings/forms.py b/apps/settings/forms.py index 78fab4801..c6f51e646 100644 --- a/apps/settings/forms.py +++ b/apps/settings/forms.py @@ -192,6 +192,11 @@ class SecuritySettingForm(BaseForm): required=False, label=_("Batch execute commands"), help_text=_("Allow user batch execute commands") ) + SECURITY_SERVICE_ACCOUNT_REGISTRATION = forms.BooleanField( + required=False, label=_("Service account registration"), + help_text=_("Allow using bootstrap token register service account, " + "when terminal setup, can disable it") + ) # limit login count SECURITY_LOGIN_LIMIT_COUNT = forms.IntegerField( min_value=3, max_value=99999, diff --git a/apps/terminal/serializers_v2/terminal.py b/apps/terminal/serializers_v2/terminal.py index 2ecb4e1ee..c7ebe682c 100644 --- a/apps/terminal/serializers_v2/terminal.py +++ b/apps/terminal/serializers_v2/terminal.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- # +from django.conf import settings from rest_framework import serializers from common.utils import get_request_ip @@ -27,6 +28,9 @@ class TerminalSerializer(serializers.ModelSerializer): valid = super().is_valid(raise_exception=raise_exception) if not valid: return valid + if not settings.SECURITY_SERVICE_ACCOUNT_REGISTRATION: + error = {"error": "service account registration disabled"} + raise serializers.ValidationError(error) data = {'name': self.validated_data.get('name')} kwargs = {'data': data} if self.instance and self.instance.user: