Merge pull request 'covering 'system' functions' (#83) from YanTheKaller/ubl-settings-usergroups:master into master

Reviewed-on: #83
pull/107/head v2.1
Dmitry Razumov 2 years ago
commit dda871d863

@ -42,7 +42,7 @@ void yon_interface_update(main_window *widgets){
4,parameters_size>2?parameters[2]:"", 4,parameters_size>2?parameters[2]:"",
5,parameters_size>3?parameters[3]:"", 5,parameters_size>3?parameters[3]:"",
6,parameters_size>4?parameters[4]:"", 6,parameters_size>4?parameters[4]:"",
7,parameters_size>5?strcmp(parameters[5],"x")? ENDRYPTED_LABEL : DEFAULT_USER_LABEL : DEFAULT_USER_LABEL, 7,parameters_size>5?strcmp(parameters[5],"x")&&strcmp(parameters[5],"")? parameters[5][0]=='%'&&parameters[5][1]=='%'? UNENCRYPTED_LABEL: ENCRYPTED_LABEL : DEFAULT_USER_LABEL : DEFAULT_USER_LABEL,
-1); -1);
if(parameters) if(parameters)
free(parameters); free(parameters);
@ -70,7 +70,7 @@ void yon_interface_update(main_window *widgets){
0,parameters_size>1?parameters[1]:"", 0,parameters_size>1?parameters[1]:"",
2,parameters_size>0?parameters[0]:"", 2,parameters_size>0?parameters[0]:"",
3,parameters_size>2?parameters[2]:"", 3,parameters_size>2?parameters[2]:"",
4,parameters_size>3?ENDRYPTED_LABEL:DEFAULT_USER_LABEL, 4,parameters_size>3?ENCRYPTED_LABEL:DEFAULT_USER_LABEL,
-1); -1);
if(parameters) if(parameters)
free(parameters); free(parameters);
@ -106,9 +106,9 @@ if (main_config.sync_users){
if (parsed[1][0]==' '&&parsed[1][1]=='.'&&parsed[1][2]==' ') if (parsed[1][0]==' '&&parsed[1][1]=='.'&&parsed[1][2]==' ')
free(parsed[1]=yon_char_divide(parsed[1],3)); free(parsed[1]=yon_char_divide(parsed[1],3));
system (samba_sync_password_command(parsed[0],parsed[1])); if (system (samba_sync_password_command(parsed[0],parsed[1]))){};
} else { } else {
system ( samba_sync_command(parsed[0])); if (system ( samba_sync_command(parsed[0]))){};
} }
@ -117,15 +117,31 @@ if (main_config.sync_users){
} }
} }
void yon_accept_changes(){
char *remove_homes = "";
for (int i=0;i<main_config.homes_size;i++){
remove_homes = yon_char_unite(remove_homes,yon_char_is_empty(remove_homes)?"":",",main_config.remove_homes[i],NULL);
}
if (!yon_char_is_empty(remove_homes)){
if (system(remove_home_dirs_command(remove_homes))){};
}
}
void on_config_save(){ void on_config_save(){
yon_accept_changes();
yon_samba_sync_proceed();
yon_save_proceed(NULL,YON_CONFIG_BOTH,"users", "DEFAULTPASSWD DEFAULTROOTPASSWD DEFAULTUSER HASHPASSWD USERGROUPS ADDADM USERADD[*] USERSHADOW[*] GROUPADD[*]",NULL); yon_save_proceed(NULL,YON_CONFIG_BOTH,"users", "DEFAULTPASSWD DEFAULTROOTPASSWD DEFAULTUSER HASHPASSWD USERGROUPS ADDADM USERADD[*] USERSHADOW[*] GROUPADD[*]",NULL);
} }
void on_config_global_save(){ void on_config_global_save(){
yon_accept_changes();
yon_samba_sync_proceed();
yon_save_proceed("global",YON_CONFIG_GLOBAL,"users", "DEFAULTPASSWD DEFAULTROOTPASSWD DEFAULTUSER HASHPASSWD USERGROUPS ADDADM USERADD[*] USERSHADOW[*] GROUPADD[*]",NULL); yon_save_proceed("global",YON_CONFIG_GLOBAL,"users", "DEFAULTPASSWD DEFAULTROOTPASSWD DEFAULTUSER HASHPASSWD USERGROUPS ADDADM USERADD[*] USERSHADOW[*] GROUPADD[*]",NULL);
} }
void on_config_local_save(){ void on_config_local_save(){
yon_accept_changes();
yon_samba_sync_proceed();
yon_save_proceed("system",YON_CONFIG_LOCAL,"users", "DEFAULTPASSWD DEFAULTROOTPASSWD DEFAULTUSER HASHPASSWD USERGROUPS ADDADM USERADD[*] USERSHADOW[*] GROUPADD[*]",NULL); yon_save_proceed("system",YON_CONFIG_LOCAL,"users", "DEFAULTPASSWD DEFAULTROOTPASSWD DEFAULTUSER HASHPASSWD USERGROUPS ADDADM USERADD[*] USERSHADOW[*] GROUPADD[*]",NULL);
} }
@ -197,18 +213,38 @@ void yon_delete_confirmation_save(GtkWidget *self, dictionary *dict){
int valid2 = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&itar); int valid2 = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&itar);
for (;valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&itar)){ for (;valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&itar)){
char *name_check; char *name_check;
gtk_tree_model_get(GTK_TREE_MODEL(window->list),&itar,1,&name_check,-1); int status,delete;
if (!strcmp(name,name_check)){ gtk_tree_model_get(GTK_TREE_MODEL(window->list),&itar,0,&delete,1,&name_check,3,&status,-1);
GtkTreeIter *it = gtk_tree_iter_copy(&iter); if (!strcmp(name,name_check)&&delete){
if (!gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->UsersList),&iter)){ gtk_list_store_remove(widgets->UsersList,&iter);
iter = *gtk_tree_iter_copy(it); yon_config_remove_by_key(USERADD(name));
if (!gtk_tree_model_iter_previous(GTK_TREE_MODEL(widgets->UsersList),&iter)){ yon_config_remove_by_key(USERSHADOW(name));
iter = *gtk_tree_iter_copy(it); gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter);
if (status){
if (yon_char_parsed_check_exist(main_config.remove_homes,main_config.homes_size,name)==-1){
yon_char_parsed_add_or_create_if_exists(main_config.remove_homes,&main_config.homes_size,name);
} }
} }
gtk_list_store_remove(widgets->UsersList,it); }
}
}
char *name;
gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter);
gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&iter,2,&name,-1);
int valid2 = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&itar);
for (;valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&itar)){
char *name_check;
int status,delete;
gtk_tree_model_get(GTK_TREE_MODEL(window->list),&itar,0,&delete,1,&name_check,3,&status,-1);
if (!strcmp(name,name_check)&&delete){
gtk_list_store_remove(widgets->UsersList,&iter);
yon_config_remove_by_key(USERADD(name)); yon_config_remove_by_key(USERADD(name));
yon_config_remove_by_key(USERSHADOW(name)); yon_config_remove_by_key(USERSHADOW(name));
gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter);
if (status){
if (yon_char_parsed_check_exist(main_config.remove_homes,main_config.homes_size,name)==-1){
yon_char_parsed_add_or_create_if_exists(main_config.remove_homes,&main_config.homes_size,name);
}
} }
} }
} }
@ -253,24 +289,25 @@ void yon_delete_confirmation_open(main_window *widgets){
} }
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter); int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter);
for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->UsersList),&iter)){ for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->UsersList),&iter)){
char *name,*parameters,*homedir=NULL; char *name,*username,*parameters,*homedir=NULL;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&iter,2,&name,6,&parameters,-1); gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&iter,2,&name,3,&username,6,&parameters,-1);
if (strstr(parameters,"--home-dir")){ int found = yon_char_parsed_check_exist(main_config.users,main_config.users_size,yon_char_append(name,":"));
int size;
config_str parsed = yon_char_parse(parameters,&size," "); if (found>-1){
for (int i=0;i<size-1;i++){ int parsed_size;
if (!strcmp(parsed[i],"--home-dir")){ config_str parsed = yon_char_parse(main_config.users[found],&parsed_size,":");
homedir = yon_char_new(parsed[i+1]); if (parsed_size>5&&!yon_char_is_empty(parsed[5])&&strcmp(parsed[5],"x")){
break;
} homedir = yon_char_new(parsed[5]);
} }
yon_char_parsed_free(parsed,size); yon_char_parsed_free(parsed,parsed_size);
} }
int status=0; int status=0;
if (homedir) status=1; if (homedir) status=1;
gtk_list_store_append(window->list,&itar); gtk_list_store_append(window->list,&itar);
gtk_list_store_set(window->list,&itar,0,yon_char_parsed_check_exist(chosen,chosen_size,name)>-1?1:0,1,name,2,homedir,3,0,4,status,-1); gtk_list_store_set(window->list,&itar,0,yon_char_parsed_check_exist(chosen,chosen_size,name)>-1?1:0,1,name,2,homedir,3,0,4,status,5,username,-1);
free(name); free(name);
free(username);
free(parameters); free(parameters);
free(homedir); free(homedir);
} }
@ -316,10 +353,6 @@ void on_filechooser_open(GtkWidget *self, GtkEntry *output_target){
} }
on_subwindow_close(dialog); on_subwindow_close(dialog);
// ubl_settings_usergroups_additional_settings_window *window = yon_ubl_settings_usergroups_additional_settings_new();
// g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
// gtk_widget_show(window->Window);
} }
void on_groups_save(GtkWidget *self, dictionary *dict){ void on_groups_save(GtkWidget *self, dictionary *dict){
@ -1072,7 +1105,8 @@ void on_settings_usergroups_system_open(GtkWidget *self, main_window *widgets){
void on_user_shell_changed(GtkWidget *self, ubl_settings_usergroups_user_window *window){ void on_user_shell_changed(GtkWidget *self, ubl_settings_usergroups_user_window *window){
if (!strcmp(gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->userShellCombo)),SET_LABEL)){ const char *current = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->userShellCombo));
if (!yon_char_is_empty(current)&&!strcmp(current,SET_LABEL)){
if(gtk_combo_box_get_active(GTK_COMBO_BOX(window->userShellCombo))>1){ if(gtk_combo_box_get_active(GTK_COMBO_BOX(window->userShellCombo))>1){
gtk_widget_set_sensitive(window->userShellEntry,1); gtk_widget_set_sensitive(window->userShellEntry,1);
} else { } else {
@ -1180,6 +1214,9 @@ void on_user_save(GtkWidget *self, dictionary *dict){
yon_ubl_status_highlight_incorrect(window->userPasswordEntry); yon_ubl_status_highlight_incorrect(window->userPasswordEntry);
return; return;
} }
if (password[0]==' '&&password[1]=='.'&&password[2]==' '){
free(yon_char_divide(password,2));
}
} else { } else {
password="x"; password="x";
} }
@ -1333,6 +1370,10 @@ void on_user_save(GtkWidget *self, dictionary *dict){
NULL); NULL);
yon_config_register(USERADD(login),"users",final_user); yon_config_register(USERADD(login),"users",final_user);
yon_config_register(USERSHADOW(login),"users",shadow_string); yon_config_register(USERSHADOW(login),"users",shadow_string);
int home_delete = yon_char_parsed_check_exist(main_config.remove_homes,main_config.homes_size,login);
if (home_delete>-1){
yon_char_parsed_rip(main_config.remove_homes,&main_config.homes_size,home_delete);
}
if (!yon_char_is_empty(useradd_sync_string)) if (!yon_char_is_empty(useradd_sync_string))
yon_config_register(USERADD_SYNC(login),"users",useradd_sync_string); yon_config_register(USERADD_SYNC(login),"users",useradd_sync_string);
@ -1341,6 +1382,11 @@ void on_user_save(GtkWidget *self, dictionary *dict){
yon_config_register(USERSHADOW_SYNC(login),"users",usershadow_sync_string); yon_config_register(USERSHADOW_SYNC(login),"users",usershadow_sync_string);
GtkTreeIter iter; GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->UsersList); GtkTreeModel *model = GTK_TREE_MODEL(widgets->UsersList);
char *password_status=NULL;
if (password_active==0) password_status = DEFAULT_USER_LABEL;
else if (password_active==1) password_status = NO_PASSWORD_LABEL;
else if (password[0]=='%'&&password[1]=='%') password_status = UNENCRYPTED_LABEL;
else password_status = ENCRYPTED_LABEL;
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UsersTree)),&model,&iter)) if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UsersTree)),&model,&iter))
gtk_list_store_append(widgets->UsersList,&iter); gtk_list_store_append(widgets->UsersList,&iter);
gtk_list_store_set(widgets->UsersList,&iter, gtk_list_store_set(widgets->UsersList,&iter,
@ -1350,7 +1396,7 @@ void on_user_save(GtkWidget *self, dictionary *dict){
4,yon_char_return_if_exist(main_group,login), 4,yon_char_return_if_exist(main_group,login),
5,yon_char_return_if_exist(additional_groups,""), 5,yon_char_return_if_exist(additional_groups,""),
6,yon_char_unite(yon_char_return_if_exist(user_home,""),yon_char_return_if_exist(user_shell,""),yon_char_return_if_exist(create_system_user,""),yon_char_return_if_exist(create_ununique,""),yon_char_return_if_exist(do_not_check,""),NULL), 6,yon_char_unite(yon_char_return_if_exist(user_home,""),yon_char_return_if_exist(user_shell,""),yon_char_return_if_exist(create_system_user,""),yon_char_return_if_exist(create_ununique,""),yon_char_return_if_exist(do_not_check,""),NULL),
7,yon_char_return_if_exist(gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->userPasswordCombo)),""), 7,password_status,
-1); -1);
on_subwindow_close(self); on_subwindow_close(self);
} }
@ -1799,6 +1845,8 @@ void config_init(){
main_config.password_min_length=6; main_config.password_min_length=6;
main_config.sync_users = NULL; main_config.sync_users = NULL;
main_config.sync_size=0; main_config.sync_size=0;
main_config.homes_size=0;
main_config.remove_homes=NULL;
int login_size; int login_size;
config_str login_defs = yon_file_open(uid_path,&login_size); config_str login_defs = yon_file_open(uid_path,&login_size);
for (int i=0;i<login_size;i++){ for (int i=0;i<login_size;i++){
@ -2004,7 +2052,7 @@ int main(int argc, char *argv[]){
if(optarg) if(optarg)
main_config.load_socket_id=atoi(optarg); main_config.load_socket_id=atoi(optarg);
break; break;
case 'c': system(remove_config_dir_command); case 'c': if (system(remove_config_dir_command)){};
break; break;
case 1: case 1:
main_config.lock_help=1; main_config.lock_help=1;

@ -50,6 +50,8 @@
#define shadow_path "/etc/shadow" #define shadow_path "/etc/shadow"
#define uid_path "/etc/login.defs" #define uid_path "/etc/login.defs"
#define password_limits_path "/etc/security/pwquiality.conf" #define password_limits_path "/etc/security/pwquiality.conf"
#define get_home_command "getent passwd "$USER" | cut -d: -f6"
#define remove_home_dirs_command(users_string) yon_char_append("/usr/lib/ublinux/functions remove_userhome ", users_string)
#define hash_list_path "/usr/share/ubl-settings-usergroups/csv/hash_list.csv" #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" #define shell_list_path "/usr/share/ubl-settings-usergroups/csv/shell_list.csv"
@ -102,6 +104,8 @@ typedef struct {
int hash_default_id; int hash_default_id;
config_str sync_users; config_str sync_users;
int sync_size; int sync_size;
config_str remove_homes;
int homes_size;
} config; } config;
typedef struct { typedef struct {

@ -58,7 +58,8 @@
#define ADDITIONAL_SETTINGS_TITLE_LABEL _("Additional settings") #define ADDITIONAL_SETTINGS_TITLE_LABEL _("Additional settings")
#define NO_PASSWORD_LABEL _("No password required") #define NO_PASSWORD_LABEL _("No password required")
#define SET_PASSWORD_LABEL _("Set a password") #define SET_PASSWORD_LABEL _("Set a password")
#define ENDRYPTED_LABEL _("Endrypted password") #define ENCRYPTED_LABEL _("Encrypted password")
#define UNENCRYPTED_LABEL _("Unencrypted password")
#define MD5_LABEL "md5" #define MD5_LABEL "md5"
#define YESCRYPT_LABEL "yescrypt" #define YESCRYPT_LABEL "yescrypt"
#define SCRYPT_LABEL "scrypt" #define SCRYPT_LABEL "scrypt"

@ -25,6 +25,8 @@
<column type="gboolean"/> <column type="gboolean"/>
<!-- column-name gboolean3 --> <!-- column-name gboolean3 -->
<column type="gboolean"/> <column type="gboolean"/>
<!-- column-name gchararray3 -->
<column type="gchararray"/>
</columns> </columns>
</object> </object>
<object class="GtkWindow" id="Window"> <object class="GtkWindow" id="Window">
@ -71,8 +73,9 @@
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="margin-start">20</property> <property name="margin-start">20</property>
<property name="margin-end">20</property> <property name="margin-end">20</property>
<property name="margin-top">20</property> <property name="margin-top">10</property>
<property name="margin-bottom">20</property> <property name="margin-bottom">10</property>
<property name="pixel-size">50</property>
<property name="icon-name">dialog-question-symbolic</property> <property name="icon-name">dialog-question-symbolic</property>
<property name="icon_size">6</property> <property name="icon_size">6</property>
</object> </object>
@ -137,6 +140,17 @@
</child> </child>
</object> </object>
</child> </child>
<child>
<object class="GtkTreeViewColumn">
<property name="title" translatable="yes">User name</property>
<child>
<object class="GtkCellRendererText"/>
<attributes>
<attribute name="text">5</attribute>
</attributes>
</child>
</object>
</child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Home directory</property> <property name="title" translatable="yes">Home directory</property>

@ -39,10 +39,6 @@ background:transparent;
border-right-width:inherit; border-right-width:inherit;
} }
.menuitemmiddlemargin{
margin-top: 6px;
}
.menuitemtop{ .menuitemtop{
margin-bottom:0px; margin-bottom:0px;
border-color:inherit; border-color:inherit;
@ -50,17 +46,17 @@ background:transparent;
border-left-width:inherit; border-left-width:inherit;
border-right-width:inherit; border-right-width:inherit;
} }
.menuitemtop *{ .menuitemtop>*{
margin:4px 2px 0 2px; margin:2px 2px 0 2px;
padding: 3px 10px 3px 5px; padding: 3px 10px 3px 5px;
border:transparent; border:transparent;
} }
.menuitemmiddle *{ .menuitemmiddle>*{
margin:0 2px 0 2px; margin:0 2px 0 2px;
padding: 3px 10px 3px 5px; padding: 3px 10px 3px 5px;
border:transparent; border:transparent;
} }
.menuitembottom *{ .menuitembottom>*{
margin:0 2px 2px 2px; margin:0 2px 2px 2px;
padding: 3px 10px 3px 5px; padding: 3px 10px 3px 5px;
} }
@ -85,19 +81,19 @@ background:transparent;
border-right-width:inherit; border-right-width:inherit;
} }
.menuitemtop:hover* { .menuitemtop:hover>* {
margin:4px 2px 0 2px; margin:2px 2px 0 2px;
padding: 3px 10px 3px 5px; padding: 3px 10px 3px 5px;
background:@theme_selected_bg_color; background:@theme_selected_bg_color;
border-radius:2px; border-radius:2px;
} }
.menuitemmiddle:hover* { .menuitemmiddle:hover>* {
margin:0 2px 0 2px; margin:0 2px 0px 2px;
padding: 3px 10px 3px 5px; padding: 3px 10px 3px 5px;
background:@theme_selected_bg_color; background:@theme_selected_bg_color;
border-radius:2px; border-radius:2px;
} }
.menuitembottom:hover* { .menuitembottom:hover>* {
margin:0 2px 2px 2px; margin:0 2px 2px 2px;
padding: 3px 10px 3px 5px; padding: 3px 10px 3px 5px;
background:@theme_selected_bg_color; background:@theme_selected_bg_color;

@ -105,7 +105,7 @@ msgstr ""
msgid "UID" msgid "UID"
msgstr "" msgstr ""
#: source/ubl-strings.h:15 source/ubl-strings.h:83 #: source/ubl-strings.h:15 source/ubl-strings.h:84
msgid "Login" msgid "Login"
msgstr "" msgstr ""
@ -271,385 +271,385 @@ msgstr ""
msgid "Set a password" msgid "Set a password"
msgstr "" msgstr ""
#: source/ubl-strings.h:61 #: source/ubl-strings.h:61 source/ubl-strings.h:87
msgid "Endrypted password" msgid "Encrypted password"
msgstr "" msgstr ""
#: source/ubl-strings.h:74 #: source/ubl-strings.h:62
msgid "Accept" msgid "Unencrypted password"
msgstr "" msgstr ""
#: source/ubl-strings.h:77 #: source/ubl-strings.h:75
msgid "Configure group" msgid "Accept"
msgstr "" msgstr ""
#: source/ubl-strings.h:78 #: source/ubl-strings.h:78
msgid "Add group" msgid "Configure group"
msgstr "" msgstr ""
#: source/ubl-strings.h:79 #: source/ubl-strings.h:79
msgid "Group id:" msgid "Add group"
msgstr "" msgstr ""
#: source/ubl-strings.h:80 #: source/ubl-strings.h:80
msgid "Group name:" msgid "Group id:"
msgstr "" msgstr ""
#: source/ubl-strings.h:81 #: source/ubl-strings.h:81
msgid "Group users:" msgid "Group name:"
msgstr "" msgstr ""
#: source/ubl-strings.h:82 #: source/ubl-strings.h:82
msgid "Automatically" msgid "Group users:"
msgstr "" msgstr ""
#: source/ubl-strings.h:84 #: source/ubl-strings.h:83
msgid "Create group with ununique GID" msgid "Automatically"
msgstr "" msgstr ""
#: source/ubl-strings.h:85 #: source/ubl-strings.h:85
msgid "Create system group" msgid "Create group with ununique GID"
msgstr "" msgstr ""
#: source/ubl-strings.h:86 #: source/ubl-strings.h:86
msgid "Encrypted password" msgid "Create system group"
msgstr "" msgstr ""
#: source/ubl-strings.h:87 #: source/ubl-strings.h:88
msgid "Additional configuration" msgid "Additional configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:88 #: source/ubl-strings.h:89
msgid "Group configuration synchronization" msgid "Group configuration synchronization"
msgstr "" msgstr ""
#: source/ubl-strings.h:89 #: source/ubl-strings.h:90
msgid "When shutting down the system, save the group into the configuration" msgid "When shutting down the system, save the group into the configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:90 #: source/ubl-strings.h:91
msgid "Group administrators:" msgid "Group administrators:"
msgstr "" msgstr ""
#: source/ubl-strings.h:93 #: source/ubl-strings.h:94
msgid "Default groups" msgid "Default groups"
msgstr "" msgstr ""
#: source/ubl-strings.h:94 #: source/ubl-strings.h:95
msgid "Main group" msgid "Main group"
msgstr "" msgstr ""
#: source/ubl-strings.h:95 #: source/ubl-strings.h:96
msgid "Additional groups" msgid "Additional groups"
msgstr "" msgstr ""
#: source/ubl-strings.h:96 #: source/ubl-strings.h:97
msgid "Choose groups" msgid "Choose groups"
msgstr "" msgstr ""
#: source/ubl-strings.h:97 #: source/ubl-strings.h:98
msgid "Choose users" msgid "Choose users"
msgstr "" msgstr ""
#: source/ubl-strings.h:100 #: source/ubl-strings.h:101
msgid "System users and groups" msgid "System users and groups"
msgstr "" msgstr ""
#: source/ubl-strings.h:101 #: source/ubl-strings.h:102
msgid "Blocked" msgid "Blocked"
msgstr "" msgstr ""
#: source/ubl-strings.h:102 #: source/ubl-strings.h:103
msgid "Username" msgid "Username"
msgstr "" msgstr ""
#: source/ubl-strings.h:103 #: source/ubl-strings.h:104
msgid "" msgid ""
"Primary\n" "Primary\n"
"group" "group"
msgstr "" msgstr ""
#: source/ubl-strings.h:104 #: source/ubl-strings.h:105
msgid "" msgid ""
"Home\n" "Home\n"
"directory" "directory"
msgstr "" msgstr ""
#: source/ubl-strings.h:105 source/ubl-strings.h:111 #: source/ubl-strings.h:106 source/ubl-strings.h:112
msgid "Group" msgid "Group"
msgstr "" msgstr ""
#: source/ubl-strings.h:106 #: source/ubl-strings.h:107
msgid "Update the system users and groups list" msgid "Update the system users and groups list"
msgstr "" msgstr ""
#: source/ubl-strings.h:107 #: source/ubl-strings.h:108
msgid "Toggle system groups and users" msgid "Toggle system groups and users"
msgstr "" msgstr ""
#: source/ubl-strings.h:109 #: source/ubl-strings.h:110
msgid "Password mismatch" msgid "Password mismatch"
msgstr "" msgstr ""
#: source/ubl-strings.h:110 #: source/ubl-strings.h:111
msgid "Password must be at least" msgid "Password must be at least"
msgstr "" msgstr ""
#: source/ubl-strings.h:110 #: source/ubl-strings.h:111
msgid "characters" msgid "characters"
msgstr "" msgstr ""
#: source/ubl-strings.h:112 #: source/ubl-strings.h:113
msgid "" msgid ""
"Days until\n" "Days until\n"
"warning" "warning"
msgstr "" msgstr ""
#: source/ubl-strings.h:113 #: source/ubl-strings.h:114
msgid "" msgid ""
"Days\n" "Days\n"
"without activity" "without activity"
msgstr "" msgstr ""
#: source/ubl-strings.h:114 #: source/ubl-strings.h:115
msgid "" msgid ""
"Shell\n" "Shell\n"
"path" "path"
msgstr "" msgstr ""
#: source/ubl-strings.h:115 #: source/ubl-strings.h:116
msgid "" msgid ""
"Password has\n" "Password has\n"
"been changed" "been changed"
msgstr "" msgstr ""
#: source/ubl-strings.h:116 #: source/ubl-strings.h:117
msgid "" msgid ""
"Expiration\n" "Expiration\n"
"date" "date"
msgstr "" msgstr ""
#: source/ubl-strings.h:117 #: source/ubl-strings.h:118
msgid "" msgid ""
"Password change\n" "Password change\n"
"interval (min)" "interval (min)"
msgstr "" msgstr ""
#: source/ubl-strings.h:118 #: source/ubl-strings.h:119
msgid "" msgid ""
"Password change\n" "Password change\n"
"interval (max)" "interval (max)"
msgstr "" msgstr ""
#: source/ubl-strings.h:121 #: source/ubl-strings.h:122
msgid "Add user" msgid "Add user"
msgstr "" msgstr ""
#: source/ubl-strings.h:122 #: source/ubl-strings.h:123
msgid "Configure user" msgid "Configure user"
msgstr "" msgstr ""
#: source/ubl-strings.h:123 #: source/ubl-strings.h:124
msgid "Set" msgid "Set"
msgstr "" msgstr ""
#: source/ubl-strings.h:124 #: source/ubl-strings.h:125
msgid "Empty important field" msgid "Empty important field"
msgstr "" msgstr ""
#: source/ubl-strings.h:125 #: source/ubl-strings.h:126
msgid "Loading has failed" msgid "Loading has failed"
msgstr "" msgstr ""
#: source/ubl-strings.h:126 #: source/ubl-strings.h:127
msgid "Login name" msgid "Login name"
msgstr "" msgstr ""
#: source/ubl-strings.h:127 #: source/ubl-strings.h:128
msgid "Additional groups:" msgid "Additional groups:"
msgstr "" msgstr ""
#: source/ubl-strings.h:128 #: source/ubl-strings.h:129
msgid "Password configuration" msgid "Password configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:129 #: source/ubl-strings.h:130
msgid "Password has been changed:" msgid "Password has been changed:"
msgstr "" msgstr ""
#: source/ubl-strings.h:130 #: source/ubl-strings.h:131
msgid "expiration date:" msgid "expiration date:"
msgstr "" msgstr ""
#: source/ubl-strings.h:131 #: source/ubl-strings.h:132
msgid "Password change interval: minimum" msgid "Password change interval: minimum"
msgstr "" msgstr ""
#: source/ubl-strings.h:132 #: source/ubl-strings.h:133
msgid "days, maximum" msgid "days, maximum"
msgstr "" msgstr ""
#: source/ubl-strings.h:133 #: source/ubl-strings.h:134
msgid "days" msgid "days"
msgstr "" msgstr ""
#: source/ubl-strings.h:134 #: source/ubl-strings.h:135
msgid "Days until warning:" msgid "Days until warning:"
msgstr "" msgstr ""
#: source/ubl-strings.h:135 #: source/ubl-strings.h:136
msgid "Days without activity:" msgid "Days without activity:"
msgstr "" msgstr ""
#: source/ubl-strings.h:136 #: source/ubl-strings.h:137
msgid "Force change at next login" msgid "Force change at next login"
msgstr "" msgstr ""
#: source/ubl-strings.h:137 #: source/ubl-strings.h:138
msgid "User shell:" msgid "User shell:"
msgstr "" msgstr ""
#: source/ubl-strings.h:138 #: source/ubl-strings.h:139
msgid "Home directory:" msgid "Home directory:"
msgstr "" msgstr ""
#: source/ubl-strings.h:139 #: source/ubl-strings.h:140
msgid "Don't set" msgid "Don't set"
msgstr "" msgstr ""
#: source/ubl-strings.h:140 #: source/ubl-strings.h:141
msgid "Create system user" msgid "Create system user"
msgstr "" msgstr ""
#: source/ubl-strings.h:141 #: source/ubl-strings.h:142
msgid "Create user with ununique (repeating) UID" msgid "Create user with ununique (repeating) UID"
msgstr "" msgstr ""
#: source/ubl-strings.h:142 #: source/ubl-strings.h:143
msgid "Do not check login for compliance with character rules" msgid "Do not check login for compliance with character rules"
msgstr "" msgstr ""
#: source/ubl-strings.h:143 #: source/ubl-strings.h:144
msgid "Temporary deactivation" msgid "Temporary deactivation"
msgstr "" msgstr ""
#: source/ubl-strings.h:144 #: source/ubl-strings.h:145
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: source/ubl-strings.h:145 #: source/ubl-strings.h:146
msgid "login_name" msgid "login_name"
msgstr "" msgstr ""
#: source/ubl-strings.h:146 #: source/ubl-strings.h:147
msgid "group_name" msgid "group_name"
msgstr "" msgstr ""
#: source/ubl-strings.h:147 #: source/ubl-strings.h:148
msgid "User name" msgid "User name"
msgstr "" msgstr ""
#: source/ubl-strings.h:148 #: source/ubl-strings.h:149
msgid "Sync user" msgid "Sync user"
msgstr "" msgstr ""
#: source/ubl-strings.h:149 #: source/ubl-strings.h:150
msgid "Sync user with password" msgid "Sync user with password"
msgstr "" msgstr ""
#: source/ubl-strings.h:150 #: source/ubl-strings.h:151
msgid "Encrypt all passwords" msgid "Encrypt all passwords"
msgstr "" msgstr ""
#: source/ubl-strings.h:152 #: source/ubl-strings.h:153
msgid "User configuration" msgid "User configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:153 #: source/ubl-strings.h:154
msgid "User configuration synchronization" msgid "User configuration synchronization"
msgstr "" msgstr ""
#: source/ubl-strings.h:154 #: source/ubl-strings.h:155
msgid "During system startup, load the user from the configuration" msgid "During system startup, load the user from the configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:155 #: source/ubl-strings.h:156
msgid "When shutting down the system, save the user into the configuration" msgid "When shutting down the system, save the user into the configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:156 #: source/ubl-strings.h:157
msgid "User password configuration syncronization" msgid "User password configuration syncronization"
msgstr "" msgstr ""
#: source/ubl-strings.h:157 #: source/ubl-strings.h:158
msgid "" msgid ""
"During system startup, load the user's parameters from the configuration" "During system startup, load the user's parameters from the configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:158 #: source/ubl-strings.h:159
msgid "" msgid ""
"When shutting down the system, save the user's parameters into the " "When shutting down the system, save the user's parameters into the "
"configuration" "configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:160 #: source/ubl-strings.h:161
msgid "Main" msgid "Main"
msgstr "" msgstr ""
#: source/ubl-strings.h:161 #: source/ubl-strings.h:162
msgid "Additional" msgid "Additional"
msgstr "" msgstr ""
#: source/ubl-strings.h:162 #: source/ubl-strings.h:163
msgid "Syncronization" msgid "Syncronization"
msgstr "" msgstr ""
#: source/ubl-strings.h:165 #: source/ubl-strings.h:166
msgid "Repeat password:" msgid "Repeat password:"
msgstr "" msgstr ""
#: source/ubl-strings.h:166 #: source/ubl-strings.h:167
msgid "Password hash:" msgid "Password hash:"
msgstr "" msgstr ""
#: source/ubl-strings.h:167 #: source/ubl-strings.h:168
msgid "Do not encrypt password" msgid "Do not encrypt password"
msgstr "" msgstr ""
#: source/ubl-strings.h:170 #: source/ubl-strings.h:171
msgid "Additional configuration of service parameter saving" msgid "Additional configuration of service parameter saving"
msgstr "" msgstr ""
#: source/ubl-strings.h:171 #: source/ubl-strings.h:172
msgid "" msgid ""
"At every system shutdown save changes of (root)/var/lib/samba\n" "At every system shutdown save changes of (root)/var/lib/samba\n"
"into (hd)/ublinux-data/rootcopy" "into (hd)/ublinux-data/rootcopy"
msgstr "" msgstr ""
#: source/ubl-strings.h:172 #: source/ubl-strings.h:173
msgid "For system save mode \"Sandbox\"" msgid "For system save mode \"Sandbox\""
msgstr "" msgstr ""
#: source/ubl-strings.h:175 #: source/ubl-strings.h:176
msgid "User deletion" msgid "User deletion"
msgstr "" msgstr ""
#: source/ubl-strings.h:176 #: source/ubl-strings.h:177
msgid "Confirm user(-s) deletion:" msgid "Confirm user(-s) deletion:"
msgstr "" msgstr ""
#: source/ubl-strings.h:177 #: source/ubl-strings.h:178
msgid "Chosen" msgid "Chosen"
msgstr "" msgstr ""
#: source/ubl-strings.h:178 #: source/ubl-strings.h:179
msgid "User" msgid "User"
msgstr "" msgstr ""
#: source/ubl-strings.h:179 #: source/ubl-strings.h:180
msgid "Home directory" msgid "Home directory"
msgstr "" msgstr ""
#: source/ubl-strings.h:180 #: source/ubl-strings.h:181
msgid "Delete home directory" msgid "Delete home directory"
msgstr "" msgstr ""

@ -107,7 +107,7 @@ msgstr "Алгоритм хэширования пароля:"
msgid "UID" msgid "UID"
msgstr "UID" msgstr "UID"
#: source/ubl-strings.h:15 source/ubl-strings.h:83 #: source/ubl-strings.h:15 source/ubl-strings.h:84
msgid "Login" msgid "Login"
msgstr "Логин" msgstr "Логин"
@ -287,99 +287,99 @@ msgstr "Пароль не требуется"
msgid "Set a password" msgid "Set a password"
msgstr "Задать пароль" msgstr "Задать пароль"
#: source/ubl-strings.h:61 #: source/ubl-strings.h:61 source/ubl-strings.h:87
msgid "Endrypted password" msgid "Encrypted password"
msgstr "Зашифрованный пароль" msgstr "Зашифрованный пароль"
#: source/ubl-strings.h:74 #: source/ubl-strings.h:62
msgid "Unencrypted password"
msgstr "Незашифрованный пароль"
#: source/ubl-strings.h:75
msgid "Accept" msgid "Accept"
msgstr "Принять" msgstr "Принять"
#: source/ubl-strings.h:77 #: source/ubl-strings.h:78
msgid "Configure group" msgid "Configure group"
msgstr "Редактировать группу" msgstr "Редактировать группу"
#: source/ubl-strings.h:78 #: source/ubl-strings.h:79
msgid "Add group" msgid "Add group"
msgstr "Добавить группу" msgstr "Добавить группу"
#: source/ubl-strings.h:79 #: source/ubl-strings.h:80
msgid "Group id:" msgid "Group id:"
msgstr "ID Группы:" msgstr "ID Группы:"
#: source/ubl-strings.h:80 #: source/ubl-strings.h:81
msgid "Group name:" msgid "Group name:"
msgstr "Имя группы:" msgstr "Имя группы:"
#: source/ubl-strings.h:81 #: source/ubl-strings.h:82
msgid "Group users:" msgid "Group users:"
msgstr "Пользователи группы:" msgstr "Пользователи группы:"
#: source/ubl-strings.h:82 #: source/ubl-strings.h:83
msgid "Automatically" msgid "Automatically"
msgstr "Автоматически" msgstr "Автоматически"
#: source/ubl-strings.h:84 #: source/ubl-strings.h:85
msgid "Create group with ununique GID" msgid "Create group with ununique GID"
msgstr "Создать группу с повторяющимися (не уникальными) GID" msgstr "Создать группу с повторяющимися (не уникальными) GID"
#: source/ubl-strings.h:85 #: source/ubl-strings.h:86
msgid "Create system group" msgid "Create system group"
msgstr "Создать системную группу" msgstr "Создать системную группу"
#: source/ubl-strings.h:86 #: source/ubl-strings.h:88
msgid "Encrypted password"
msgstr "Зашифрованный пароль"
#: source/ubl-strings.h:87
msgid "Additional configuration" msgid "Additional configuration"
msgstr "Дополнительные настройки" msgstr "Дополнительные настройки"
#: source/ubl-strings.h:88 #: source/ubl-strings.h:89
msgid "Group configuration synchronization" msgid "Group configuration synchronization"
msgstr "Синхронизация настроек группы" msgstr "Синхронизация настроек группы"
#: source/ubl-strings.h:89 #: source/ubl-strings.h:90
msgid "When shutting down the system, save the group into the configuration" msgid "When shutting down the system, save the group into the configuration"
msgstr "При завершении работы системы сохранить группу в конфигурацию" msgstr "При завершении работы системы сохранить группу в конфигурацию"
#: source/ubl-strings.h:90 #: source/ubl-strings.h:91
msgid "Group administrators:" msgid "Group administrators:"
msgstr "Администраторы группы:" msgstr "Администраторы группы:"
#: source/ubl-strings.h:93 #: source/ubl-strings.h:94
msgid "Default groups" msgid "Default groups"
msgstr "Группы пользователей по умолчанию" msgstr "Группы пользователей по умолчанию"
#: source/ubl-strings.h:94 #: source/ubl-strings.h:95
msgid "Main group" msgid "Main group"
msgstr "Основная группа" msgstr "Основная группа"
#: source/ubl-strings.h:95 #: source/ubl-strings.h:96
msgid "Additional groups" msgid "Additional groups"
msgstr "Дополнительные группы" msgstr "Дополнительные группы"
#: source/ubl-strings.h:96 #: source/ubl-strings.h:97
msgid "Choose groups" msgid "Choose groups"
msgstr "Выбрать группы" msgstr "Выбрать группы"
#: source/ubl-strings.h:97 #: source/ubl-strings.h:98
msgid "Choose users" msgid "Choose users"
msgstr "Выбрать пользователей" msgstr "Выбрать пользователей"
#: source/ubl-strings.h:100 #: source/ubl-strings.h:101
msgid "System users and groups" msgid "System users and groups"
msgstr "Пользователи и группы в системе" msgstr "Пользователи и группы в системе"
#: source/ubl-strings.h:101 #: source/ubl-strings.h:102
msgid "Blocked" msgid "Blocked"
msgstr "Заблокировано" msgstr "Заблокировано"
#: source/ubl-strings.h:102 #: source/ubl-strings.h:103
msgid "Username" msgid "Username"
msgstr "Имя пользователя" msgstr "Имя пользователя"
#: source/ubl-strings.h:103 #: source/ubl-strings.h:104
msgid "" msgid ""
"Primary\n" "Primary\n"
"group" "group"
@ -387,7 +387,7 @@ msgstr ""
"Основная\n" "Основная\n"
"группа" "группа"
#: source/ubl-strings.h:104 #: source/ubl-strings.h:105
msgid "" msgid ""
"Home\n" "Home\n"
"directory" "directory"
@ -395,31 +395,31 @@ msgstr ""
"Домашний\n" "Домашний\n"
"каталог" "каталог"
#: source/ubl-strings.h:105 source/ubl-strings.h:111 #: source/ubl-strings.h:106 source/ubl-strings.h:112
msgid "Group" msgid "Group"
msgstr "Группа" msgstr "Группа"
#: source/ubl-strings.h:106 #: source/ubl-strings.h:107
msgid "Update the system users and groups list" msgid "Update the system users and groups list"
msgstr "Обновить список пользователей и групп системы" msgstr "Обновить список пользователей и групп системы"
#: source/ubl-strings.h:107 #: source/ubl-strings.h:108
msgid "Toggle system groups and users" msgid "Toggle system groups and users"
msgstr "Переключить видимость системных пользователей и групп" msgstr "Переключить видимость системных пользователей и групп"
#: source/ubl-strings.h:109 #: source/ubl-strings.h:110
msgid "Password mismatch" msgid "Password mismatch"
msgstr "Несовпадение паролей" msgstr "Несовпадение паролей"
#: source/ubl-strings.h:110 #: source/ubl-strings.h:111
msgid "Password must be at least" msgid "Password must be at least"
msgstr "Пароль должен состоять из как минимум" msgstr "Пароль должен состоять из как минимум"
#: source/ubl-strings.h:110 #: source/ubl-strings.h:111
msgid "characters" msgid "characters"
msgstr "символов" msgstr "символов"
#: source/ubl-strings.h:112 #: source/ubl-strings.h:113
msgid "" msgid ""
"Days until\n" "Days until\n"
"warning" "warning"
@ -427,7 +427,7 @@ msgstr ""
"Дней до\n" "Дней до\n"
"предупреждения" "предупреждения"
#: source/ubl-strings.h:113 #: source/ubl-strings.h:114
msgid "" msgid ""
"Days\n" "Days\n"
"without activity" "without activity"
@ -435,7 +435,7 @@ msgstr ""
"Дней без\n" "Дней без\n"
"активности" "активности"
#: source/ubl-strings.h:114 #: source/ubl-strings.h:115
msgid "" msgid ""
"Shell\n" "Shell\n"
"path" "path"
@ -443,7 +443,7 @@ msgstr ""
"Путь до\n" "Путь до\n"
"оболочки" "оболочки"
#: source/ubl-strings.h:115 #: source/ubl-strings.h:116
msgid "" msgid ""
"Password has\n" "Password has\n"
"been changed" "been changed"
@ -451,7 +451,7 @@ msgstr ""
"Пароль\n" "Пароль\n"
"изменён" "изменён"
#: source/ubl-strings.h:116 #: source/ubl-strings.h:117
msgid "" msgid ""
"Expiration\n" "Expiration\n"
"date" "date"
@ -459,7 +459,7 @@ msgstr ""
"Дата\n" "Дата\n"
"устаревания" "устаревания"
#: source/ubl-strings.h:117 #: source/ubl-strings.h:118
msgid "" msgid ""
"Password change\n" "Password change\n"
"interval (min)" "interval (min)"
@ -467,7 +467,7 @@ msgstr ""
"Интервал смены\n" "Интервал смены\n"
"пароля (мин.)" "пароля (мин.)"
#: source/ubl-strings.h:118 #: source/ubl-strings.h:119
msgid "" msgid ""
"Password change\n" "Password change\n"
"interval (max)" "interval (max)"
@ -475,187 +475,187 @@ msgstr ""
"Интервал смены\n" "Интервал смены\n"
"пароля (макс.)" "пароля (макс.)"
#: source/ubl-strings.h:121 #: source/ubl-strings.h:122
msgid "Add user" msgid "Add user"
msgstr "Добавить пользователя" msgstr "Добавить пользователя"
#: source/ubl-strings.h:122 #: source/ubl-strings.h:123
msgid "Configure user" msgid "Configure user"
msgstr "Редактировать пользователя" msgstr "Редактировать пользователя"
#: source/ubl-strings.h:123 #: source/ubl-strings.h:124
msgid "Set" msgid "Set"
msgstr "Задать" msgstr "Задать"
#: source/ubl-strings.h:124 #: source/ubl-strings.h:125
msgid "Empty important field" msgid "Empty important field"
msgstr "Пустое важное поле" msgstr "Пустое важное поле"
#: source/ubl-strings.h:125 #: source/ubl-strings.h:126
msgid "Loading has failed" msgid "Loading has failed"
msgstr "Ошибка загрузки" msgstr "Ошибка загрузки"
#: source/ubl-strings.h:126 #: source/ubl-strings.h:127
msgid "Login name" msgid "Login name"
msgstr "Имя логина" msgstr "Имя логина"
#: source/ubl-strings.h:127 #: source/ubl-strings.h:128
msgid "Additional groups:" msgid "Additional groups:"
msgstr "Дополнительные группы:" msgstr "Дополнительные группы:"
#: source/ubl-strings.h:128 #: source/ubl-strings.h:129
msgid "Password configuration" msgid "Password configuration"
msgstr "Конфигурация пароля" msgstr "Конфигурация пароля"
#: source/ubl-strings.h:129 #: source/ubl-strings.h:130
msgid "Password has been changed:" msgid "Password has been changed:"
msgstr "Пароль изменён:" msgstr "Пароль изменён:"
#: source/ubl-strings.h:130 #: source/ubl-strings.h:131
msgid "expiration date:" msgid "expiration date:"
msgstr "Дата устаревания:" msgstr "Дата устаревания:"
#: source/ubl-strings.h:131 #: source/ubl-strings.h:132
msgid "Password change interval: minimum" msgid "Password change interval: minimum"
msgstr "Интервал смены пароля: минимум" msgstr "Интервал смены пароля: минимум"
#: source/ubl-strings.h:132 #: source/ubl-strings.h:133
msgid "days, maximum" msgid "days, maximum"
msgstr "дней, максимум" msgstr "дней, максимум"
#: source/ubl-strings.h:133 #: source/ubl-strings.h:134
msgid "days" msgid "days"
msgstr "дней" msgstr "дней"
#: source/ubl-strings.h:134 #: source/ubl-strings.h:135
msgid "Days until warning:" msgid "Days until warning:"
msgstr "Дней до предупреждения:" msgstr "Дней до предупреждения:"
#: source/ubl-strings.h:135 #: source/ubl-strings.h:136
msgid "Days without activity:" msgid "Days without activity:"
msgstr "Дней без активности:" msgstr "Дней без активности:"
#: source/ubl-strings.h:136 #: source/ubl-strings.h:137
msgid "Force change at next login" msgid "Force change at next login"
msgstr "Принудительно сменить при следующем входе в систему" msgstr "Принудительно сменить при следующем входе в систему"
#: source/ubl-strings.h:137 #: source/ubl-strings.h:138
msgid "User shell:" msgid "User shell:"
msgstr "Оболочка пользователя:" msgstr "Оболочка пользователя:"
#: source/ubl-strings.h:138 #: source/ubl-strings.h:139
msgid "Home directory:" msgid "Home directory:"
msgstr "Домашний каталог:" msgstr "Домашний каталог:"
#: source/ubl-strings.h:139 #: source/ubl-strings.h:140
msgid "Don't set" msgid "Don't set"
msgstr "Не создавать" msgstr "Не создавать"
#: source/ubl-strings.h:140 #: source/ubl-strings.h:141
msgid "Create system user" msgid "Create system user"
msgstr "Создать системного пользователя" msgstr "Создать системного пользователя"
#: source/ubl-strings.h:141 #: source/ubl-strings.h:142
msgid "Create user with ununique (repeating) UID" msgid "Create user with ununique (repeating) UID"
msgstr "Создать пользователя с повторяющимися (не уникальными) UID" msgstr "Создать пользователя с повторяющимися (не уникальными) UID"
#: source/ubl-strings.h:142 #: source/ubl-strings.h:143
msgid "Do not check login for compliance with character rules" msgid "Do not check login for compliance with character rules"
msgstr "Не проверять логин на несоответствие правилам использования символов" msgstr "Не проверять логин на несоответствие правилам использования символов"
#: source/ubl-strings.h:143 #: source/ubl-strings.h:144
msgid "Temporary deactivation" msgid "Temporary deactivation"
msgstr "Временное отключение учётной записи" msgstr "Временное отключение учётной записи"
#: source/ubl-strings.h:144 #: source/ubl-strings.h:145
msgid "Save" msgid "Save"
msgstr "Сохранить" msgstr "Сохранить"
#: source/ubl-strings.h:145 #: source/ubl-strings.h:146
msgid "login_name" msgid "login_name"
msgstr "Имя_логина" msgstr "Имя_логина"
#: source/ubl-strings.h:146 #: source/ubl-strings.h:147
msgid "group_name" msgid "group_name"
msgstr "Имя_группы" msgstr "Имя_группы"
#: source/ubl-strings.h:147 #: source/ubl-strings.h:148
msgid "User name" msgid "User name"
msgstr "Имя пользователя" msgstr "Имя пользователя"
#: source/ubl-strings.h:148 #: source/ubl-strings.h:149
msgid "Sync user" msgid "Sync user"
msgstr "Синхронизировать пользователя" msgstr "Синхронизировать пользователя"
#: source/ubl-strings.h:149 #: source/ubl-strings.h:150
msgid "Sync user with password" msgid "Sync user with password"
msgstr "Синхронизировать пользователя с паролем" msgstr "Синхронизировать пользователя с паролем"
#: source/ubl-strings.h:150 #: source/ubl-strings.h:151
msgid "Encrypt all passwords" msgid "Encrypt all passwords"
msgstr "Зашифровать все пароли" msgstr "Зашифровать все пароли"
#: source/ubl-strings.h:152 #: source/ubl-strings.h:153
msgid "User configuration" msgid "User configuration"
msgstr "Настройка пользователя" msgstr "Настройка пользователя"
#: source/ubl-strings.h:153 #: source/ubl-strings.h:154
msgid "User configuration synchronization" msgid "User configuration synchronization"
msgstr "Синхронизация настроек пользователя" msgstr "Синхронизация настроек пользователя"
#: source/ubl-strings.h:154 #: source/ubl-strings.h:155
msgid "During system startup, load the user from the configuration" msgid "During system startup, load the user from the configuration"
msgstr "При загрузке системы загрузить пользователя из конфигурации" msgstr "При загрузке системы загрузить пользователя из конфигурации"
#: source/ubl-strings.h:155 #: source/ubl-strings.h:156
msgid "When shutting down the system, save the user into the configuration" msgid "When shutting down the system, save the user into the configuration"
msgstr "При завершении работы системы сохранить пользователя в конфигурацию" msgstr "При завершении работы системы сохранить пользователя в конфигурацию"
#: source/ubl-strings.h:156 #: source/ubl-strings.h:157
msgid "User password configuration syncronization" msgid "User password configuration syncronization"
msgstr "Синхронизация настроек пароля пользователя" msgstr "Синхронизация настроек пароля пользователя"
#: source/ubl-strings.h:157 #: source/ubl-strings.h:158
msgid "" msgid ""
"During system startup, load the user's parameters from the configuration" "During system startup, load the user's parameters from the configuration"
msgstr "При загрузке системы загрузить параметры пользователя из конфигурации" msgstr "При загрузке системы загрузить параметры пользователя из конфигурации"
#: source/ubl-strings.h:158 #: source/ubl-strings.h:159
msgid "" msgid ""
"When shutting down the system, save the user's parameters into the " "When shutting down the system, save the user's parameters into the "
"configuration" "configuration"
msgstr "" msgstr ""
"При завершении работы системы сохранить параметры пользователя в конфигурацию" "При завершении работы системы сохранить параметры пользователя в конфигурацию"
#: source/ubl-strings.h:160 #: source/ubl-strings.h:161
msgid "Main" msgid "Main"
msgstr "Основные" msgstr "Основные"
#: source/ubl-strings.h:161 #: source/ubl-strings.h:162
msgid "Additional" msgid "Additional"
msgstr "Дополнительные" msgstr "Дополнительные"
#: source/ubl-strings.h:162 #: source/ubl-strings.h:163
msgid "Syncronization" msgid "Syncronization"
msgstr "Синхронизация" msgstr "Синхронизация"
#: source/ubl-strings.h:165 #: source/ubl-strings.h:166
msgid "Repeat password:" msgid "Repeat password:"
msgstr "Подтверждение пароля:" msgstr "Подтверждение пароля:"
#: source/ubl-strings.h:166 #: source/ubl-strings.h:167
msgid "Password hash:" msgid "Password hash:"
msgstr "Хэш пароля:" msgstr "Хэш пароля:"
#: source/ubl-strings.h:167 #: source/ubl-strings.h:168
msgid "Do not encrypt password" msgid "Do not encrypt password"
msgstr "Не шифровать пароль" msgstr "Не шифровать пароль"
#: source/ubl-strings.h:170 #: source/ubl-strings.h:171
msgid "Additional configuration of service parameter saving" msgid "Additional configuration of service parameter saving"
msgstr "Дополнительные настройки сохранения параметров сервисов" msgstr "Дополнительные настройки сохранения параметров сервисов"
#: source/ubl-strings.h:171 #: source/ubl-strings.h:172
msgid "" msgid ""
"At every system shutdown save changes of (root)/var/lib/samba\n" "At every system shutdown save changes of (root)/var/lib/samba\n"
"into (hd)/ublinux-data/rootcopy" "into (hd)/ublinux-data/rootcopy"
@ -663,30 +663,33 @@ msgstr ""
"При каждом завершении работы ОС сохранять изменения (root)/var/lib/samba\n" "При каждом завершении работы ОС сохранять изменения (root)/var/lib/samba\n"
"в (hd)/ublinux-data/rootcopy/" "в (hd)/ublinux-data/rootcopy/"
#: source/ubl-strings.h:172 #: source/ubl-strings.h:173
msgid "For system save mode \"Sandbox\"" msgid "For system save mode \"Sandbox\""
msgstr "Для режима сохранения системы \"Песочница\"" msgstr "Для режима сохранения системы \"Песочница\""
#: source/ubl-strings.h:175 #: source/ubl-strings.h:176
msgid "User deletion" msgid "User deletion"
msgstr "Удаление пользователя(-лей)" msgstr "Удаление пользователя(-лей)"
#: source/ubl-strings.h:176 #: source/ubl-strings.h:177
msgid "Confirm user(-s) deletion:" msgid "Confirm user(-s) deletion:"
msgstr "Подтвердите удаление пользователя (-ей):" msgstr "Подтвердите удаление пользователя (-ей):"
#: source/ubl-strings.h:177 #: source/ubl-strings.h:178
msgid "Chosen" msgid "Chosen"
msgstr "Выбран" msgstr "Выбран"
#: source/ubl-strings.h:178 #: source/ubl-strings.h:179
msgid "User" msgid "User"
msgstr "Пользователь" msgstr "Пользователь"
#: source/ubl-strings.h:179 #: source/ubl-strings.h:180
msgid "Home directory" msgid "Home directory"
msgstr "Домашний каталог" msgstr "Домашний каталог"
#: source/ubl-strings.h:180 #: source/ubl-strings.h:181
msgid "Delete home directory" msgid "Delete home directory"
msgstr "Удалить домашний каталог" msgstr "Удалить домашний каталог"
#~ msgid "Endrypted password"
#~ msgstr "Зашифрованный пароль"

Loading…
Cancel
Save