master #129

Merged
asmeron merged 14 commits from YanTheKaller/ubl-settings-usergroups:master into master 2 years ago

@ -72,6 +72,8 @@ void yon_interface_update(main_window *widgets){
login = yon_char_divide_search(parameters[0],"=",-1); login = yon_char_divide_search(parameters[0],"=",-1);
login[strlen(login)-1]='\0'; login[strlen(login)-1]='\0';
} }
if(!strcmp(parameters[0],"x"))
parameters[0]="";
if (parameters_size>1&&!strcmp(parameters[1],"x")) parameters[1]=AUTOMATICALLY_LABEL; if (parameters_size>1&&!strcmp(parameters[1],"x")) parameters[1]=AUTOMATICALLY_LABEL;
if (parameters_size>2&&!strcmp(parameters[2],"x")) parameters[2]=login; if (parameters_size>2&&!strcmp(parameters[2],"x")) parameters[2]=login;
char *pars = ""; char *pars = "";
@ -491,17 +493,15 @@ void yon_delete_confirmation_open(main_window *widgets){
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,*username,*parameters,*homedir=NULL; char *name,*username,*parameters,*homedir=NULL;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&iter,2,&name,3,&username,6,&parameters,-1); gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&iter,2,&name,3,&username,6,&parameters,-1);
int found = yon_char_parsed_check_exist(main_config.users,main_config.users_size,yon_char_append(name,":")); int size;
config_str home = yon_config_load(get_home_command(name),&size);
if (found>-1){ if (size>0&&!yon_char_is_empty(home[0])){
int parsed_size; if (home[0][strlen(home[0])-1]=='\n') home[0][strlen(home[0])-1]='\0';
config_str parsed = yon_char_parse(main_config.users[found],&parsed_size,":"); homedir=home[0];
if (parsed_size>5&&!yon_char_is_empty(parsed[5])&&strcmp(parsed[5],"x")){ } else {
homedir = NULL;
homedir = yon_char_new(parsed[5]);
}
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);
@ -865,7 +865,8 @@ void on_ubl_settings_usergroups_additional_settings_open(GtkWidget *self, main_w
void on_user_choose(GtkWidget *self, GtkEntry *target){ void on_user_choose(GtkWidget *self, GtkEntry *target){
ubl_settings_usergroups_group_window *window = yon_ubl_settings_usergroups_group_new(); ubl_settings_usergroups_group_window *window = yon_ubl_settings_usergroups_group_new();
gtk_label_set_text(GTK_LABEL(window->HeaderLabel),GROUP_USERS_TITLE_LABEL); gtk_label_set_text(GTK_LABEL(window->HeaderLabel),GROUP_USERS_TITLE_LABEL);
gtk_label_set_text(GTK_LABEL(window->HeaderLabel),GROUP_USERS_TITLE_LABEL); gtk_label_set_text(GTK_LABEL(window->HeaderLabel),GROUP_USERS_TITLE_LABEL);
gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(window->GroupColumn),USERS_LABEL);
GtkTreeIter iter, itar; GtkTreeIter iter, itar;
char *output = (char*)gtk_entry_get_text(target); char *output = (char*)gtk_entry_get_text(target);
int size=0; int size=0;
@ -1095,6 +1096,7 @@ ubl_settings_usergroups_group_window *yon_ubl_settings_usergroups_group_new(){
window->GroupsOkButton=yon_gtk_builder_get_widget(builder,"GroupsOkButton"); window->GroupsOkButton=yon_gtk_builder_get_widget(builder,"GroupsOkButton");
window->HeaderLabel=yon_gtk_builder_get_widget(builder,"HeaderLabel"); window->HeaderLabel=yon_gtk_builder_get_widget(builder,"HeaderLabel");
window->StatusCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"StatusCell")); window->StatusCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"StatusCell"));
window->GroupColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder,"GroupColumn"));
window->list = gtk_list_store_new(2,G_TYPE_BOOLEAN,G_TYPE_STRING); window->list = gtk_list_store_new(2,G_TYPE_BOOLEAN,G_TYPE_STRING);
yon_window_config_custom_window_setup(GTK_WINDOW(window->GroupsWindow),"GroupWindow"); yon_window_config_custom_window_setup(GTK_WINDOW(window->GroupsWindow),"GroupWindow");
@ -1288,7 +1290,7 @@ void yon_system_load(ubl_settings_usergroups_system_window *window){
yon_char_parsed_free(parsed_group,parsed_gr_size); yon_char_parsed_free(parsed_group,parsed_gr_size);
} }
gtk_list_store_append(window->liststore1,&iter); gtk_list_store_append(window->liststore1,&iter);
gtk_list_store_set(window->liststore1,&iter,1,atol(parsed[2]),2,parsed[0],3,parsed[0],4,main_group_name,5,groups_string,6,parsed[5],-1); 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); yon_char_parsed_free(parsed,parsed_size);
} }
@ -1328,19 +1330,21 @@ void on_system_update(GtkWidget *self, ubl_settings_usergroups_system_window *wi
for (int i=0;i<login_size;i++){ for (int i=0;i<login_size;i++){
if (login_defs[i][0]!='#'){ if (login_defs[i][0]!='#'){
char *copy = yon_char_new(login_defs[i]); char *copy = yon_char_new(login_defs[i]);
char *divided = yon_char_divide(copy,7); if (strlen(copy)>7){
if (divided){ char *divided = yon_char_divide(copy,7);
if (!strcmp(divided,"UID_MAX")){ if (divided){
main_config.MAXUID = atol(strstr(login_defs[i],"\t")); if (!strcmp(divided,"UID_MAX")){
} main_config.MAXUID = atol(strstr(login_defs[i],"\t"));
else if (!strcmp(divided,"UID_MIN")){ }
main_config.MINUID = atol(strstr(login_defs[i],"\t")); else if (!strcmp(divided,"UID_MIN")){
} main_config.MINUID = atol(strstr(login_defs[i],"\t"));
else if (!strcmp(divided,"GID_MAX")){ }
main_config.MAXGID = atol(strstr(login_defs[i],"\t")); else if (!strcmp(divided,"GID_MAX")){
} main_config.MAXGID = atol(strstr(login_defs[i],"\t"));
else if (!strcmp(divided,"GID_MIN")){ }
main_config.MINGID = atol(strstr(login_defs[i],"\t")); else if (!strcmp(divided,"GID_MIN")){
main_config.MINGID = atol(strstr(login_defs[i],"\t"));
}
} }
} }
} }
@ -1436,11 +1440,6 @@ void on_user_login_update(GtkWidget *self, ubl_settings_usergroups_user_window *
} else { } else {
gtk_entry_set_text(GTK_ENTRY(window->userGroupsEntry),""); gtk_entry_set_text(GTK_ENTRY(window->userGroupsEntry),"");
} }
if (gtk_combo_box_get_active(GTK_COMBO_BOX(window->userHomeCombo))==0){
char *homepath = yon_char_append("/home/",(char*)gtk_entry_get_text(GTK_ENTRY(window->userLoginEntry)));
gtk_entry_set_text(GTK_ENTRY(window->userHomeEntry),homepath);
free(homepath);
}
} }
void on_user_save(GtkWidget *self, dictionary *dict){ void on_user_save(GtkWidget *self, dictionary *dict){
@ -1468,7 +1467,7 @@ void on_user_save(GtkWidget *self, dictionary *dict){
char *do_not_check = NULL; char *do_not_check = NULL;
int samba_sync = 0; int samba_sync = 0;
int samba_password_sync = 0; int samba_password_sync = 0;
char *deactivate = NULL; int deactivate = 0;
char *extra_options = NULL; char *extra_options = NULL;
char *useradd_boot = ""; char *useradd_boot = "";
char *useradd_shutdown = ""; char *useradd_shutdown = "";
@ -1512,6 +1511,14 @@ 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 (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userDeactivatedCheck))){
if (password[0]=='%'&&password[1]=='%'){
char *temp = yon_char_replace(password,"%%","!!");
password = yon_char_replace(temp,"!!","%%!*");
} else {
password = yon_char_append("!*",password);
}
}
} else { } else {
password=""; password="";
} }
@ -1554,18 +1561,15 @@ void on_user_save(GtkWidget *self, dictionary *dict){
password_expiration_date = window->expiration_unix; password_expiration_date = window->expiration_unix;
} }
warning_days = yon_char_from_long(gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->userWarningSpin))); long warning_days_active = gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->userWarningSpin));
if (warning_days_active>0)
warning_days = yon_char_from_long(warning_days_active);
int no_activity_days_active = gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->userActivitySpin)); int no_activity_days_active = gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->userActivitySpin));
if (no_activity_days_active>0){ if (no_activity_days_active>0){
no_activity_days = yon_char_from_long(no_activity_days_active); no_activity_days = yon_char_from_long(no_activity_days_active);
} }
int force_at_next_login_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userForceChangeCheck));
if (force_at_next_login_active){
}
int user_shell_active = gtk_combo_box_get_active(GTK_COMBO_BOX(window->userShellCombo)); int user_shell_active = gtk_combo_box_get_active(GTK_COMBO_BOX(window->userShellCombo));
if (user_shell_active>0){ if (user_shell_active>0){
user_shell = yon_char_unite(" --shell ",(char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->userShellCombo)),NULL); user_shell = yon_char_unite(" --shell ",(char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->userShellCombo)),NULL);
@ -1577,8 +1581,6 @@ void on_user_save(GtkWidget *self, dictionary *dict){
int user_home_active = gtk_combo_box_get_active(GTK_COMBO_BOX(window->userHomeCombo)); int user_home_active = gtk_combo_box_get_active(GTK_COMBO_BOX(window->userHomeCombo));
if (user_home_active==2){ if (user_home_active==2){
user_home=yon_char_unite("--home-dir ",(char*)gtk_entry_get_text(GTK_ENTRY(window->userHomeEntry)),NULL); user_home=yon_char_unite("--home-dir ",(char*)gtk_entry_get_text(GTK_ENTRY(window->userHomeEntry)),NULL);
} else if (user_home_active==0){
user_home=yon_char_unite("--home-dir ",main_config.default_home,"/",login,NULL);
} else if (user_home_active==1){ } else if (user_home_active==1){
user_home="--no-create-home"; user_home="--no-create-home";
} else user_home = ""; } else user_home = "";
@ -1613,7 +1615,20 @@ void on_user_save(GtkWidget *self, dictionary *dict){
if (!window->old_password||window->old_password&&strcmp(window->old_password,password)){ if (!window->old_password||window->old_password&&strcmp(window->old_password,password)){
time_t t = time(NULL); time_t t = time(NULL);
struct tm tm = *localtime(&t); struct tm tm = *localtime(&t);
password_changed_date = yon_char_unite(yon_char_from_int(1900+tm.tm_year),"-",yon_char_from_int(tm.tm_mon+1),"-",yon_char_from_int(tm.tm_mday),NULL); char *month = yon_char_from_int(tm.tm_mon+1);
if (strlen(month)==1){
month=yon_char_append("0",month);
}
char *day = yon_char_from_int(tm.tm_mday);
if (strlen(day)==1){
day=yon_char_append("0",day);
}
password_changed_date = yon_char_unite(yon_char_from_int(1900+tm.tm_year),"-",month,"-",day,NULL);
}
int force_at_next_login_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userForceChangeCheck));
if (force_at_next_login_active){
password_changed_date = "0";
} }
int useradd_boot_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UseraddBootCheck)); int useradd_boot_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UseraddBootCheck));
@ -1801,8 +1816,6 @@ void on_parameter_changed(GtkWidget *self,ubl_settings_usergroups_user_window *w
int user_home_active = gtk_combo_box_get_active(GTK_COMBO_BOX(window->userHomeCombo)); int user_home_active = gtk_combo_box_get_active(GTK_COMBO_BOX(window->userHomeCombo));
if (user_home_active==2){ if (user_home_active==2){
user_home=yon_char_unite("--home-dir ",(char*)gtk_entry_get_text(GTK_ENTRY(window->userHomeEntry)),NULL); user_home=yon_char_unite("--home-dir ",(char*)gtk_entry_get_text(GTK_ENTRY(window->userHomeEntry)),NULL);
} else if (user_home_active==0){
user_home=yon_char_unite("--home-dir ",main_config.default_home,"/",login,NULL);
} else if (user_home_active==1){ } else if (user_home_active==1){
user_home="--no-create-home"; user_home="--no-create-home";
} else user_home = ""; } else user_home = "";
@ -1823,7 +1836,8 @@ void on_parameter_changed(GtkWidget *self,ubl_settings_usergroups_user_window *w
} else { } else {
main_group = ""; main_group = "";
} }
char *final_string = yon_char_unite(yon_char_return_if_exist(user_home,""), char *final_string = user_home;
final_string = yon_char_unite(!yon_char_is_empty(final_string)?" ":"",
yon_char_return_if_exist(user_shell,""), yon_char_return_if_exist(user_shell,""),
!yon_char_is_empty(user_shell)?" ":"", !yon_char_is_empty(user_shell)?" ":"",
yon_char_return_if_exist(create_system_user,""), yon_char_return_if_exist(create_system_user,""),
@ -2008,12 +2022,14 @@ void on_main_edit(GtkWidget *self, main_window *widgets){
if (parameter_string[0]=='\"') yon_char_divide(parameter_string,0); if (parameter_string[0]=='\"') yon_char_divide(parameter_string,0);
if (parameter_string[strlen(parameter_string)-1]=='\"') parameter_string[strlen(parameter_string)-1]='\0'; if (parameter_string[strlen(parameter_string)-1]=='\"') parameter_string[strlen(parameter_string)-1]='\0';
config_str parameters = yon_char_parse(parameter_string,&parsed_size,":"); config_str parameters = yon_char_parse(parameter_string,&parsed_size,":");
if(!strcmp(parameters[0],"x"))
parameters[0]="";
gtk_entry_set_text(GTK_ENTRY(window->userLoginEntry), name); gtk_entry_set_text(GTK_ENTRY(window->userLoginEntry), name);
gtk_entry_set_text(GTK_ENTRY(window->userGroupsEntry), name); gtk_entry_set_text(GTK_ENTRY(window->userGroupsEntry), name);
gtk_entry_set_text(GTK_ENTRY(window->userUserNameEntry), parsed_size>0?parameters[0]:""); gtk_entry_set_text(GTK_ENTRY(window->userUserNameEntry), parsed_size>0?parameters[0]:"");
window->old_username=name; window->old_username=name;
if (parsed_size>1){ if (parsed_size>1){
if (strcmp(parameters[1],"x")){ if (parsed_size>1&&!strcmp(parameters[1],"x")||parsed_size<=1||strcmp(parameters[1],"")){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->userUIDAutoCheck),0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->userUIDAutoCheck),0);
gtk_entry_set_text(GTK_ENTRY(window->userUIDEntry), parsed_size>1?parameters[1]:""); gtk_entry_set_text(GTK_ENTRY(window->userUIDEntry), parsed_size>1?parameters[1]:"");
} }
@ -2065,12 +2081,17 @@ void on_main_edit(GtkWidget *self, main_window *widgets){
} }
// gtk_entry_set_text(GTK_ENTRY(window->), parsed_size>4?parameters[4]:""); // gtk_entry_set_text(GTK_ENTRY(window->), parsed_size>4?parameters[4]:"");
} }
if (parsed_size>5){
window->old_password=parameters[5]; window->old_password=parameters[5];
if (strcmp(parameters[5],"x")&&strcmp(parameters[5],"")){ if (strcmp(parameters[5],"x")&&strcmp(parameters[5],"")){
if (strstr(parameters[5],"!*")){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->userDeactivatedCheck),1);
}
yon_char_divide(strstr(parameters[5],"!*"),1);
gtk_entry_set_text(GTK_ENTRY(window->userPasswordEntry),parameters[5]); gtk_entry_set_text(GTK_ENTRY(window->userPasswordEntry),parameters[5]);
gtk_combo_box_set_active(GTK_COMBO_BOX(window->userPasswordCombo),2); gtk_combo_box_set_active(GTK_COMBO_BOX(window->userPasswordCombo),2);
} }
}
int samba_sync = yon_samba_sync_get(name); int samba_sync = yon_samba_sync_get(name);
if (samba_sync==1){ if (samba_sync==1){
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->userSyncSAMBACheck),1); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->userSyncSAMBACheck),1);
@ -2392,6 +2413,8 @@ main_window *yon_main_window_complete(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->LoadGlobalMenuItem),"activate",G_CALLBACK(on_config_global_load),widgets); g_signal_connect(G_OBJECT(widgets->LoadGlobalMenuItem),"activate",G_CALLBACK(on_config_global_load),widgets);
g_signal_connect(G_OBJECT(widgets->LoadLocalMenuItem),"activate",G_CALLBACK(on_config_local_load),widgets); g_signal_connect(G_OBJECT(widgets->LoadLocalMenuItem),"activate",G_CALLBACK(on_config_local_load),widgets);
yon_rmb_menu_setup(widgets->UsersTree,EDIT_LABEL,edit_icon_name,G_CALLBACK(on_main_edit),widgets,REMOVE_LABEL,delete_icon_name,G_CALLBACK(on_main_delete),widgets,NULL);
yon_rmb_menu_setup(widgets->GroupsTree,EDIT_LABEL,edit_icon_name,G_CALLBACK(on_main_edit),widgets,REMOVE_LABEL,delete_icon_name,G_CALLBACK(on_main_delete),widgets,NULL);
yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->UsersTree)); yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->UsersTree));
yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->GroupsTree)); yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->GroupsTree));

