diff --git a/Makefile b/Makefile
index ca6fee4..48fa69d 100644
--- a/Makefile
+++ b/Makefile
@@ -141,6 +141,7 @@ install: check uninstall
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.profile-settings-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.save-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.lock-symbolic.svg"
+ @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.user-add-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/csv" "csv/hash_list.csv"
@install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/csv" "csv/shell_list.csv"
@install -Dm644 -t "${DESTDIR}/usr/share/polkit-1/actions/" "${CMAKE_BUILD_DIR}/com.ublinux.${PKGNAME}${PKGIDENT}.policy"
diff --git a/icons/com.ublinux.ubl-settings-usergroups.user-add-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.user-add-symbolic.svg
new file mode 100644
index 0000000..4f4cd53
--- /dev/null
+++ b/icons/com.ublinux.ubl-settings-usergroups.user-add-symbolic.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c
index 3fb453c..c89e545 100644
--- a/source/ubl-settings-usergroups.c
+++ b/source/ubl-settings-usergroups.c
@@ -1750,7 +1750,7 @@ ubl_settings_usergroups_password_window *yon_ubl_settings_usergroups_password_ne
return window;
}
-void yon_system_load(ubl_settings_usergroups_system_window *window){
+void yon_system_load(main_window *window){
gtk_list_store_clear(window->liststore1);
gtk_list_store_clear(window->liststore2);
GtkTreeIter iter;
@@ -1758,15 +1758,12 @@ void yon_system_load(ubl_settings_usergroups_system_window *window){
int parsed_size;
if (main_config.groups[i][strlen(main_config.groups[i])-1]=='\n') main_config.groups[i][strlen(main_config.groups[i])-1]='\0';
config_str parsed = yon_char_parse(main_config.groups[i],&parsed_size,":");
- if (atoi(parsed[2])>=main_config.MINGID&&atoi(parsed[2])<=main_config.MAXGID||window->show_all==1){
gtk_list_store_append(window->liststore2,&iter);
gtk_list_store_set(window->liststore2,&iter,0,atol(parsed[2]),1,parsed[0],2,parsed[3],-1);
- }
}
for (int i=0;i=main_config.MINUID&&atoi(parsed[2])<=main_config.MAXUID)||window->show_all==1){
char *groups_string="";
char *main_group_name="";
for (int j=0;jliststore1,&iter);
gtk_list_store_set(window->liststore1,&iter,1,atol(parsed[2]),2,parsed[0],3,parsed[4],4,main_group_name,5,groups_string,6,parsed[5],-1);
- }
yon_char_parsed_free(parsed,parsed_size);
}
int shadow_size;
@@ -1808,18 +1804,18 @@ void yon_system_load(ubl_settings_usergroups_system_window *window){
}
}
-void on_mode_changed(GtkWidget *self, ubl_settings_usergroups_system_window *window){
- if (window->show_all==0){
- window->show_all=1;
- gtk_style_context_add_class(gtk_widget_get_style_context(window->ToggleAllButton),"chosenOutline");
- } else {
- window->show_all=0;
- gtk_style_context_remove_class(gtk_widget_get_style_context(window->ToggleAllButton),"chosenOutline");
- }
- yon_system_load(window);
-}
+// void on_mode_changed(GtkWidget *self, main_window *window){
+// if (window->show_all==0){
+// window->show_all=1;
+// gtk_style_context_add_class(gtk_widget_get_style_context(window->ToggleAllButton),"chosenOutline");
+// } else {
+// window->show_all=0;
+// gtk_style_context_remove_class(gtk_widget_get_style_context(window->ToggleAllButton),"chosenOutline");
+// }
+// yon_system_load(window);
+// }
-void on_system_update(GtkWidget *self, ubl_settings_usergroups_system_window *window){
+void on_system_update(GtkWidget *self, main_window *window){
main_config.groups = yon_file_open(groups_path,&main_config.groups_size);
main_config.users = yon_file_open(users_path,&main_config.users_size);
@@ -1870,10 +1866,8 @@ ubl_settings_usergroups_system_window *yon_ubl_settings_usergroups_system_new(){
g_list_free(list);
gtk_window_set_title(GTK_WINDOW(window->MonitorWindow),INSPECTOR_TITLE_LABEL);
- g_signal_connect(G_OBJECT(window->ToggleAllButton),"clicked",G_CALLBACK(on_mode_changed),window);
+ // g_signal_connect(G_OBJECT(window->ToggleAllButton),"clicked",G_CALLBACK(on_mode_changed),window);
g_signal_connect(G_OBJECT(window->UpdateButton),"clicked",G_CALLBACK(on_system_update),window);
- yon_system_load(window);
- on_system_update(NULL,window);
return window;
}
@@ -1992,7 +1986,7 @@ void on_user_save(GtkWidget *self, dictionary *dict){
for (int i=0;i1&&!strcmp(parsed[2],uid_string)&&strcmp(parsed[2],window->last_uid)) found = 1;
+ if (parsed_size>1&&!strcmp(parsed[2],uid_string)&&(!yon_char_is_empty(window->last_uid)&&strcmp(parsed[2],window->last_uid))) found = 1;
if (parsed_size) yon_char_parsed_free(parsed,parsed_size);
}
if (found){
@@ -2809,6 +2803,37 @@ void on_config_update(GtkWidget *self, main_window *widgets){
} else {
on_config_local_load(NULL,widgets);
}
+ on_system_update(NULL,widgets);
+
+}
+
+void on_user_sync_with_config(GtkWidget *,main_window *widgets){
+ int active = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook));
+ switch (active){
+ case 2:
+ GtkTreeModel *model = GTK_TREE_MODEL(widgets->liststore1);
+ GtkTreeIter iter;
+ if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SystemTree)),&model,&iter)){
+ char *target;
+ gtk_tree_model_get(model,&iter,2,&target,-1);
+ int size;
+ config_str passwd_users = yon_config_load(user_shadow_path,&size);
+ int active_usr = yon_char_parsed_strstr(passwd_users,size,target);
+ int cur_size;
+ if (size>-1){
+ config_str cur_user = yon_char_parse(passwd_users[active_usr],&cur_size,":");
+ char *final_user = yon_char_unite(cur_user[4],":",cur_user[5],":",cur_size>1?cur_user[1]:"",":",cur_size>2?cur_user[2]:"",":",cur_user[0],":",":",NULL);
+ char *final_command = yon_config_parameter_prepare_command(dull_parameter_get_command,NULL,"users",USERADD_SYNC(target));
+ yon_config_register(USERADD(target),final_command,final_user);
+
+ int shadow_size;
+ config_str shadow = yon_config_load(shadow_path,&shadow_size);
+ }
+ }
+ break;
+ case 3:
+ break;
+ }
}
int *yon_element_chosen(GtkWidget *target){
@@ -2917,19 +2942,29 @@ void on_selection_changed(GtkWidget *self, main_window *widgets){
void on_notebook_page_changed(GtkWidget *self, GtkWidget *page, int num, main_window *widgets){
GtkTreeIter iter;
if (num==0){
+ gtk_widget_show(widgets->AddButton);
+ gtk_widget_show(widgets->EditButton);
+ gtk_widget_show(widgets->DeleteButton);
GtkTreeModel *model = GTK_TREE_MODEL(widgets->UsersList);
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UsersTree)),&model,&iter)){
gtk_widget_set_sensitive(widgets->EditButton,1);
} else {
gtk_widget_set_sensitive(widgets->EditButton,0);
}
- } else {
+ } else if (num==1){
+ gtk_widget_show(widgets->AddButton);
+ gtk_widget_show(widgets->EditButton);
+ gtk_widget_show(widgets->DeleteButton);
GtkTreeModel *model = GTK_TREE_MODEL(widgets->GroupsList);
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GroupsTree)),&model,&iter)){
gtk_widget_set_sensitive(widgets->EditButton,1);
} else {
gtk_widget_set_sensitive(widgets->EditButton,0);
}
+ } else if (num==2||num==3){
+ gtk_widget_hide(widgets->AddButton);
+ gtk_widget_hide(widgets->EditButton);
+ gtk_widget_hide(widgets->DeleteButton);
}
}
@@ -2965,8 +3000,12 @@ main_window *yon_main_window_complete(main_window *widgets){
widgets->CacheAlgList=GTK_LIST_STORE(gtk_builder_get_object(builder,"CacheAlgList"));
widgets->GroupsList=GTK_LIST_STORE(gtk_builder_get_object(builder,"GroupsList"));
widgets->UsersList=GTK_LIST_STORE(gtk_builder_get_object(builder,"UsersList"));
+ widgets->liststore1=GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1"));
+ widgets->liststore2=GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore2"));
widgets->PlugBox=yon_gtk_builder_get_widget(builder,"PlugBox");
- widgets->button1=yon_gtk_builder_get_widget(builder,"button1");
+ widgets->UserAddToConfigButton=yon_gtk_builder_get_widget(builder,"UserAddToConfigButton");
+ widgets->SystemTree=yon_gtk_builder_get_widget(builder,"SystemTree");
+ widgets->SystemGroupsTree=yon_gtk_builder_get_widget(builder,"SystemGroupsTree");
widgets->button2=yon_gtk_builder_get_widget(builder,"button2");
widgets->button3=yon_gtk_builder_get_widget(builder,"button3");
widgets->AddButton=yon_gtk_builder_get_widget(builder,"AddButton");
@@ -2988,7 +3027,7 @@ main_window *yon_main_window_complete(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->DeleteButton),"clicked",G_CALLBACK(on_main_delete),widgets);
g_signal_connect(G_OBJECT(widgets->button3),"clicked",G_CALLBACK(on_standard_groups_open),widgets);
g_signal_connect(G_OBJECT(widgets->button2),"clicked",G_CALLBACK(on_ubl_settings_usergroups_additional_settings_open),widgets);
- g_signal_connect(G_OBJECT(widgets->button1),"clicked",G_CALLBACK(on_settings_usergroups_system_open),widgets);
+ // g_signal_connect(G_OBJECT(widgets->UserAddToConfigButton),"clicked",G_CALLBACK(on_user_sync_with_config),widgets);
g_signal_connect(G_OBJECT(widgets->UpdateButton),"clicked",G_CALLBACK(on_config_update),widgets);
g_signal_connect(G_OBJECT(widgets->SavingSettingsButton),"clicked",G_CALLBACK(on_saving_settings_open),widgets);
g_signal_connect(G_OBJECT(widgets->SaveMenuItem),"activate",G_CALLBACK(on_config_save),widgets);
@@ -3010,6 +3049,9 @@ main_window *yon_main_window_complete(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->UsersTree),"button-press-event",G_CALLBACK(on_menu_open),widgets->UsersMenu);
g_signal_connect(G_OBJECT(widgets->GroupsTree),"button-press-event",G_CALLBACK(on_menu_open),widgets->GroupsMenu);
+ yon_system_load(widgets);
+ on_system_update(NULL,widgets);
+
yon_root_button_setup((template_main_window*)widgets,main_config.launch_arguments,main_config.launch_size);
yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->UsersTree));
diff --git a/source/ubl-settings-usergroups.h b/source/ubl-settings-usergroups.h
index 4959afc..a83a186 100644
--- a/source/ubl-settings-usergroups.h
+++ b/source/ubl-settings-usergroups.h
@@ -52,9 +52,11 @@
#define shadow_path "/etc/shadow"
#define uid_path "/etc/login.defs"
#define password_limits_path "/etc/security/pwquiality.conf"
+#define get_user_info_command(target) yon_char_unite("getent passwd \"",target,"\"",NULL)
#define get_home_command(target) yon_char_unite("getent passwd \"",target,"\" | cut -d: -f6",NULL)
#define remove_home_dirs_command(users_string) yon_char_append("/usr/lib/ublinux/functions remove_userhome ", users_string)
#define default_home_initiator_path "/etc/default/useradd"
+#define user_shadow_path "/etc/shadow"
#define hash_list_path "/usr/share/ubl-settings-usergroups/csv/hash_list.csv"
#define shell_list_path "/usr/share/ubl-settings-usergroups/csv/shell_list.csv"
@@ -168,7 +170,9 @@ typedef struct {
GtkListStore *CacheAlgList;
GtkListStore *GroupsList;
GtkListStore *UsersList;
- GtkWidget *button1;
+ GtkWidget *UserAddToConfigButton;
+ GtkWidget *SystemTree;
+ GtkWidget *SystemGroupsTree;
GtkWidget *button2;
GtkWidget *button3;
GtkWidget *AddButton;
@@ -182,6 +186,8 @@ typedef struct {
rmb_menu_window *UsersMenu;
rmb_menu_window *GroupsMenu;
+ GtkListStore *liststore1;
+ GtkListStore *liststore2;
} main_window;
diff --git a/source/ubl-strings.h b/source/ubl-strings.h
index 72191a5..e6a97d2 100644
--- a/source/ubl-strings.h
+++ b/source/ubl-strings.h
@@ -207,3 +207,8 @@
#define DELETE_CONFIRMATION_USER_LABEL _("User")
#define DELETE_CONFIRMATION_HOME_LABEL _("Home directory")
#define DELETE_CONFIRMATION_DELETE_HOME_LABEL _("Delete home directory")
+
+#define CONFIG_USERS_TAB_LABEL _("Configuration users")
+#define CONFIG_GROUPS_TAB_LABEL _("Configuration groups")
+#define SYSTEM_USERS_TAB_LABEL _("System users")
+#define SYSTEM_GROUPS_TAB_LABEL _("System groups")
\ No newline at end of file
diff --git a/ubl-settings-usergroups.glade b/ubl-settings-usergroups.glade
index f201788..3943708 100644
--- a/ubl-settings-usergroups.glade
+++ b/ubl-settings-usergroups.glade
@@ -80,11 +80,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
False
com.ublinux.ubl-settings-usergroups.profile-settings-symbolic
-
+
+
+
@@ -477,7 +507,7 @@ status
True
False
- Users
+ Configuration users
False
@@ -605,13 +635,337 @@ status
True
False
- Groups
+ Configuration groups
1
False
+
+
+ True
+ True
+
+
+ True
+ True
+ liststore1
+ 0
+ both
+
+
+
+
+
+ True
+ fixed
+ 50
+ Locked
+
+
+
+ 0
+
+
+
+
+
+
+ True
+ fixed
+ 50
+ UID
+ True
+ 1
+
+
+
+ 1
+
+
+
+
+
+
+ True
+ fixed
+ 50
+ Login
+ True
+ 2
+
+
+
+ 2
+
+
+
+
+
+
+ True
+ fixed
+ 50
+ Username
+ True
+ 3
+
+
+
+ 3
+
+
+
+
+
+
+ True
+ fixed
+ 50
+ Primary
+group
+ True
+ 4
+
+
+
+ 4
+
+
+
+
+
+
+ True
+ fixed
+ 50
+ Additional
+groups
+ True
+ 5
+
+
+ 150
+
+
+ 5
+
+
+
+
+
+
+ 50
+ Home
+directory
+ True
+ 6
+
+
+
+ 6
+
+
+
+
+
+
+ Shell
+path
+ True
+ 7
+
+
+
+ 7
+
+
+
+
+
+
+ Password has
+been changed
+ True
+ 8
+
+
+
+ 8
+
+
+
+
+
+
+ Expiration
+date
+ True
+ 9
+
+
+
+ 9
+
+
+
+
+
+
+ Password change
+interval (min)
+ True
+ 10
+
+
+
+ 10
+
+
+
+
+
+
+ Password change
+interval (max)
+ True
+ 11
+
+
+
+ 11
+
+
+
+
+
+
+ Days until
+warning
+ True
+ 12
+
+
+
+ 12
+
+
+
+
+
+
+ Days
+without activity
+ True
+ 13
+
+
+
+ 13
+
+
+
+
+
+
+
+
+ 2
+
+
+
+
+ True
+ False
+ System users
+
+
+ 2
+ False
+
+
+
+
+ True
+ True
+
+
+ True
+ True
+ liststore2
+ 0
+ both
+
+
+
+
+
+ True
+ fixed
+ 50
+ GID
+ True
+ 0
+
+
+
+ 0
+
+
+
+
+
+
+ True
+ fixed
+ 50
+ Group
+ True
+ 1
+
+
+ 150
+
+
+ 1
+
+
+
+
+
+
+ 50
+ Group
+users
+ True
+ 2
+
+
+
+ 2
+
+
+
+
+
+
+
+
+ 3
+
+
+
+
+ True
+ False
+ System groups
+
+
+ 3
+ False
+
+
True
diff --git a/ubl-settings-usergroups.pot b/ubl-settings-usergroups.pot
index 5c47b2c..b081fc8 100644
--- a/ubl-settings-usergroups.pot
+++ b/ubl-settings-usergroups.pot
@@ -53,7 +53,7 @@ msgstr ""
msgid "UID"
msgstr ""
-#: source/ubl-strings.h:14 source/ubl-strings.h:103
+#: source/ubl-strings.h:14 source/ubl-strings.h:102
msgid "Login"
msgstr ""
@@ -175,7 +175,7 @@ msgstr ""
msgid "Inspect users and groups in system"
msgstr ""
-#: source/ubl-strings.h:46 source/ubl-strings.h:57
+#: source/ubl-strings.h:46 source/ubl-strings.h:56
msgid "Additional settings"
msgstr ""
@@ -203,509 +203,521 @@ msgstr ""
msgid "Additional saving configuration"
msgstr ""
-#: source/ubl-strings.h:58
+#: source/ubl-strings.h:57
msgid "No password required"
msgstr ""
-#: source/ubl-strings.h:59
+#: source/ubl-strings.h:58
msgid "Set a password"
msgstr ""
-#: source/ubl-strings.h:60 source/ubl-strings.h:106
+#: source/ubl-strings.h:59 source/ubl-strings.h:105
msgid "Encrypted"
msgstr ""
-#: source/ubl-strings.h:61
+#: source/ubl-strings.h:60
msgid "Unencrypted"
msgstr ""
-#: source/ubl-strings.h:74
+#: source/ubl-strings.h:73
msgid "Accept"
msgstr ""
-#: source/ubl-strings.h:75
+#: source/ubl-strings.h:74
msgid ""
"Are you sure want to encrypt all passwords?\n"
"This action can't be undone."
msgstr ""
-#: source/ubl-strings.h:76
+#: source/ubl-strings.h:75
msgid "Encrypt all unencrypted passwords at global configuration"
msgstr ""
-#: source/ubl-strings.h:77
+#: source/ubl-strings.h:76
msgid "DES (Algorithm for Symmetric Encryption)"
msgstr ""
-#: source/ubl-strings.h:78
+#: source/ubl-strings.h:77
msgid "MD5 (128-bit hashing algorithm)"
msgstr ""
-#: source/ubl-strings.h:79
+#: source/ubl-strings.h:78
msgid "yescrypt (Cryptographic hash function)"
msgstr ""
-#: source/ubl-strings.h:80
+#: source/ubl-strings.h:79
msgid "GOST-YESCRYPT (Design according to GOST R 34.11─2012)"
msgstr ""
-#: source/ubl-strings.h:81
+#: source/ubl-strings.h:80
msgid "scrypt (Adaptive cryptographic key generation function)"
msgstr ""
-#: source/ubl-strings.h:82
+#: source/ubl-strings.h:81
msgid "Blowfish (Symmetric Block Cipher Algorithm)"
msgstr ""
-#: source/ubl-strings.h:83
+#: source/ubl-strings.h:82
msgid "bcrypt (Adaptive hash function from the Blowfish family of algorithms)"
msgstr ""
-#: source/ubl-strings.h:84
+#: source/ubl-strings.h:83
msgid ""
"bcrypt-a (Adaptive hash function from the Blowfish family of algorithms)"
msgstr ""
-#: source/ubl-strings.h:85
+#: source/ubl-strings.h:84
msgid "SHA512 (Hash function from the SHA-2 family of algorithms)"
msgstr ""
-#: source/ubl-strings.h:86
+#: source/ubl-strings.h:85
msgid "SHA256 (Hash function from the SHA-2 family of algorithms)"
msgstr ""
-#: source/ubl-strings.h:87
+#: source/ubl-strings.h:86
msgid "Sun MD5 (Hash algorithm from Sun Microsystems)"
msgstr ""
-#: source/ubl-strings.h:88
+#: source/ubl-strings.h:87
msgid "MD5 Unix (Hash algorithm calls standard MD5 thousand times)"
msgstr ""
-#: source/ubl-strings.h:89
+#: source/ubl-strings.h:88
msgid ""
"Extended DES Crypt (Hash function from the BSDi family of DES algorithms)"
msgstr ""
-#: source/ubl-strings.h:90
+#: source/ubl-strings.h:89
msgid "descrypt (Hash function from the DES family of algorithms)"
msgstr ""
-#: source/ubl-strings.h:91
+#: source/ubl-strings.h:90
msgid "NTHash (Hash function from the NT Windows family of algorithms)"
msgstr ""
-#: source/ubl-strings.h:93
+#: source/ubl-strings.h:92
msgid ""
"While booting the operating system, apply the settings of all users from the "
"configuration"
msgstr ""
-#: source/ubl-strings.h:94
+#: source/ubl-strings.h:93
msgid ""
"While shutdown, save the settings of all users with UID>=1000 to the "
"configuration"
msgstr ""
-#: source/ubl-strings.h:97
+#: source/ubl-strings.h:96
msgid "Configure group"
msgstr ""
-#: source/ubl-strings.h:98
+#: source/ubl-strings.h:97
msgid "Add group"
msgstr ""
-#: source/ubl-strings.h:99
+#: source/ubl-strings.h:98
msgid "Group id:"
msgstr ""
-#: source/ubl-strings.h:100
+#: source/ubl-strings.h:99
msgid "Group name:"
msgstr ""
-#: source/ubl-strings.h:101
+#: source/ubl-strings.h:100
msgid "Group users:"
msgstr ""
-#: source/ubl-strings.h:102
+#: source/ubl-strings.h:101
msgid "Automatically"
msgstr ""
-#: source/ubl-strings.h:104
+#: source/ubl-strings.h:103
msgid "Create group with ununique GID"
msgstr ""
-#: source/ubl-strings.h:105
+#: source/ubl-strings.h:104
msgid "Create system group"
msgstr ""
-#: source/ubl-strings.h:107
+#: source/ubl-strings.h:106
msgid "Additional configuration"
msgstr ""
-#: source/ubl-strings.h:108
+#: source/ubl-strings.h:107
msgid "Group configuration synchronization"
msgstr ""
-#: source/ubl-strings.h:109
+#: source/ubl-strings.h:108
msgid "When shutting down the system, save the group into the configuration"
msgstr ""
-#: source/ubl-strings.h:110
+#: source/ubl-strings.h:109
msgid "Group administrators:"
msgstr ""
-#: source/ubl-strings.h:111
+#: source/ubl-strings.h:110
msgid "Group name must not start with digit"
msgstr ""
-#: source/ubl-strings.h:114
+#: source/ubl-strings.h:113
msgid "Default groups"
msgstr ""
-#: source/ubl-strings.h:115
+#: source/ubl-strings.h:114
msgid "Main group"
msgstr ""
-#: source/ubl-strings.h:116
+#: source/ubl-strings.h:115
msgid "Additional groups"
msgstr ""
-#: source/ubl-strings.h:117
+#: source/ubl-strings.h:116
msgid "Choose groups"
msgstr ""
-#: source/ubl-strings.h:118
+#: source/ubl-strings.h:117
msgid "Choose users"
msgstr ""
-#: source/ubl-strings.h:121
+#: source/ubl-strings.h:120
msgid "System users and groups"
msgstr ""
-#: source/ubl-strings.h:122
+#: source/ubl-strings.h:121
msgid "Locked"
msgstr ""
-#: source/ubl-strings.h:123
+#: source/ubl-strings.h:122
msgid "Username"
msgstr ""
-#: source/ubl-strings.h:124
+#: source/ubl-strings.h:123
msgid ""
"Primary\n"
"group"
msgstr ""
-#: source/ubl-strings.h:125
+#: source/ubl-strings.h:124
msgid ""
"Home\n"
"directory"
msgstr ""
-#: source/ubl-strings.h:126 source/ubl-strings.h:132
+#: source/ubl-strings.h:125 source/ubl-strings.h:131
msgid "Group"
msgstr ""
-#: source/ubl-strings.h:127
+#: source/ubl-strings.h:126
msgid "Update the system users and groups list"
msgstr ""
-#: source/ubl-strings.h:128
+#: source/ubl-strings.h:127
msgid "Toggle system groups and users"
msgstr ""
-#: source/ubl-strings.h:130
+#: source/ubl-strings.h:129
msgid "Password mismatch"
msgstr ""
-#: source/ubl-strings.h:131
+#: source/ubl-strings.h:130
msgid "Password must be at least"
msgstr ""
-#: source/ubl-strings.h:131
+#: source/ubl-strings.h:130
msgid "characters"
msgstr ""
-#: source/ubl-strings.h:133
+#: source/ubl-strings.h:132
msgid ""
"Days until\n"
"warning"
msgstr ""
-#: source/ubl-strings.h:134
+#: source/ubl-strings.h:133
msgid ""
"Days\n"
"without activity"
msgstr ""
-#: source/ubl-strings.h:135
+#: source/ubl-strings.h:134
msgid ""
"Shell\n"
"path"
msgstr ""
-#: source/ubl-strings.h:136
+#: source/ubl-strings.h:135
msgid ""
"Password has\n"
"been changed"
msgstr ""
-#: source/ubl-strings.h:137
+#: source/ubl-strings.h:136
msgid ""
"Expiration\n"
"date"
msgstr ""
-#: source/ubl-strings.h:138
+#: source/ubl-strings.h:137
msgid ""
"Password change\n"
"interval (min)"
msgstr ""
-#: source/ubl-strings.h:139
+#: source/ubl-strings.h:138
msgid ""
"Password change\n"
"interval (max)"
msgstr ""
-#: source/ubl-strings.h:142
+#: source/ubl-strings.h:141
msgid "Add user"
msgstr ""
-#: source/ubl-strings.h:143
+#: source/ubl-strings.h:142
msgid "Configure user"
msgstr ""
-#: source/ubl-strings.h:144
+#: source/ubl-strings.h:143
msgid "Set"
msgstr ""
-#: source/ubl-strings.h:145
+#: source/ubl-strings.h:144
msgid "Empty important field"
msgstr ""
-#: source/ubl-strings.h:146
+#: source/ubl-strings.h:145
msgid "Login must not start with digit"
msgstr ""
-#: source/ubl-strings.h:147
+#: source/ubl-strings.h:146
msgid "Loading has failed"
msgstr ""
-#: source/ubl-strings.h:148
+#: source/ubl-strings.h:147
msgid "Login name"
msgstr ""
-#: source/ubl-strings.h:149
+#: source/ubl-strings.h:148
msgid "Additional groups:"
msgstr ""
-#: source/ubl-strings.h:150
+#: source/ubl-strings.h:149
msgid "Password configuration"
msgstr ""
-#: source/ubl-strings.h:151
+#: source/ubl-strings.h:150
msgid "Password has been changed:"
msgstr ""
-#: source/ubl-strings.h:152
+#: source/ubl-strings.h:151
msgid "expiration date:"
msgstr ""
-#: source/ubl-strings.h:153
+#: source/ubl-strings.h:152
msgid "Password change interval: minimum"
msgstr ""
-#: source/ubl-strings.h:154
+#: source/ubl-strings.h:153
msgid "days, maximum"
msgstr ""
-#: source/ubl-strings.h:155
+#: source/ubl-strings.h:154
msgid "days"
msgstr ""
-#: source/ubl-strings.h:156
+#: source/ubl-strings.h:155
msgid "Days until warning:"
msgstr ""
-#: source/ubl-strings.h:157
+#: source/ubl-strings.h:156
msgid "Days without activity:"
msgstr ""
-#: source/ubl-strings.h:158
+#: source/ubl-strings.h:157
msgid "Force change at next login"
msgstr ""
-#: source/ubl-strings.h:159
+#: source/ubl-strings.h:158
msgid "User shell:"
msgstr ""
-#: source/ubl-strings.h:160
+#: source/ubl-strings.h:159
msgid "Home directory:"
msgstr ""
-#: source/ubl-strings.h:161
+#: source/ubl-strings.h:160
msgid "Don't set"
msgstr ""
-#: source/ubl-strings.h:162
+#: source/ubl-strings.h:161
msgid "Create system user"
msgstr ""
-#: source/ubl-strings.h:163
+#: source/ubl-strings.h:162
msgid "Create user with ununique (repeating) UID"
msgstr ""
-#: source/ubl-strings.h:164
+#: source/ubl-strings.h:163
msgid "Do not check login for compliance with character rules"
msgstr ""
-#: source/ubl-strings.h:165
+#: source/ubl-strings.h:164
msgid "Temporary deactivation"
msgstr ""
-#: source/ubl-strings.h:166
+#: source/ubl-strings.h:165
msgid "Save"
msgstr ""
-#: source/ubl-strings.h:167
+#: source/ubl-strings.h:166
msgid "login_name"
msgstr ""
-#: source/ubl-strings.h:168
+#: source/ubl-strings.h:167
msgid "group_name"
msgstr ""
-#: source/ubl-strings.h:169
+#: source/ubl-strings.h:168
msgid "User name"
msgstr ""
-#: source/ubl-strings.h:170
+#: source/ubl-strings.h:169
msgid "Sync user"
msgstr ""
-#: source/ubl-strings.h:171
+#: source/ubl-strings.h:170
msgid "Sync user with password"
msgstr ""
-#: source/ubl-strings.h:172
+#: source/ubl-strings.h:171
msgid "Encrypt all passwords"
msgstr ""
-#: source/ubl-strings.h:174
+#: source/ubl-strings.h:173
msgid "User configuration"
msgstr ""
-#: source/ubl-strings.h:175
+#: source/ubl-strings.h:174
msgid "User configuration synchronization"
msgstr ""
-#: source/ubl-strings.h:176
+#: source/ubl-strings.h:175
msgid "During system startup, load the user from the configuration"
msgstr ""
-#: source/ubl-strings.h:177
+#: source/ubl-strings.h:176
msgid "When shutting down the system, save the user into the configuration"
msgstr ""
-#: source/ubl-strings.h:178
+#: source/ubl-strings.h:177
msgid "User password configuration syncronization"
msgstr ""
-#: source/ubl-strings.h:179
+#: source/ubl-strings.h:178
msgid ""
"During system startup, load the user's parameters from the configuration"
msgstr ""
-#: source/ubl-strings.h:180
+#: source/ubl-strings.h:179
msgid ""
"When shutting down the system, save the user's parameters into the "
"configuration"
msgstr ""
-#: source/ubl-strings.h:182
+#: source/ubl-strings.h:181
msgid "Basic"
msgstr ""
-#: source/ubl-strings.h:183
+#: source/ubl-strings.h:182
msgid "Additional"
msgstr ""
-#: source/ubl-strings.h:184
+#: source/ubl-strings.h:183
msgid "Syncronization"
msgstr ""
-#: source/ubl-strings.h:186
+#: source/ubl-strings.h:185
msgid "Not specified"
msgstr ""
-#: source/ubl-strings.h:189
+#: source/ubl-strings.h:187
+msgid "UID already busy"
+msgstr ""
+
+#: source/ubl-strings.h:188
+msgid "GID already busy"
+msgstr ""
+
+#: source/ubl-strings.h:191
msgid "Repeat password:"
msgstr ""
-#: source/ubl-strings.h:190
+#: source/ubl-strings.h:192
msgid "Password hash:"
msgstr ""
-#: source/ubl-strings.h:191
+#: source/ubl-strings.h:193
msgid "Do not encrypt password"
msgstr ""
-#: source/ubl-strings.h:194
+#: source/ubl-strings.h:196
msgid "Additional configuration of service parameter saving"
msgstr ""
-#: source/ubl-strings.h:195
+#: source/ubl-strings.h:197
msgid ""
"At every system shutdown save changes of (root)/var/lib/samba\n"
"into (hd)/ublinux-data/rootcopy"
msgstr ""
-#: source/ubl-strings.h:196
+#: source/ubl-strings.h:198
msgid "For system save mode \"Sandbox\""
msgstr ""
-#: source/ubl-strings.h:199
+#: source/ubl-strings.h:201
msgid "Group deletion"
msgstr ""
-#: source/ubl-strings.h:200
+#: source/ubl-strings.h:202
msgid "Confirm group(-s) deletion:"
msgstr ""
-#: source/ubl-strings.h:202
+#: source/ubl-strings.h:204
msgid "User deletion"
msgstr ""
-#: source/ubl-strings.h:203
+#: source/ubl-strings.h:205
msgid "Confirm user(-s) deletion:"
msgstr ""
-#: source/ubl-strings.h:204
+#: source/ubl-strings.h:206
msgid "Chosen"
msgstr ""
-#: source/ubl-strings.h:205
+#: source/ubl-strings.h:207
msgid "User"
msgstr ""
-#: source/ubl-strings.h:206
+#: source/ubl-strings.h:208
msgid "Home directory"
msgstr ""
-#: source/ubl-strings.h:207
+#: source/ubl-strings.h:209
msgid "Delete home directory"
msgstr ""
-msgid "Are you sure want to delete group"
+#: source/ubl-strings.h:211
+msgid "Configuration users"
msgstr ""
-msgid "Are you sure want to delete user"
+#: source/ubl-strings.h:212
+msgid "Configuration groups"
msgstr ""
-msgid "UID already busy"
+#: source/ubl-strings.h:213
+msgid "System users"
msgstr ""
-msgid "GID already busy"
-msgstr ""
\ No newline at end of file
+#: source/ubl-strings.h:214
+msgid "System groups"
+msgstr ""
diff --git a/ubl-settings-usergroups_ru.po b/ubl-settings-usergroups_ru.po
index 5197919..489075a 100644
--- a/ubl-settings-usergroups_ru.po
+++ b/ubl-settings-usergroups_ru.po
@@ -53,7 +53,7 @@ msgstr "Алгоритм хэширования пароля:"
msgid "UID"
msgstr "UID"
-#: source/ubl-strings.h:14 source/ubl-strings.h:103
+#: source/ubl-strings.h:14 source/ubl-strings.h:102
msgid "Login"
msgstr "Логин"
@@ -189,7 +189,7 @@ msgstr "Обзор файлов"
msgid "Inspect users and groups in system"
msgstr "Просмотр пользователей и групп в системе"
-#: source/ubl-strings.h:46 source/ubl-strings.h:57
+#: source/ubl-strings.h:46 source/ubl-strings.h:56
msgid "Additional settings"
msgstr "Дополнительные настройки"
@@ -217,27 +217,27 @@ msgstr "Обновить список пользователей и групп"
msgid "Additional saving configuration"
msgstr "Дополнительные настройки сохранения"
-#: source/ubl-strings.h:58
+#: source/ubl-strings.h:57
msgid "No password required"
msgstr "Пароль не требуется"
-#: source/ubl-strings.h:59
+#: source/ubl-strings.h:58
msgid "Set a password"
msgstr "Задать пароль"
-#: source/ubl-strings.h:60 source/ubl-strings.h:106
+#: source/ubl-strings.h:59 source/ubl-strings.h:105
msgid "Encrypted"
msgstr "Зашифрован"
-#: source/ubl-strings.h:61
+#: source/ubl-strings.h:60
msgid "Unencrypted"
msgstr "Незашифрован"
-#: source/ubl-strings.h:74
+#: source/ubl-strings.h:73
msgid "Accept"
msgstr "Принять"
-#: source/ubl-strings.h:75
+#: source/ubl-strings.h:74
msgid ""
"Are you sure want to encrypt all passwords?\n"
"This action can't be undone."
@@ -245,173 +245,173 @@ msgstr ""
"Вы уверены что хотите зашифровать все пароли?\n"
"Это действие нельзя отменить."
-#: source/ubl-strings.h:76
+#: source/ubl-strings.h:75
msgid "Encrypt all unencrypted passwords at global configuration"
msgstr "Зашифровать все незашифрованные пароли в глобальной конфигурации"
-#: source/ubl-strings.h:77
+#: source/ubl-strings.h:76
msgid "DES (Algorithm for Symmetric Encryption)"
msgstr "DES (Алгоритм для симметричного шифрования)"
-#: source/ubl-strings.h:78
+#: source/ubl-strings.h:77
msgid "MD5 (128-bit hashing algorithm)"
msgstr "MD5 (128-битный алгоритм хеширования)"
-#: source/ubl-strings.h:79
+#: source/ubl-strings.h:78
msgid "yescrypt (Cryptographic hash function)"
msgstr "yescrypt (Криптографическая хэш-функция)"
-#: source/ubl-strings.h:80
+#: source/ubl-strings.h:79
msgid "GOST-YESCRYPT (Design according to GOST R 34.11─2012)"
msgstr "GOST-YESCRYPT (Конструкция согласно ГОСТ Р 34.11─2012)"
-#: source/ubl-strings.h:81
+#: source/ubl-strings.h:80
msgid "scrypt (Adaptive cryptographic key generation function)"
msgstr "scrypt (Адаптивная криптографическая функция формирования ключа)"
-#: source/ubl-strings.h:82
+#: source/ubl-strings.h:81
msgid "Blowfish (Symmetric Block Cipher Algorithm)"
msgstr "Blowfish (Алгоритм блочного симметричного шифрования)"
-#: source/ubl-strings.h:83
+#: source/ubl-strings.h:82
msgid "bcrypt (Adaptive hash function from the Blowfish family of algorithms)"
msgstr "bcrypt (Адаптивная хеш-функция из семейства алгоритмов Blowfish)"
-#: source/ubl-strings.h:84
+#: source/ubl-strings.h:83
msgid ""
"bcrypt-a (Adaptive hash function from the Blowfish family of algorithms)"
msgstr "bcrypt-a (Адаптивная хеш-функция из семейства алгоритмов Blowfish)"
-#: source/ubl-strings.h:85
+#: source/ubl-strings.h:84
msgid "SHA512 (Hash function from the SHA-2 family of algorithms)"
msgstr "SHA512 (Хеш-функция из семейства алгоритмов SHA-2)"
-#: source/ubl-strings.h:86
+#: source/ubl-strings.h:85
msgid "SHA256 (Hash function from the SHA-2 family of algorithms)"
msgstr "SHA256 (Хеш-функция из семейства алгоритмов SHA-2)"
-#: source/ubl-strings.h:87
+#: source/ubl-strings.h:86
msgid "Sun MD5 (Hash algorithm from Sun Microsystems)"
msgstr "Sun MD5 (Хеш-алгоритм от Sun Microsystems)"
-#: source/ubl-strings.h:88
+#: source/ubl-strings.h:87
msgid "MD5 Unix (Hash algorithm calls standard MD5 thousand times)"
msgstr "MD5 Unix (Хэш-алгоритм вызывает тысячу раз стандартный MD5)"
-#: source/ubl-strings.h:89
+#: source/ubl-strings.h:88
msgid ""
"Extended DES Crypt (Hash function from the BSDi family of DES algorithms)"
msgstr "Extended DES Crypt (Хеш-функция из семейства алгоритмов DES от BSDi)"
-#: source/ubl-strings.h:90
+#: source/ubl-strings.h:89
msgid "descrypt (Hash function from the DES family of algorithms)"
msgstr "descrypt (Хеш-функция из семейства алгоритмов DES)"
-#: source/ubl-strings.h:91
+#: source/ubl-strings.h:90
msgid "NTHash (Hash function from the NT Windows family of algorithms)"
msgstr "NTHash (Хеш-функция из семейства алгоритмов NT Windows)"
-#: source/ubl-strings.h:93
+#: source/ubl-strings.h:92
msgid ""
"While booting the operating system, apply the settings of all users from the "
"configuration"
msgstr ""
-"При запуске операционной системы применять настройки всех пользователей "
-"из конфигурации"
+"При запуске операционной системы применять настройки всех пользователей из "
+"конфигурации"
-#: source/ubl-strings.h:94
+#: source/ubl-strings.h:93
msgid ""
"While shutdown, save the settings of all users with UID>=1000 to the "
"configuration"
msgstr ""
-"При завершении работы сохранить настройки пользователей "
-"с UID>=1000 в конфигурацию"
+"При завершении работы сохранить настройки пользователей с UID>=1000 в "
+"конфигурацию"
-#: source/ubl-strings.h:97
+#: source/ubl-strings.h:96
msgid "Configure group"
msgstr "Редактировать группу"
-#: source/ubl-strings.h:98
+#: source/ubl-strings.h:97
msgid "Add group"
msgstr "Добавить группу"
-#: source/ubl-strings.h:99
+#: source/ubl-strings.h:98
msgid "Group id:"
msgstr "Идентификатор группы (GID):"
-#: source/ubl-strings.h:100
+#: source/ubl-strings.h:99
msgid "Group name:"
msgstr "Имя группы:"
-#: source/ubl-strings.h:101
+#: source/ubl-strings.h:100
msgid "Group users:"
msgstr "Пользователи группы:"
-#: source/ubl-strings.h:102
+#: source/ubl-strings.h:101
msgid "Automatically"
msgstr "Автоматически"
-#: source/ubl-strings.h:104
+#: source/ubl-strings.h:103
msgid "Create group with ununique GID"
msgstr "Создать группу с повторяющимися (не уникальными) GID"
-#: source/ubl-strings.h:105
+#: source/ubl-strings.h:104
msgid "Create system group"
msgstr "Создать системную группу"
-#: source/ubl-strings.h:107
+#: source/ubl-strings.h:106
msgid "Additional configuration"
msgstr "Дополнительные настройки"
-#: source/ubl-strings.h:108
+#: source/ubl-strings.h:107
msgid "Group configuration synchronization"
msgstr "Синхронизация настроек группы"
-#: source/ubl-strings.h:109
+#: source/ubl-strings.h:108
msgid "When shutting down the system, save the group into the configuration"
msgstr "При завершении работы системы сохранить группу в конфигурацию"
-#: source/ubl-strings.h:110
+#: source/ubl-strings.h:109
msgid "Group administrators:"
msgstr "Администраторы группы:"
-#: source/ubl-strings.h:111
+#: source/ubl-strings.h:110
msgid "Group name must not start with digit"
msgstr "Имя группы не должно начинаться с цифры"
-#: source/ubl-strings.h:114
+#: source/ubl-strings.h:113
msgid "Default groups"
msgstr "Группы пользователей по умолчанию"
-#: source/ubl-strings.h:115
+#: source/ubl-strings.h:114
msgid "Main group"
msgstr "Основная группа"
-#: source/ubl-strings.h:116
+#: source/ubl-strings.h:115
msgid "Additional groups"
msgstr "Дополнительные группы"
-#: source/ubl-strings.h:117
+#: source/ubl-strings.h:116
msgid "Choose groups"
msgstr "Выбрать группы"
-#: source/ubl-strings.h:118
+#: source/ubl-strings.h:117
msgid "Choose users"
msgstr "Выбрать пользователей"
-#: source/ubl-strings.h:121
+#: source/ubl-strings.h:120
msgid "System users and groups"
msgstr "Пользователи и группы в системе"
-#: source/ubl-strings.h:122
+#: source/ubl-strings.h:121
msgid "Locked"
msgstr "Отключен"
-#: source/ubl-strings.h:123
+#: source/ubl-strings.h:122
msgid "Username"
msgstr "Имя пользователя"
-#: source/ubl-strings.h:124
+#: source/ubl-strings.h:123
msgid ""
"Primary\n"
"group"
@@ -419,7 +419,7 @@ msgstr ""
"Основная\n"
"группа"
-#: source/ubl-strings.h:125
+#: source/ubl-strings.h:124
msgid ""
"Home\n"
"directory"
@@ -427,31 +427,31 @@ msgstr ""
"Домашний\n"
"каталог"
-#: source/ubl-strings.h:126 source/ubl-strings.h:132
+#: source/ubl-strings.h:125 source/ubl-strings.h:131
msgid "Group"
msgstr "Группа"
-#: source/ubl-strings.h:127
+#: source/ubl-strings.h:126
msgid "Update the system users and groups list"
msgstr "Обновить список пользователей и групп системы"
-#: source/ubl-strings.h:128
+#: source/ubl-strings.h:127
msgid "Toggle system groups and users"
msgstr "Переключить видимость системных пользователей и групп"
-#: source/ubl-strings.h:130
+#: source/ubl-strings.h:129
msgid "Password mismatch"
msgstr "Несовпадение паролей"
-#: source/ubl-strings.h:131
+#: source/ubl-strings.h:130
msgid "Password must be at least"
msgstr "Пароль должен состоять из как минимум"
-#: source/ubl-strings.h:131
+#: source/ubl-strings.h:130
msgid "characters"
msgstr "символов"
-#: source/ubl-strings.h:133
+#: source/ubl-strings.h:132
msgid ""
"Days until\n"
"warning"
@@ -459,7 +459,7 @@ msgstr ""
"Дней до\n"
"предупреждения"
-#: source/ubl-strings.h:134
+#: source/ubl-strings.h:133
msgid ""
"Days\n"
"without activity"
@@ -467,7 +467,7 @@ msgstr ""
"Дней без\n"
"активности"
-#: source/ubl-strings.h:135
+#: source/ubl-strings.h:134
msgid ""
"Shell\n"
"path"
@@ -475,7 +475,7 @@ msgstr ""
"Путь до\n"
"оболочки"
-#: source/ubl-strings.h:136
+#: source/ubl-strings.h:135
msgid ""
"Password has\n"
"been changed"
@@ -483,7 +483,7 @@ msgstr ""
"Пароль\n"
"изменён"
-#: source/ubl-strings.h:137
+#: source/ubl-strings.h:136
msgid ""
"Expiration\n"
"date"
@@ -491,7 +491,7 @@ msgstr ""
"Дата\n"
"устаревания"
-#: source/ubl-strings.h:138
+#: source/ubl-strings.h:137
msgid ""
"Password change\n"
"interval (min)"
@@ -499,7 +499,7 @@ msgstr ""
"Интервал смены\n"
"пароля (мин.)"
-#: source/ubl-strings.h:139
+#: source/ubl-strings.h:138
msgid ""
"Password change\n"
"interval (max)"
@@ -507,199 +507,207 @@ msgstr ""
"Интервал смены\n"
"пароля (макс.)"
-#: source/ubl-strings.h:142
+#: source/ubl-strings.h:141
msgid "Add user"
msgstr "Добавить пользователя"
-#: source/ubl-strings.h:143
+#: source/ubl-strings.h:142
msgid "Configure user"
msgstr "Редактировать пользователя"
-#: source/ubl-strings.h:144
+#: source/ubl-strings.h:143
msgid "Set"
msgstr "Задать"
-#: source/ubl-strings.h:145
+#: source/ubl-strings.h:144
msgid "Empty important field"
msgstr "Пустое важное поле"
-#: source/ubl-strings.h:146
+#: source/ubl-strings.h:145
msgid "Login must not start with digit"
msgstr "Логин не должен начинаться с цифры"
-#: source/ubl-strings.h:147
+#: source/ubl-strings.h:146
msgid "Loading has failed"
msgstr "Ошибка загрузки"
-#: source/ubl-strings.h:148
+#: source/ubl-strings.h:147
msgid "Login name"
msgstr "Имя логина"
-#: source/ubl-strings.h:149
+#: source/ubl-strings.h:148
msgid "Additional groups:"
msgstr "Дополнительные группы:"
-#: source/ubl-strings.h:150
+#: source/ubl-strings.h:149
msgid "Password configuration"
msgstr "Конфигурация пароля"
-#: source/ubl-strings.h:151
+#: source/ubl-strings.h:150
msgid "Password has been changed:"
msgstr "Пароль изменён:"
-#: source/ubl-strings.h:152
+#: source/ubl-strings.h:151
msgid "expiration date:"
msgstr "Дата устаревания:"
-#: source/ubl-strings.h:153
+#: source/ubl-strings.h:152
msgid "Password change interval: minimum"
msgstr "Интервал смены пароля: минимум"
-#: source/ubl-strings.h:154
+#: source/ubl-strings.h:153
msgid "days, maximum"
msgstr "дней, максимум"
-#: source/ubl-strings.h:155
+#: source/ubl-strings.h:154
msgid "days"
msgstr "дней"
-#: source/ubl-strings.h:156
+#: source/ubl-strings.h:155
msgid "Days until warning:"
msgstr "Дней до предупреждения:"
-#: source/ubl-strings.h:157
+#: source/ubl-strings.h:156
msgid "Days without activity:"
msgstr "Дней без активности:"
-#: source/ubl-strings.h:158
+#: source/ubl-strings.h:157
msgid "Force change at next login"
msgstr "Принудительно сменить при следующем входе в систему"
-#: source/ubl-strings.h:159
+#: source/ubl-strings.h:158
msgid "User shell:"
msgstr "Оболочка пользователя:"
-#: source/ubl-strings.h:160
+#: source/ubl-strings.h:159
msgid "Home directory:"
msgstr "Домашний каталог:"
-#: source/ubl-strings.h:161
+#: source/ubl-strings.h:160
msgid "Don't set"
msgstr "Не создавать"
-#: source/ubl-strings.h:162
+#: source/ubl-strings.h:161
msgid "Create system user"
msgstr "Создать системного пользователя"
-#: source/ubl-strings.h:163
+#: source/ubl-strings.h:162
msgid "Create user with ununique (repeating) UID"
msgstr "Создать пользователя с повторяющимися (не уникальными) UID"
-#: source/ubl-strings.h:164
+#: source/ubl-strings.h:163
msgid "Do not check login for compliance with character rules"
msgstr "Не проверять логин на несоответствие правилам использования символов"
-#: source/ubl-strings.h:165
+#: source/ubl-strings.h:164
msgid "Temporary deactivation"
msgstr "Временное отключение учётной записи"
-#: source/ubl-strings.h:166
+#: source/ubl-strings.h:165
msgid "Save"
msgstr "Сохранить"
-#: source/ubl-strings.h:167
+#: source/ubl-strings.h:166
msgid "login_name"
msgstr "Имя_логина"
-#: source/ubl-strings.h:168
+#: source/ubl-strings.h:167
msgid "group_name"
msgstr "Имя_группы"
-#: source/ubl-strings.h:169
+#: source/ubl-strings.h:168
msgid "User name"
msgstr "Имя пользователя"
-#: source/ubl-strings.h:170
+#: source/ubl-strings.h:169
msgid "Sync user"
msgstr "Синхронизировать пользователя"
-#: source/ubl-strings.h:171
+#: source/ubl-strings.h:170
msgid "Sync user with password"
msgstr "Синхронизировать пользователя с паролем"
-#: source/ubl-strings.h:172
+#: source/ubl-strings.h:171
msgid "Encrypt all passwords"
msgstr "Зашифровать все пароли"
-#: source/ubl-strings.h:174
+#: source/ubl-strings.h:173
msgid "User configuration"
msgstr "Настройка пользователя"
-#: source/ubl-strings.h:175
+#: source/ubl-strings.h:174
msgid "User configuration synchronization"
msgstr "Синхронизация настроек пользователя"
-#: source/ubl-strings.h:176
+#: source/ubl-strings.h:175
msgid "During system startup, load the user from the configuration"
msgstr ""
"При запуске операционной системы применять настройки пользователя из "
"конфигурации"
-#: source/ubl-strings.h:177
+#: source/ubl-strings.h:176
msgid "When shutting down the system, save the user into the configuration"
msgstr ""
"При завершении работы операционной системы сохранить настройки пользователя "
"в конфигурацию"
-#: source/ubl-strings.h:178
+#: source/ubl-strings.h:177
msgid "User password configuration syncronization"
msgstr "Синхронизация настроек пароля пользователя"
-#: source/ubl-strings.h:179
+#: source/ubl-strings.h:178
msgid ""
"During system startup, load the user's parameters from the configuration"
msgstr "При загрузке системы загрузить параметры пользователя из конфигурации"
-#: source/ubl-strings.h:180
+#: source/ubl-strings.h:179
msgid ""
"When shutting down the system, save the user's parameters into the "
"configuration"
msgstr ""
"При завершении работы системы сохранить параметры пользователя в конфигурацию"
-#: source/ubl-strings.h:182
+#: source/ubl-strings.h:181
msgid "Basic"
msgstr "Основные"
-#: source/ubl-strings.h:183
+#: source/ubl-strings.h:182
msgid "Additional"
msgstr "Дополнительные"
-#: source/ubl-strings.h:184
+#: source/ubl-strings.h:183
msgid "Syncronization"
msgstr "Синхронизация"
-#: source/ubl-strings.h:186
+#: source/ubl-strings.h:185
msgid "Not specified"
msgstr "Не задан"
-#: source/ubl-strings.h:189
+#: source/ubl-strings.h:187
+msgid "UID already busy"
+msgstr "UID уже существует"
+
+#: source/ubl-strings.h:188
+msgid "GID already busy"
+msgstr "GID уже существует"
+
+#: source/ubl-strings.h:191
msgid "Repeat password:"
msgstr "Подтверждение пароля:"
-#: source/ubl-strings.h:190
+#: source/ubl-strings.h:192
msgid "Password hash:"
msgstr "Хэш пароля:"
-#: source/ubl-strings.h:191
+#: source/ubl-strings.h:193
msgid "Do not encrypt password"
msgstr "Не шифровать пароль"
-#: source/ubl-strings.h:194
+#: source/ubl-strings.h:196
msgid "Additional configuration of service parameter saving"
msgstr "Дополнительные настройки сохранения параметров сервисов"
-#: source/ubl-strings.h:195
+#: source/ubl-strings.h:197
msgid ""
"At every system shutdown save changes of (root)/var/lib/samba\n"
"into (hd)/ublinux-data/rootcopy"
@@ -707,45 +715,54 @@ msgstr ""
"При каждом завершении работы ОС сохранять изменения (root)/var/lib/samba\n"
"в (hd)/ublinux-data/rootcopy/"
-#: source/ubl-strings.h:196
+#: source/ubl-strings.h:198
msgid "For system save mode \"Sandbox\""
msgstr "Для режима сохранения системы \"Песочница\""
-#: source/ubl-strings.h:199
+#: source/ubl-strings.h:201
msgid "Group deletion"
msgstr "Удаление групп(-ы)"
-#: source/ubl-strings.h:200
+#: source/ubl-strings.h:202
msgid "Confirm group(-s) deletion:"
msgstr "Подтвердите удаление групп(-ы):"
-#: source/ubl-strings.h:202
+#: source/ubl-strings.h:204
msgid "User deletion"
msgstr "Удаление пользователя(-ей)"
-#: source/ubl-strings.h:203
+#: source/ubl-strings.h:205
msgid "Confirm user(-s) deletion:"
msgstr "Подтвердите удаление пользователя (-ей):"
-#: source/ubl-strings.h:204
+#: source/ubl-strings.h:206
msgid "Chosen"
msgstr "Выбран"
-#: source/ubl-strings.h:205
+#: source/ubl-strings.h:207
msgid "User"
msgstr "Пользователь"
-#: source/ubl-strings.h:206
+#: source/ubl-strings.h:208
msgid "Home directory"
msgstr "Домашний каталог"
-#: source/ubl-strings.h:207
+#: source/ubl-strings.h:209
msgid "Delete home directory"
msgstr "Удалить домашний каталог"
+#: source/ubl-strings.h:211
+msgid "Configuration users"
+msgstr "Пользователи конфигурации"
-msgid "UID already busy"
-msgstr "UID уже существует"
+#: source/ubl-strings.h:212
+msgid "Configuration groups"
+msgstr "Группы конфигурации"
-msgid "GID already busy"
-msgstr "GID уже существует"
\ No newline at end of file
+#: source/ubl-strings.h:213
+msgid "System users"
+msgstr "Пользователи системы"
+
+#: source/ubl-strings.h:214
+msgid "System groups"
+msgstr "Группы системы"