Модуль программной системы оптимизации работы сети на платформе операционной системы Linux
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
upname);}
makeGroupmodCom(){groupname = groupmodName.getText();option = groupmodOpt.getSelectedItem().toString();gmfiled = groupmodField.getText();.setText("groupmod " + option + " " + gmfiled + " " +
groupname);}
makeGpasswdCom(){groupname = gpasswdName.getText();option = gpasswdOpt.getSelectedItem().toString();username = gpasswdName1.getText();.setText(("gpasswd " + option + " " + username + " " +
groupname));}
/*
* Формирование текста команды chmod
*/makeChmodCom(){
String pathfile = chmodPathfile.getText();user = chmodUsers.getSelectedItem().toString();permissions = chmodPerms.getSelectedItem().toString();options = chmodOptions.getSelectedItem().toString();.setText("chmod " + options + " " + user + permissions + "
" + pathfile);}
/*
* Формирование текста команды chown
*/makeChownCom(){
String temp = "";command_text = "";pathfile = chownPathFile.getText();user = chownUser.getText();group = chownGroup.getText();options = chownOptions.getSelectedItem().toString();(!group.isEmpty())= user+":"+group;= user;_text = "chown " + options + " " + temp + " " + pathfile;.setText(command_text);}
/*
* Формирование текста команды umask
*/makeUmaskCom(){mask = umaskMask.getText();.setText("umask " + mask);}
/*
* Создание и формирование sh-файла
*/makeSh(String filename, String[] command) throws IOException{file = new File("part1/"+filename);(file.exists()) {.delete();}(Writer output = new BufferedWriter(new FileWriter(file))) {.write("#!/bin/bash");.write("\n");(int i = 0; i < command.length; i++).write("su --command="+"+command[i]+");.write("\n");.write("sleep 5");
output.close();}}
/*
* Создание и формирование sh-файла с командой umask
*/makeUmaskSh(String username, String mask) throws IOException{file = new File("part1/umask.sh");(file.exists()) {.delete();}(Writer output = new BufferedWriter(new FileWriter(file))) {.write("#!/bin/bash");.write("\n");(username.equals(" ") && mask.equals("")){.write("umask\n");.write("sleep 3");.close();}{(username.equals(" ")).write("if grep ^umask $HOME/.profile");.write("if grep ^umask /home/"+username+"/.profile"+"\n");.write("then"+"\n\t");.write("su --command="+"+"sed -i $d
/home/"+username+"/.profile;"+"\n\t");.write("echo umask "+mask+" >>
/home/"+username+"/.profile"+"+"\n");.write("else\n\t");.write("su --command="+"+"echo umask "+mask+" >>
/home/"+username+"/.profile"+"+"\n");.write("fi\n");.write("sleep 5");
output.close();}}}
/*
* Формирование выпадающего списка пользователей,
зарегистрированных в системе
*/usersToCombo() throws IOException{.removeAllItems();.addItem("");ex_com = "sh part1/users.sh";(ex_com);in = new BufferedReader(new
FileReader("/tmp/users.txt"));line;((line = in.readLine()) != null){(!line.equals("ftp")).addItem(line);}}
void adduserDialogClean(){.setSelectedIndex(0);.setText("");.setSelectedIndex(0);.setText("");.setText("");}
deluserDialogClean(){.setSelectedIndex(0);.setText("");}
usermodDialogClean(){.setSelectedIndex(0);.setText("");.setText("");}
passwdDialogClean(){.setSelectedIndex(0);.setText("");}
addgroupDialogClean(){.setSelectedIndex(0);.setText("");.setSelected(false);}
gpasswdDialogClean(){.setText("");.setSelectedIndex(0);}
/*
* Сброс значений в диалоге работы с командой chmod
*/chmodDialogClean(){.setText("chmod");.setText("");.setSelectedIndex(0);.setSelectedIndex(0);.setSelectedIndex(0);}
/*
* Сброс значений в диалоге работы с командой chown
*/chownDialogClean(){.setText("chown");.setText("");.setText("");.setText("");.setSelectedIndex(0);.setEnabled(true);
jLabel9.setEnabled(false);}
/*
* Сброс значений в диалоге работы с командой umask
*/umaskDialogClean(){.setSelectedIndex(0);.setText("");
jLabel13.setText("umask");}
/*
* Установка всплывающих подсказок для элементов раскрывающегося
списка
*/ComboTooltip(JComboBox box, String[] tooltipsArray){renderer = new ComboboxToolTipRenderer();.setRenderer(renderer);
renderer.setTooltips(makeTooltipsArray(tooltipsArray));}
/*
* Создание специальной структуры - массива-списка подсказок из
массива строк
*/makeTooltipsArray(String[] StringArray){myList = new ArrayList();.addAll(myList, StringArray);myList;}
/*
* Запуск проверки установки демонов (служб)
*/runCheck(){passed = false;.setText("");.append("Проверка \nустановки демонов... \n\n");dr = new DoRuntime();{.append(dr.installVerify("ssh")+"\n");(dr.isInstalled==true){_installButton.setEnabled(false);_configButton.setEnabled(true);_configButton.setEnabled(true);= true;}_installButton.setEnabled(true);
} catch (IOException ex) {}passed;}
/*
* Запуск проверки состояния запуска
*/runCheckDaemon(){.append("\nПроверка \nзапуска демонов... \n\n");dr = new DoRuntime();{(dr.isRunning()==true){.append("sshd: запущен"+"\n");_runButton.setEnabled(false);_stopButton.setEnabled(true);}{.append("sshd: не запущен"+"\n");_runButton.setEnabled(true);_stopButton.setEnabled(false);}
} catch (IOException ex) {}}
[] getOutput(String command) throws IOException{[] output = new String[12];arg = command;runtime = Runtime.getRuntime();process = runtime.exec(arg);is = process.getInputStream();isr = new InputStreamReader(is);br = new BufferedReader(isr);line = "";comWords[] = command.split("\\s+");words[];(comWords[0]){"users":
output[0] = "\nВ настоящий момент в системе\n";[1] = "работают следующие\n";[2] = "пользователи:\n\n";
int j = 3;((line = br.readLine()) != null){= line.split("\\s+");(int i = 0; i < words.length; i++)[j] = words[i]+"\n";
j++;};"groups":[0] = "\nПолучаем информацию о том,\n";[1] = "в какие группы входят \n";[2] = "пользователи. Формат вывода -\n";[3] = "имя_пользователя : имя_группы\n\n";
int i = 4;((line = br.readLine()) != null){[i] = line+"\n";++; }}output;}
adduserComponentsHide(){.setVisible(false);.setVisible(false);.setVisible(false);.setVisible(false);.setVisible(false);.setVisible(false);.setVisible(false);.setVisible(false);.setVisible(false);.pack();}
deluserComponentsHide(){.setVisible(false);.setVisible(false);.setVisible(false);.pack();}
usermodComponentsHide(){.setVisible(false);.setVisible(false);.setVisible(false);.setVisible(false);.setVisible(false);.pack();}passwdComponentsHide(){.setVisible(false);.setVisible(false);.pack();}
addGroupComponentsHide(){.setVisible(false);.setVisible(false);.pack();}
groupmodComponentsHide(){.setVisible(false);.setVisible(false);.pack();}gpasswdComponentsHide(){.setVisible(false);.setVisible(false);.pack();}
prepUsermod(String text){.setVisible(true);.setVisible(true);.setText(text);.setText("");.setToolTipText(null);}
@SuppressWarnings("unchecked") Generate code
void formWindowClosing(java.awt.event.WindowEvent evt) {n = JOptionPane.showConfirmDialog(.rootPane,
"Вы действительно хотите выйти?",
"Confirm",
JOptionPane.YES_NO_OPTION);(n==0){();.exit(1);}}
void groupsButtonActionPerformed(java.awt.event.ActionEvent evt)
{.setVisible(true);}
void delgroupButtonActionPerformed(java.awt.event.ActionEvent
evt) {.setVisible(true);}
void chmodButtonActionPerformed(java.awt.event.ActionEvent evt)
{.setVisible(true);}
void chmodOKActionPerformed(java.awt.event.ActionEvent evt) {file_name = "chmod.sh";[] com = { chmodCommand.getText() };ex_com1 = "chmod +x part1/"+file_name;ex_com2 = "gnome-terminal -x part1/"+file_name;{(file_name,com);(ex_com1);(ex_com2);
} catch