@ -51,7 +51,7 @@
#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 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 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 default_home_initiator_path "/etc/default/useradd"
@ -65,6 +65,9 @@
#define USERSHADOW_SYNC(user) yon_char_unite("USERSHADOW_SYNC[",user,"]",NULL) #define USERSHADOW_SYNC(user) yon_char_unite("USERSHADOW_SYNC[",user,"]",NULL)
#define GROUPADD_SYNC(user) yon_char_unite("GROUPADD_SYNC[",user,"]",NULL) #define GROUPADD_SYNC(user) yon_char_unite("GROUPADD_SYNC[",user,"]",NULL)
#define edit_icon_name "com.ublinux.ubl-settings-usergroups.edit-symbolic"
#define delete_icon_name "com.ublinux.ubl-settings-usergroups.trash-symbolic"
#define password_hash_get_command(passwd) yon_char_append("mkpasswd2 ",passwd) #define password_hash_get_command(passwd) yon_char_append("mkpasswd2 ",passwd)
typedef char* string; typedef char* string;
@ -218,6 +221,7 @@ typedef struct{
GtkWidget *GroupsOkButton; GtkWidget *GroupsOkButton;
GtkWidget *HeaderLabel; GtkWidget *HeaderLabel;
GtkCellRenderer *StatusCell; GtkCellRenderer *StatusCell;
GtkTreeViewColumn *GroupColumn;
} ubl_settings_usergroups_group_window; } ubl_settings_usergroups_group_window;
typedef struct{ typedef struct{

@ -73,6 +73,7 @@
#define NT_LABEL "nt" #define NT_LABEL "nt"
#define ACCEPT_LABEL _("Accept") #define ACCEPT_LABEL _("Accept")
#define ENCRYPT_SURE_LABEL _("Are you sure want to encrypt all passwords?\nThis action can't be undone.") #define ENCRYPT_SURE_LABEL _("Are you sure want to encrypt all passwords?\nThis action can't be undone.")
#define ENCRYPT_TOOLTIP_LABEL _("Encrypt all unencrypted passwords at global configuration")
//ubl-settings-usergroups-group-creation.glade //ubl-settings-usergroups-group-creation.glade
#define CONFIGURE_GROUP_TITLE_LABEL _("Configure group") #define CONFIGURE_GROUP_TITLE_LABEL _("Configure group")

@ -336,6 +336,7 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
<property name="tooltip-text" translatable="yes">Encrypt all unencrypted passwords at global configuration</property>
<property name="halign">end</property> <property name="halign">end</property>
<property name="image">image5</property> <property name="image">image5</property>
</object> </object>

@ -48,6 +48,7 @@
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn">
<property name="title" translatable="yes">Chosen</property>
<child> <child>
<object class="GtkCellRendererToggle" id="StatusCell"/> <object class="GtkCellRendererToggle" id="StatusCell"/>
<attributes> <attributes>
@ -57,7 +58,7 @@
</object> </object>
</child> </child>
<child> <child>
<object class="GtkTreeViewColumn"> <object class="GtkTreeViewColumn" id="GroupColumn">
<property name="title" translatable="yes">Group</property> <property name="title" translatable="yes">Group</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText"/>

@ -141,7 +141,7 @@
<property name="resizable">True</property> <property name="resizable">True</property>
<property name="sizing">fixed</property> <property name="sizing">fixed</property>
<property name="min-width">50</property> <property name="min-width">50</property>
<property name="title" translatable="yes">Blocked</property> <property name="title" translatable="yes">Disabled</property>
<child> <child>
<object class="GtkCellRendererToggle"/> <object class="GtkCellRendererToggle"/>
</child> </child>

@ -330,6 +330,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<property name="sizing">fixed</property> <property name="sizing">fixed</property>
<property name="fixed-width">10</property> <property name="fixed-width">10</property>
<property name="title" translatable="yes">Disabled</property> <property name="title" translatable="yes">Disabled</property>
<property name="sort-column-id">0</property>
<child> <child>
<object class="GtkCellRendererToggle"/> <object class="GtkCellRendererToggle"/>
</child> </child>
@ -388,6 +389,7 @@ name</property>
<property name="fixed-width">10</property> <property name="fixed-width">10</property>
<property name="title" translatable="yes">Main <property name="title" translatable="yes">Main
group</property> group</property>
<property name="sort-column-id">4</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText"/>
<attributes> <attributes>
@ -403,9 +405,10 @@ group</property>
<property name="fixed-width">10</property> <property name="fixed-width">10</property>
<property name="title" translatable="yes">Additional <property name="title" translatable="yes">Additional
groups</property> groups</property>
<property name="sort-column-id">5</property>
<child> <child>
<object class="GtkCellRendererText"> <object class="GtkCellRendererText">
<property name="wrap-mode">word</property> <property name="wrap-mode">word-char</property>
<property name="wrap-width">150</property> <property name="wrap-width">150</property>
</object> </object>
<attributes> <attributes>
@ -421,6 +424,7 @@ groups</property>
<property name="fixed-width">10</property> <property name="fixed-width">10</property>
<property name="title" translatable="yes">Additional <property name="title" translatable="yes">Additional
parameters</property> parameters</property>
<property name="sort-column-id">6</property>
<child> <child>
<object class="GtkCellRendererText"> <object class="GtkCellRendererText">
<property name="wrap-mode">word</property> <property name="wrap-mode">word</property>
@ -438,6 +442,7 @@ parameters</property>
<property name="fixed-width">10</property> <property name="fixed-width">10</property>
<property name="title" translatable="yes">Password <property name="title" translatable="yes">Password
status</property> status</property>
<property name="sort-column-id">7</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText"/>
<attributes> <attributes>
@ -529,8 +534,11 @@ name</property>
<property name="fixed-width">10</property> <property name="fixed-width">10</property>
<property name="title" translatable="yes">Group <property name="title" translatable="yes">Group
users</property> users</property>
<property name="sort-column-id">2</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText">
<property name="wrap-width">150</property>
</object>
<attributes> <attributes>
<attribute name="text">2</attribute> <attribute name="text">2</attribute>
</attributes> </attributes>
@ -544,6 +552,7 @@ users</property>
<property name="fixed-width">10</property> <property name="fixed-width">10</property>
<property name="title" translatable="yes">Additional <property name="title" translatable="yes">Additional
parameters</property> parameters</property>
<property name="sort-column-id">3</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText"/>
<attributes> <attributes>
@ -558,6 +567,7 @@ parameters</property>
<property name="fixed-width">10</property> <property name="fixed-width">10</property>
<property name="title" translatable="yes">Password <property name="title" translatable="yes">Password
status</property> status</property>
<property name="sort-column-id">4</property>
<child> <child>
<object class="GtkCellRendererText"/> <object class="GtkCellRendererText"/>
<attributes> <attributes>

@ -53,7 +53,7 @@ msgstr ""
msgid "UID" msgid "UID"
msgstr "" msgstr ""
#: source/ubl-strings.h:14 source/ubl-strings.h:84 #: source/ubl-strings.h:14 source/ubl-strings.h:85
msgid "Login" msgid "Login"
msgstr "" msgstr ""
@ -211,7 +211,7 @@ msgstr ""
msgid "Set a password" msgid "Set a password"
msgstr "" msgstr ""
#: source/ubl-strings.h:60 source/ubl-strings.h:87 #: source/ubl-strings.h:60 source/ubl-strings.h:88
msgid "Encrypted" msgid "Encrypted"
msgstr "" msgstr ""
@ -229,382 +229,386 @@ msgid ""
"This action can't be undone." "This action can't be undone."
msgstr "" msgstr ""
#: source/ubl-strings.h:78 #: source/ubl-strings.h:76
msgid "Configure group" msgid "Encrypt all unencrypted passwords at global configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:79 #: source/ubl-strings.h:79
msgid "Add group" msgid "Configure group"
msgstr "" msgstr ""
#: source/ubl-strings.h:80 #: source/ubl-strings.h:80
msgid "Group id:" msgid "Add group"
msgstr "" msgstr ""
#: source/ubl-strings.h:81 #: source/ubl-strings.h:81
msgid "Group name:" msgid "Group id:"
msgstr "" msgstr ""
#: source/ubl-strings.h:82 #: source/ubl-strings.h:82
msgid "Group users:" msgid "Group name:"
msgstr "" msgstr ""
#: source/ubl-strings.h:83 #: source/ubl-strings.h:83
msgid "Group users:"
msgstr ""
#: source/ubl-strings.h:84
msgid "Automatically" msgid "Automatically"
msgstr "" msgstr ""
#: source/ubl-strings.h:85 #: source/ubl-strings.h:86
msgid "Create group with ununique GID" msgid "Create group with ununique GID"
msgstr "" msgstr ""
#: source/ubl-strings.h:86 #: source/ubl-strings.h:87
msgid "Create system group" msgid "Create system group"
msgstr "" msgstr ""
#: source/ubl-strings.h:88 #: source/ubl-strings.h:89
msgid "Additional configuration" msgid "Additional configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:89 #: source/ubl-strings.h:90
msgid "Group configuration synchronization" msgid "Group configuration synchronization"
msgstr "" msgstr ""
#: source/ubl-strings.h:90 #: source/ubl-strings.h:91
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:91 #: source/ubl-strings.h:92
msgid "Group administrators:" msgid "Group administrators:"
msgstr "" msgstr ""
#: source/ubl-strings.h:92 #: source/ubl-strings.h:93
msgid "Group name must not start with digit" msgid "Group name must not start with digit"
msgstr "" msgstr ""
#: source/ubl-strings.h:95 #: source/ubl-strings.h:96
msgid "Default groups" msgid "Default groups"
msgstr "" msgstr ""
#: source/ubl-strings.h:96 #: source/ubl-strings.h:97
msgid "Main group" msgid "Main group"
msgstr "" msgstr ""
#: source/ubl-strings.h:97 #: source/ubl-strings.h:98
msgid "Additional groups" msgid "Additional groups"
msgstr "" msgstr ""
#: source/ubl-strings.h:98 #: source/ubl-strings.h:99
msgid "Choose groups" msgid "Choose groups"
msgstr "" msgstr ""
#: source/ubl-strings.h:99 #: source/ubl-strings.h:100
msgid "Choose users" msgid "Choose users"
msgstr "" msgstr ""
#: source/ubl-strings.h:102 #: source/ubl-strings.h:103
msgid "System users and groups" msgid "System users and groups"
msgstr "" msgstr ""
#: source/ubl-strings.h:103 #: source/ubl-strings.h:104
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#: source/ubl-strings.h:104 #: source/ubl-strings.h:105
msgid "Username" msgid "Username"
msgstr "" msgstr ""
#: source/ubl-strings.h:105 #: source/ubl-strings.h:106
msgid "" msgid ""
"Primary\n" "Primary\n"
"group" "group"
msgstr "" msgstr ""
#: source/ubl-strings.h:106 #: source/ubl-strings.h:107
msgid "" msgid ""
"Home\n" "Home\n"
"directory" "directory"
msgstr "" msgstr ""
#: source/ubl-strings.h:107 source/ubl-strings.h:113 #: source/ubl-strings.h:108 source/ubl-strings.h:114
msgid "Group" msgid "Group"
msgstr "" msgstr ""
#: source/ubl-strings.h:108 #: source/ubl-strings.h:109
msgid "Update the system users and groups list" msgid "Update the system users and groups list"
msgstr "" msgstr ""
#: source/ubl-strings.h:109 #: source/ubl-strings.h:110
msgid "Toggle system groups and users" msgid "Toggle system groups and users"
msgstr "" msgstr ""
#: source/ubl-strings.h:111 #: source/ubl-strings.h:112
msgid "Password mismatch" msgid "Password mismatch"
msgstr "" msgstr ""
#: source/ubl-strings.h:112 #: source/ubl-strings.h:113
msgid "Password must be at least" msgid "Password must be at least"
msgstr "" msgstr ""
#: source/ubl-strings.h:112 #: source/ubl-strings.h:113
msgid "characters" msgid "characters"
msgstr "" msgstr ""
#: source/ubl-strings.h:114 #: source/ubl-strings.h:115
msgid "" msgid ""
"Days until\n" "Days until\n"
"warning" "warning"
msgstr "" msgstr ""
#: source/ubl-strings.h:115 #: source/ubl-strings.h:116
msgid "" msgid ""
"Days\n" "Days\n"
"without activity" "without activity"
msgstr "" msgstr ""
#: source/ubl-strings.h:116 #: source/ubl-strings.h:117
msgid "" msgid ""
"Shell\n" "Shell\n"
"path" "path"
msgstr "" msgstr ""
#: source/ubl-strings.h:117 #: source/ubl-strings.h:118
msgid "" msgid ""
"Password has\n" "Password has\n"
"been changed" "been changed"
msgstr "" msgstr ""
#: source/ubl-strings.h:118 #: source/ubl-strings.h:119
msgid "" msgid ""
"Expiration\n" "Expiration\n"
"date" "date"
msgstr "" msgstr ""
#: source/ubl-strings.h:119 #: source/ubl-strings.h:120
msgid "" msgid ""
"Password change\n" "Password change\n"
"interval (min)" "interval (min)"
msgstr "" msgstr ""
#: source/ubl-strings.h:120 #: source/ubl-strings.h:121
msgid "" msgid ""
"Password change\n" "Password change\n"
"interval (max)" "interval (max)"
msgstr "" msgstr ""
#: source/ubl-strings.h:123 #: source/ubl-strings.h:124
msgid "Add user" msgid "Add user"
msgstr "" msgstr ""
#: source/ubl-strings.h:124 #: source/ubl-strings.h:125
msgid "Configure user" msgid "Configure user"
msgstr "" msgstr ""
#: source/ubl-strings.h:125 #: source/ubl-strings.h:126
msgid "Set" msgid "Set"
msgstr "" msgstr ""
#: source/ubl-strings.h:126 #: source/ubl-strings.h:127
msgid "Empty important field" msgid "Empty important field"
msgstr "" msgstr ""
#: source/ubl-strings.h:127 #: source/ubl-strings.h:128
msgid "Login must not start with digit" msgid "Login must not start with digit"
msgstr "" msgstr ""
#: source/ubl-strings.h:128 #: source/ubl-strings.h:129
msgid "Loading has failed" msgid "Loading has failed"
msgstr "" msgstr ""
#: source/ubl-strings.h:129 #: source/ubl-strings.h:130
msgid "Login name" msgid "Login name"
msgstr "" msgstr ""
#: source/ubl-strings.h:130 #: source/ubl-strings.h:131
msgid "Additional groups:" msgid "Additional groups:"
msgstr "" msgstr ""
#: source/ubl-strings.h:131 #: source/ubl-strings.h:132
msgid "Password configuration" msgid "Password configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:132 #: source/ubl-strings.h:133
msgid "Password has been changed:" msgid "Password has been changed:"
msgstr "" msgstr ""
#: source/ubl-strings.h:133 #: source/ubl-strings.h:134
msgid "expiration date:" msgid "expiration date:"
msgstr "" msgstr ""
#: source/ubl-strings.h:134 #: source/ubl-strings.h:135
msgid "Password change interval: minimum" msgid "Password change interval: minimum"
msgstr "" msgstr ""
#: source/ubl-strings.h:135 #: source/ubl-strings.h:136
msgid "days, maximum" msgid "days, maximum"
msgstr "" msgstr ""
#: source/ubl-strings.h:136 #: source/ubl-strings.h:137
msgid "days" msgid "days"
msgstr "" msgstr ""
#: source/ubl-strings.h:137 #: source/ubl-strings.h:138
msgid "Days until warning:" msgid "Days until warning:"
msgstr "" msgstr ""
#: source/ubl-strings.h:138 #: source/ubl-strings.h:139
msgid "Days without activity:" msgid "Days without activity:"
msgstr "" msgstr ""
#: source/ubl-strings.h:139 #: source/ubl-strings.h:140
msgid "Force change at next login" msgid "Force change at next login"
msgstr "" msgstr ""
#: source/ubl-strings.h:140 #: source/ubl-strings.h:141
msgid "User shell:" msgid "User shell:"
msgstr "" msgstr ""
#: source/ubl-strings.h:141 #: source/ubl-strings.h:142
msgid "Home directory:" msgid "Home directory:"
msgstr "" msgstr ""
#: source/ubl-strings.h:142 #: source/ubl-strings.h:143
msgid "Don't set" msgid "Don't set"
msgstr "" msgstr ""
#: source/ubl-strings.h:143 #: source/ubl-strings.h:144
msgid "Create system user" msgid "Create system user"
msgstr "" msgstr ""
#: source/ubl-strings.h:144 #: source/ubl-strings.h:145
msgid "Create user with ununique (repeating) UID" msgid "Create user with ununique (repeating) UID"
msgstr "" msgstr ""
#: source/ubl-strings.h:145 #: source/ubl-strings.h:146
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:146 #: source/ubl-strings.h:147
msgid "Temporary deactivation" msgid "Temporary deactivation"
msgstr "" msgstr ""
#: source/ubl-strings.h:147 #: source/ubl-strings.h:148
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: source/ubl-strings.h:148 #: source/ubl-strings.h:149
msgid "login_name" msgid "login_name"
msgstr "" msgstr ""
#: source/ubl-strings.h:149 #: source/ubl-strings.h:150
msgid "group_name" msgid "group_name"
msgstr "" msgstr ""
#: source/ubl-strings.h:150 #: source/ubl-strings.h:151
msgid "User name" msgid "User name"
msgstr "" msgstr ""
#: source/ubl-strings.h:151 #: source/ubl-strings.h:152
msgid "Sync user" msgid "Sync user"
msgstr "" msgstr ""
#: source/ubl-strings.h:152 #: source/ubl-strings.h:153
msgid "Sync user with password" msgid "Sync user with password"
msgstr "" msgstr ""
#: source/ubl-strings.h:153 #: source/ubl-strings.h:154
msgid "Encrypt all passwords" msgid "Encrypt all passwords"
msgstr "" msgstr ""
#: source/ubl-strings.h:155 #: source/ubl-strings.h:156
msgid "User configuration" msgid "User configuration"
msgstr "" msgstr ""
#: source/ubl-strings.h:156 #: source/ubl-strings.h:157
msgid "User configuration synchronization" msgid "User configuration synchronization"
msgstr "" msgstr ""
#: source/ubl-strings.h:157 #: source/ubl-strings.h:158
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:158 #: source/ubl-strings.h:159
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:159 #: source/ubl-strings.h:160
msgid "User password configuration syncronization" msgid "User password configuration syncronization"
msgstr "" msgstr ""
#: source/ubl-strings.h:160 #: source/ubl-strings.h:161
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:161 #: source/ubl-strings.h:162
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:163 #: source/ubl-strings.h:164
msgid "Main" msgid "Main"
msgstr "" msgstr ""
#: source/ubl-strings.h:164 #: source/ubl-strings.h:165
msgid "Additional" msgid "Additional"
msgstr "" msgstr ""
#: source/ubl-strings.h:165 #: source/ubl-strings.h:166
msgid "Syncronization" msgid "Syncronization"
msgstr "" msgstr ""
#: source/ubl-strings.h:168 #: source/ubl-strings.h:169
msgid "Repeat password:" msgid "Repeat password:"
msgstr "" msgstr ""
#: source/ubl-strings.h:169 #: source/ubl-strings.h:170
msgid "Password hash:" msgid "Password hash:"
msgstr "" msgstr ""
#: source/ubl-strings.h:170 #: source/ubl-strings.h:171
msgid "Do not encrypt password" msgid "Do not encrypt password"
msgstr "" msgstr ""
#: source/ubl-strings.h:173 #: source/ubl-strings.h:174
msgid "Additional configuration of service parameter saving" msgid "Additional configuration of service parameter saving"
msgstr "" msgstr ""
#: source/ubl-strings.h:174 #: source/ubl-strings.h:175
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:175 #: source/ubl-strings.h:176
msgid "For system save mode \"Sandbox\"" msgid "For system save mode \"Sandbox\""
msgstr "" msgstr ""
#: source/ubl-strings.h:178 #: source/ubl-strings.h:179
msgid "User deletion" msgid "User deletion"
msgstr "" msgstr ""
#: source/ubl-strings.h:179 #: source/ubl-strings.h:180
msgid "Confirm user(-s) deletion:" msgid "Confirm user(-s) deletion:"
msgstr "" msgstr ""
#: source/ubl-strings.h:180 #: source/ubl-strings.h:181
msgid "Chosen" msgid "Chosen"
msgstr "" msgstr ""
#: source/ubl-strings.h:181 #: source/ubl-strings.h:182
msgid "User" msgid "User"
msgstr "" msgstr ""
#: source/ubl-strings.h:182 #: source/ubl-strings.h:183
msgid "Home directory" msgid "Home directory"
msgstr "" msgstr ""
#: source/ubl-strings.h:183 #: source/ubl-strings.h:184
msgid "Delete home directory" msgid "Delete home directory"
msgstr "" msgstr ""

@ -53,7 +53,7 @@ msgstr "Алгоритм хэширования пароля:"
msgid "UID" msgid "UID"
msgstr "UID" msgstr "UID"
#: source/ubl-strings.h:14 source/ubl-strings.h:84 #: source/ubl-strings.h:14 source/ubl-strings.h:85
msgid "Login" msgid "Login"
msgstr "Логин" msgstr "Логин"
@ -225,7 +225,7 @@ msgstr "Пароль не требуется"
msgid "Set a password" msgid "Set a password"
msgstr "Задать пароль" msgstr "Задать пароль"
#: source/ubl-strings.h:60 source/ubl-strings.h:87 #: source/ubl-strings.h:60 source/ubl-strings.h:88
msgid "Encrypted" msgid "Encrypted"
msgstr "Зашифрован" msgstr "Зашифрован"
@ -245,92 +245,95 @@ msgstr ""
"Вы уверены что хотите зашифровать все пароли?\n" "Вы уверены что хотите зашифровать все пароли?\n"
"Это действие нельзя отменить." "Это действие нельзя отменить."
#: source/ubl-strings.h:78 #: source/ubl-strings.h:76
msgid "Encrypt all unencrypted passwords at global configuration"
msgstr "Зашифровать все незашифрованные пароли в глобальной конфигурации"
#: source/ubl-strings.h:79
msgid "Configure group" msgid "Configure group"
msgstr "Редактировать группу" msgstr "Редактировать группу"
#: source/ubl-strings.h:79 #: source/ubl-strings.h:80
msgid "Add group" msgid "Add group"
msgstr "Добавить группу" msgstr "Добавить группу"
#: source/ubl-strings.h:80 #: source/ubl-strings.h:81
msgid "Group id:" msgid "Group id:"
msgstr "ID Группы:" msgstr "ID Группы:"
#: source/ubl-strings.h:81 #: source/ubl-strings.h:82
msgid "Group name:" msgid "Group name:"
msgstr "Имя группы:" msgstr "Имя группы:"
#: source/ubl-strings.h:82 #: source/ubl-strings.h:83
msgid "Group users:" msgid "Group users:"
msgstr "Пользователи группы:" msgstr "Пользователи группы:"
#: source/ubl-strings.h:83 #: source/ubl-strings.h:84
msgid "Automatically" msgid "Automatically"
msgstr "Автоматически" msgstr "Автоматически"
#: source/ubl-strings.h:85 #: source/ubl-strings.h:86
msgid "Create group with ununique GID" msgid "Create group with ununique GID"
msgstr "Создать группу с повторяющимися (не уникальными) GID" msgstr "Создать группу с повторяющимися (не уникальными) GID"
#: source/ubl-strings.h:86 #: source/ubl-strings.h:87
msgid "Create system group" msgid "Create system group"
msgstr "Создать системную группу" msgstr "Создать системную группу"
#: source/ubl-strings.h:88 #: source/ubl-strings.h:89
msgid "Additional configuration" msgid "Additional configuration"
msgstr "Дополнительные настройки" msgstr "Дополнительные настройки"
#: source/ubl-strings.h:89 #: source/ubl-strings.h:90
msgid "Group configuration synchronization" msgid "Group configuration synchronization"
msgstr "Синхронизация настроек группы" msgstr "Синхронизация настроек группы"
#: source/ubl-strings.h:90 #: source/ubl-strings.h:91
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:91 #: source/ubl-strings.h:92
msgid "Group administrators:" msgid "Group administrators:"
msgstr "Администраторы группы:" msgstr "Администраторы группы:"
#: source/ubl-strings.h:92 #: source/ubl-strings.h:93
#, fuzzy
msgid "Group name must not start with digit" msgid "Group name must not start with digit"
msgstr "Имя группы не должно начинаться с цифры" msgstr "Имя группы не должно начинаться с цифры"
#: source/ubl-strings.h:95 #: source/ubl-strings.h:96
msgid "Default groups" msgid "Default groups"
msgstr "Группы пользователей по умолчанию" msgstr "Группы пользователей по умолчанию"
#: source/ubl-strings.h:96 #: source/ubl-strings.h:97
msgid "Main group" msgid "Main group"
msgstr "Основная группа" msgstr "Основная группа"
#: source/ubl-strings.h:97 #: source/ubl-strings.h:98
msgid "Additional groups" msgid "Additional groups"
msgstr "Дополнительные группы" msgstr "Дополнительные группы"
#: source/ubl-strings.h:98 #: source/ubl-strings.h:99
msgid "Choose groups" msgid "Choose groups"
msgstr "Выбрать группы" msgstr "Выбрать группы"
#: source/ubl-strings.h:99 #: source/ubl-strings.h:100
msgid "Choose users" msgid "Choose users"
msgstr "Выбрать пользователей" msgstr "Выбрать пользователей"
#: source/ubl-strings.h:102 #: source/ubl-strings.h:103
msgid "System users and groups" msgid "System users and groups"
msgstr "Пользователи и группы в системе" msgstr "Пользователи и группы в системе"
#: source/ubl-strings.h:103 #: source/ubl-strings.h:104
msgid "Disabled" msgid "Disabled"
msgstr "Отключен" msgstr "Отключен"
#: source/ubl-strings.h:104 #: source/ubl-strings.h:105
msgid "Username" msgid "Username"
msgstr "Имя пользователя" msgstr "Имя пользователя"
#: source/ubl-strings.h:105 #: source/ubl-strings.h:106
msgid "" msgid ""
"Primary\n" "Primary\n"
"group" "group"
@ -338,7 +341,7 @@ msgstr ""
"Основная\n" "Основная\n"
"группа" "группа"
#: source/ubl-strings.h:106 #: source/ubl-strings.h:107
msgid "" msgid ""
"Home\n" "Home\n"
"directory" "directory"
@ -346,31 +349,31 @@ msgstr ""
"Домашний\n" "Домашний\n"
"каталог" "каталог"
#: source/ubl-strings.h:107 source/ubl-strings.h:113 #: source/ubl-strings.h:108 source/ubl-strings.h:114
msgid "Group" msgid "Group"
msgstr "Группа" msgstr "Группа"
#: source/ubl-strings.h:108 #: source/ubl-strings.h:109
msgid "Update the system users and groups list" msgid "Update the system users and groups list"
msgstr "Обновить список пользователей и групп системы" msgstr "Обновить список пользователей и групп системы"
#: source/ubl-strings.h:109 #: source/ubl-strings.h:110
msgid "Toggle system groups and users" msgid "Toggle system groups and users"
msgstr "Переключить видимость системных пользователей и групп" msgstr "Переключить видимость системных пользователей и групп"
#: source/ubl-strings.h:111 #: source/ubl-strings.h:112
msgid "Password mismatch" msgid "Password mismatch"
msgstr "Несовпадение паролей" msgstr "Несовпадение паролей"
#: source/ubl-strings.h:112 #: source/ubl-strings.h:113
msgid "Password must be at least" msgid "Password must be at least"
msgstr "Пароль должен состоять из как минимум" msgstr "Пароль должен состоять из как минимум"
#: source/ubl-strings.h:112 #: source/ubl-strings.h:113
msgid "characters" msgid "characters"
msgstr "символов" msgstr "символов"
#: source/ubl-strings.h:114 #: source/ubl-strings.h:115
msgid "" msgid ""
"Days until\n" "Days until\n"
"warning" "warning"
@ -378,7 +381,7 @@ msgstr ""
"Дней до\n" "Дней до\n"
"предупреждения" "предупреждения"
#: source/ubl-strings.h:115 #: source/ubl-strings.h:116
msgid "" msgid ""
"Days\n" "Days\n"
"without activity" "without activity"
@ -386,7 +389,7 @@ msgstr ""
"Дней без\n" "Дней без\n"
"активности" "активности"
#: source/ubl-strings.h:116 #: source/ubl-strings.h:117
msgid "" msgid ""
"Shell\n" "Shell\n"
"path" "path"
@ -394,7 +397,7 @@ msgstr ""
"Путь до\n" "Путь до\n"
"оболочки" "оболочки"
#: source/ubl-strings.h:117 #: source/ubl-strings.h:118
msgid "" msgid ""
"Password has\n" "Password has\n"
"been changed" "been changed"
@ -402,7 +405,7 @@ msgstr ""
"Пароль\n" "Пароль\n"
"изменён" "изменён"
#: source/ubl-strings.h:118 #: source/ubl-strings.h:119
msgid "" msgid ""
"Expiration\n" "Expiration\n"
"date" "date"
@ -410,7 +413,7 @@ msgstr ""
"Дата\n" "Дата\n"
"устаревания" "устаревания"
#: source/ubl-strings.h:119 #: source/ubl-strings.h:120
msgid "" msgid ""
"Password change\n" "Password change\n"
"interval (min)" "interval (min)"
@ -418,7 +421,7 @@ msgstr ""
"Интервал смены\n" "Интервал смены\n"
"пароля (мин.)" "пароля (мин.)"
#: source/ubl-strings.h:120 #: source/ubl-strings.h:121
msgid "" msgid ""
"Password change\n" "Password change\n"
"interval (max)" "interval (max)"
@ -426,191 +429,195 @@ msgstr ""
"Интервал смены\n" "Интервал смены\n"
"пароля (макс.)" "пароля (макс.)"
#: source/ubl-strings.h:123 #: source/ubl-strings.h:124
msgid "Add user" msgid "Add user"
msgstr "Добавить пользователя" msgstr "Добавить пользователя"
#: source/ubl-strings.h:124 #: source/ubl-strings.h:125
msgid "Configure user" msgid "Configure user"
msgstr "Редактировать пользователя" msgstr "Редактировать пользователя"
#: source/ubl-strings.h:125 #: source/ubl-strings.h:126
msgid "Set" msgid "Set"
msgstr "Задать" msgstr "Задать"
#: source/ubl-strings.h:126 #: source/ubl-strings.h:127
msgid "Empty important field" msgid "Empty important field"
msgstr "Пустое важное поле" msgstr "Пустое важное поле"
#: source/ubl-strings.h:127 #: source/ubl-strings.h:128
msgid "Login must not start with digit" msgid "Login must not start with digit"
msgstr "Логин не должен начинаться с цифры" msgstr "Логин не должен начинаться с цифры"
#: source/ubl-strings.h:128 #: source/ubl-strings.h:129
msgid "Loading has failed" msgid "Loading has failed"
msgstr "Ошибка загрузки" msgstr "Ошибка загрузки"
#: source/ubl-strings.h:129 #: source/ubl-strings.h:130
msgid "Login name" msgid "Login name"
msgstr "Имя логина" msgstr "Имя логина"
#: source/ubl-strings.h:130 #: source/ubl-strings.h:131
msgid "Additional groups:" msgid "Additional groups:"
msgstr "Дополнительные группы:" msgstr "Дополнительные группы:"
#: source/ubl-strings.h:131 #: source/ubl-strings.h:132
msgid "Password configuration" msgid "Password configuration"
msgstr "Конфигурация пароля" msgstr "Конфигурация пароля"
#: source/ubl-strings.h:132 #: source/ubl-strings.h:133
msgid "Password has been changed:" msgid "Password has been changed:"
msgstr "Пароль изменён:" msgstr "Пароль изменён:"
#: source/ubl-strings.h:133 #: source/ubl-strings.h:134
msgid "expiration date:" msgid "expiration date:"
msgstr "Дата устаревания:" msgstr "Дата устаревания:"
#: source/ubl-strings.h:134 #: source/ubl-strings.h:135
msgid "Password change interval: minimum" msgid "Password change interval: minimum"
msgstr "Интервал смены пароля: минимум" msgstr "Интервал смены пароля: минимум"
#: source/ubl-strings.h:135 #: source/ubl-strings.h:136
msgid "days, maximum" msgid "days, maximum"
msgstr "дней, максимум" msgstr "дней, максимум"
#: source/ubl-strings.h:136 #: source/ubl-strings.h:137
msgid "days" msgid "days"
msgstr "дней" msgstr "дней"
#: source/ubl-strings.h:137 #: source/ubl-strings.h:138
msgid "Days until warning:" msgid "Days until warning:"
msgstr "Дней до предупреждения:" msgstr "Дней до предупреждения:"
#: source/ubl-strings.h:138 #: source/ubl-strings.h:139
msgid "Days without activity:" msgid "Days without activity:"
msgstr "Дней без активности:" msgstr "Дней без активности:"
#: source/ubl-strings.h:139 #: source/ubl-strings.h:140
msgid "Force change at next login" msgid "Force change at next login"
msgstr "Принудительно сменить при следующем входе в систему" msgstr "Принудительно сменить при следующем входе в систему"
#: source/ubl-strings.h:140 #: source/ubl-strings.h:141
msgid "User shell:" msgid "User shell:"
msgstr "Оболочка пользователя:" msgstr "Оболочка пользователя:"
#: source/ubl-strings.h:141 #: source/ubl-strings.h:142
msgid "Home directory:" msgid "Home directory:"
msgstr "Домашний каталог:" msgstr "Домашний каталог:"
#: source/ubl-strings.h:142 #: source/ubl-strings.h:143
msgid "Don't set" msgid "Don't set"
msgstr "Не создавать" msgstr "Не создавать"
#: source/ubl-strings.h:143 #: source/ubl-strings.h:144
msgid "Create system user" msgid "Create system user"
msgstr "Создать системного пользователя" msgstr "Создать системного пользователя"
#: source/ubl-strings.h:144 #: source/ubl-strings.h:145
msgid "Create user with ununique (repeating) UID" msgid "Create user with ununique (repeating) UID"
msgstr "Создать пользователя с повторяющимися (не уникальными) UID" msgstr "Создать пользователя с повторяющимися (не уникальными) UID"
#: source/ubl-strings.h:145 #: source/ubl-strings.h:146
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:146 #: source/ubl-strings.h:147
msgid "Temporary deactivation" msgid "Temporary deactivation"
msgstr "Временное отключение учётной записи" msgstr "Временное отключение учётной записи"
#: source/ubl-strings.h:147 #: source/ubl-strings.h:148
msgid "Save" msgid "Save"
msgstr "Сохранить" msgstr "Сохранить"
#: source/ubl-strings.h:148 #: source/ubl-strings.h:149
msgid "login_name" msgid "login_name"
msgstr "Имя_логина" msgstr "Имя_логина"
#: source/ubl-strings.h:149 #: source/ubl-strings.h:150
msgid "group_name" msgid "group_name"
msgstr "Имя_группы" msgstr "Имя_группы"
#: source/ubl-strings.h:150 #: source/ubl-strings.h:151
msgid "User name" msgid "User name"
msgstr "Имя пользователя" msgstr "Имя пользователя"
#: source/ubl-strings.h:151 #: source/ubl-strings.h:152
msgid "Sync user" msgid "Sync user"
msgstr "Синхронизировать пользователя" msgstr "Синхронизировать пользователя"
#: source/ubl-strings.h:152 #: source/ubl-strings.h:153
msgid "Sync user with password" msgid "Sync user with password"
msgstr "Синхронизировать пользователя с паролем" msgstr "Синхронизировать пользователя с паролем"
#: source/ubl-strings.h:153 #: source/ubl-strings.h:154
msgid "Encrypt all passwords" msgid "Encrypt all passwords"
msgstr "Зашифровать все пароли" msgstr "Зашифровать все пароли"
#: source/ubl-strings.h:155 #: source/ubl-strings.h:156
msgid "User configuration" msgid "User configuration"
msgstr "Настройка пользователя" msgstr "Настройка пользователя"
#: source/ubl-strings.h:156 #: source/ubl-strings.h:157
msgid "User configuration synchronization" msgid "User configuration synchronization"
msgstr "Синхронизация настроек пользователя" msgstr "Синхронизация настроек пользователя"
#: source/ubl-strings.h:157 #: source/ubl-strings.h:158
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:158 #: source/ubl-strings.h:159
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:159 #: source/ubl-strings.h:160
msgid "User password configuration syncronization" msgid "User password configuration syncronization"
msgstr "Синхронизация настроек пароля пользователя" msgstr "Синхронизация настроек пароля пользователя"
#: source/ubl-strings.h:160 #: source/ubl-strings.h:161
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:161 #: source/ubl-strings.h:162
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:163 #: source/ubl-strings.h:164
msgid "Main" msgid "Main"
msgstr "Основные" msgstr "Основные"
#: source/ubl-strings.h:164 #: source/ubl-strings.h:165
msgid "Additional" msgid "Additional"
msgstr "Дополнительные" msgstr "Дополнительные"
#: source/ubl-strings.h:165 #: source/ubl-strings.h:166
msgid "Syncronization" msgid "Syncronization"
msgstr "Синхронизация" msgstr "Синхронизация"
#: source/ubl-strings.h:168 #: source/ubl-strings.h:169
msgid "Repeat password:" msgid "Repeat password:"
msgstr "Подтверждение пароля:" msgstr "Подтверждение пароля:"
#: source/ubl-strings.h:169 #: source/ubl-strings.h:170
msgid "Password hash:" msgid "Password hash:"
msgstr "Хэш пароля:" msgstr "Хэш пароля:"
#: source/ubl-strings.h:170 #: source/ubl-strings.h:171
msgid "Do not encrypt password" msgid "Do not encrypt password"
msgstr "Не шифровать пароль" msgstr "Не шифровать пароль"
#: source/ubl-strings.h:173 #: source/ubl-strings.h:174
msgid "Additional configuration of service parameter saving" msgid "Additional configuration of service parameter saving"
msgstr "Дополнительные настройки сохранения параметров сервисов" msgstr "Дополнительные настройки сохранения параметров сервисов"
#: source/ubl-strings.h:174 #: source/ubl-strings.h:175
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"
@ -618,31 +625,31 @@ msgstr ""
"При каждом завершении работы ОС сохранять изменения (root)/var/lib/samba\n" "При каждом завершении работы ОС сохранять изменения (root)/var/lib/samba\n"
"в (hd)/ublinux-data/rootcopy/" "в (hd)/ublinux-data/rootcopy/"
#: source/ubl-strings.h:175 #: source/ubl-strings.h:176
msgid "For system save mode \"Sandbox\"" msgid "For system save mode \"Sandbox\""
msgstr "Для режима сохранения системы \"Песочница\"" msgstr "Для режима сохранения системы \"Песочница\""
#: source/ubl-strings.h:178 #: source/ubl-strings.h:179
msgid "User deletion" msgid "User deletion"
msgstr "Удаление пользователя(-лей)" msgstr "Удаление пользователя(-лей)"
#: source/ubl-strings.h:179 #: source/ubl-strings.h:180
msgid "Confirm user(-s) deletion:" msgid "Confirm user(-s) deletion:"
msgstr "Подтвердите удаление пользователя (-ей):" msgstr "Подтвердите удаление пользователя (-ей):"
#: source/ubl-strings.h:180 #: source/ubl-strings.h:181
msgid "Chosen" msgid "Chosen"
msgstr "Выбран" msgstr "Выбран"
#: source/ubl-strings.h:181 #: source/ubl-strings.h:182
msgid "User" msgid "User"
msgstr "Пользователь" msgstr "Пользователь"
#: source/ubl-strings.h:182 #: source/ubl-strings.h:183
msgid "Home directory" msgid "Home directory"
msgstr "Домашний каталог" msgstr "Домашний каталог"
#: source/ubl-strings.h:183 #: source/ubl-strings.h:184
msgid "Delete home directory" msgid "Delete home directory"
msgstr "Удалить домашний каталог" msgstr "Удалить домашний каталог"

Loading…
Cancel
Save