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 - - True - False - com.ublinux.ubl-settings-usergroups.settings-symbolic - True False @@ -105,6 +100,53 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. False com.ublinux.ubl-settings-usergroups.save-symbolic + + True + False + com.ublinux.ubl-settings-usergroups.user-add-symbolic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True False @@ -118,34 +160,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 2 vertical 5 - - - True - True - True - Inspect users and groups in system - image12 - - - - False - True - 0 - - - - - True - False - - - False - True - 1 - - True @@ -191,6 +205,22 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 4 + + + True + True + Additional saving configuration + image5 + + + + False + True + 5 + + True @@ -205,7 +235,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. False True - 5 + 6 @@ -223,7 +253,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. False True - 6 + 7 @@ -240,7 +270,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. False True - 7 + 8 @@ -257,7 +287,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. False True - 8 + 9 @@ -268,7 +298,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. False True - 9 + 10 @@ -285,7 +315,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. False True - 10 + 11 @@ -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 "Группы системы"