Модуль программной системы оптимизации работы сети на платформе операционной системы Linux

Создание программного продукта, предназначенного для небольшой сети с оптимизацией ее работы на платформе операционной системы Linux; администрирование. Разработка модуля протоколов управления; методика тестирования подсистемы; системотехнический анализ.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 27.06.2012
Размер файла 5,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

При расчётах необходимо руководствоваться допустимой дозой облучения, установленной для различных категорий населения, оказавшегося в зоне радиоактивного загрязнения при аварии на АЭС.

1. Население, рабочие и служащие, не привлекаемые в мирное время к работе с радиоактивными веществами - 1 мЗв в год.

2. Население, рабочие и служащие, персонал, привлекаемый в мирное время к работе с радиоактивными веществами - 2 мЗв в год.

3. Постоянно работающие с источниками ионизирующих излучений - 20 мЗв в год.

10.2 Расчётная часть

Расчетная часть выполнена по методическим указаниям [32].

Расчётную часть выполним для следующих исходных данных:

- тип реактора РБMК-1000;

- мощность реактора 1000 Мвт;

- количество аварийных реакторов - n=1;

- доля выброса радиоактивных веществ в процентах - h=10%;

- дата аварии 19.03;

- время, в которое произошла авария - Тав. = 9.00 часов;

- время начала работы после аварии Тнач. = 10.00 часов;

- начало работы после авария - Т = 1 час;

- продолжительность работы - Tpаб.= 9.00 часов;

- коэффициент ослабления мощности дозы - Косл. =1;

- метеоусловия:

- скорость ветра на высоте 10м - V10 = 3 м/с;

- направление ветра - в сторону лаборатории;

- облачность - средняя (4 балла);

- расстояние от лаборатории до АЭС - Rх = 10 км;

- допустимая доза облучения за время работы - Dyст. = 20 бэр;

- обеспеченность убежищами (СИЗ) - 100%.

Решение

1. Зная облачность и скорость приземного ветра, определим категорию устойчивости атмосферы, соответствующую погодным условиям и времени суток (день). Категория устойчивости Д (изотермия).

2. Для полученной категории устойчивости и известной скорости приземного ветра скорость среднего ветра составляет Vср=5 м/с.

3. Используя исходные данные, определяем размеры прогнозируемых зон загрязнения местности и нанесём их вне масштаба в виде правильных эллипсов (Рисунок 10.1):

М L=270 км;A L=75 км;Б L=17.4 км;B L=5.8 км.

09.00 19.03

Рисунок 10.1 - Прогнозируемые зоны загрязнения местности

4. Исходя из заданного расстояния лаборатории (Rx = 10 км) до аварийного реактора с учетом образующихся зон загрязнения устанавливаем, что лаборатория оказалась на середине зоны «Б».

5. Определяем время начала формирования следа радиоактивного загрязнения (tср) после аварии (время начала выпадения радиоактивных осадков на территории лаборатории): tср = 0.5 часа.

Следовательно, лаборатория через 0.5 часа после аварии окажется в зоне радиоактивного загрязнения, что потребует дополнительных мер по защитe рабочего персонала.

6. Определяем дозу облучения, которую получит рабочий персонал лаборатории при открытом расположении в середине зоны «Б». Дзоны=14.6 бэр.

Расчёт дозы с учётом середины границы производим по формуле (10.1):

;(10.1)

; .

Получим:

бэр.

Расчет показывает, что рабочий персонал лаборатории за 9 часов работы в зоне «Б» может получить дозу меньше установленной (Дуст=20 бэр).

7. Определяем допустимый режим работы в лаборатории после аварии на АЭС при условии получения доз облучения не более Дуст=20 бэр. Для этого рассчитаем величину Дз по формуле (10.2 с учётом расположения лаборатории на середине границе зоны «Б»):

; (10.2) (10.2)

Т.о. получим:

бэр.

Так как рассчитанная доза облучения является меньше установленной, то сотрудники лаборатории могут начинать работу в зоне «Б» через 1 час и выполнять ее 9 часов, что соответствует исходным данным.

Таблица 10.1

Сводная таблица рассчитанных данных

Категория устойчивости атмосферы

Vср, м/с

Зона, место в зоне

Tср ч

Д зоны бэр

Д обл бэр

бэр

Режимы

Тнач; Траб - ?

Траб; Тнач - ?

Д - нейтральная (изотермия)

5

Б, середина

0.5

14.6

14.6

20

Тнач=1ч, Траб=9ч.

Оценка обстановки

1. Лаборатория оказалась на середине зоны «Б».

2. Сотрудники могут получить Добл=14.6 бэр, что не превышает допустимую дозу облучения за время работы.

3. Радиоактивное облако подойдёт через 30 минут

10.3 Мероприятия по защите сотрудников лаборатории

1. После получения оповещения о движении радиоактивного облака установить в лаборатории непрерывное радиационное наблюдение с переносными или стационарными дозиметрическими приборами.

2. При прохождении радиоактивного облака сотрудников лаборатории укрыть в убежище или ПРУ.

3. По данным разведки уточнить прогнозируемую радиационную обстановку.

4. При уровнях радиации (Р>5 мР/час) на открытой местности сотрудники лаборатории должны находиться в респираторах или противогазах.

5. Во избежание переоблучения сотрудников лаборатории необходимо организовать сменную работу с учётом допустимой зоны.

6. Для исключения заноса радиоактивных веществ внутрь помещений лаборатории необходимо загерметизировать их, а при наличии фильтровентиляционных установок включить их в режиме «чистой вентиляции».

7. После выпадения радиоактивных осадков для снижения загрязнённости открытой территории произвести дезактивационные работы с последующим контролем степени загрязнённости.

8. При больших уровнях загрязнённости и невозможности работы сотрудников лаборатории необходимо эвакуировать в незагрязнённые районы.

9. В случае необходимости режим работы может быть следующим: Тнач = 1ч Траб=9ч

При этом доза облучения (14.6 бэр) будет меньше Дуст=20 бэр.

ЗАКЛЮЧЕНИЕ

В данном дипломном проекте была разработана программная система оптимизации работы сети, модуль протоколов управления, ориентированная на использование в небольших локальных сетях и в университетских лабораториях компьютерных сетей для проведения практических занятий. В процессе выполнения проекта были получены следующие результаты:

- исследована область применения систем такого класса и актуальность их внедрения в наше время;

- проанализированы литературные источники по теме;

- проведен системотехнический анализ задачи, в результате которого были выявлены принципы оптимального разбиения на подзадачи для оптимизации процесса разработки и улучшения ее качества;

- проведен вариантный анализ выбора протокола, предоставляющий удаленный доступ по сети;

- была формально описана разработанная подсистема - модуль протоколов управления;

- разработана и воплощена методика тестирования подсистемы;

- проведен расчет технико-экономических показателей проектируемого продукта;

- проанализированы аспекты охраны труда;

- проведена оценка радиационной обстановки в лаборатории при загрязнении радиоактивными веществами после аварии на АЭС.

Программная система рекомендуется к применению в учебных заведениях, в качестве лабораторного практикума для изучения основных особенностей системного администрирования, а также в малых и средних предприятиях, использующих системное администрирование компьютерной сети в различных отраслях и сферах деятельности.

Успешное внедрение системы позволит оптимизировать работу сети предприятия под требования конкретной организации. При этом внедрение системы не требует значительных финансовых и временных затрат, что позволяет говорить о перспективной успешности ее применения.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Методические указания «Процедура системного анализа при проектировании программных систем» для студентов-дипломников дневной и заочной формы обучения специальности 7.091501 / Сост. Сергеев Г.Г., Скатков А.В., Мащенко Е.Н. - Севастополь каф. КВТ СевНТУ, 2005. - 32с.

2. Щепин Ю.Н. Методические указания к практическому занятию на тему «Метод анализа иерархий» по дисциплине «Теория оптимальных решений» / Ю.Н. Щепин - Севастополь: Изд-во СевНТУ, 2002 - 11с.

3. Стахнов А.А. Сеть для офиса и Linux-сервер своими руками. - СПб.: БХВ-Петербург, 2006. - 320с.:ил.

4. Эви Немет. Руководство администратора Linux.: Пер.с англ. - М.: Издательский дом «Вильямс», 2005. - 880с.: ил. - Парал. тит.англ.

5. Браун П. Введение в операционную систему UNIX. -М.: Мир, 1987. -287 с.

6. Тихомиров В.П., Давидов М.И. Операционная система UNIX: Инструментальные средства программирования. - М.: Финансы и статистика, 1988. -206 с.

7. Керниган Б.В., Пайк Р. UNIX - Универсальная среда программирования. -М.: Финансы и статистика, 1992 -304 с.

8. Т. Адельштайн, Б. Любанович. Системное администрирование в Linux.: Пер.с англ. - М.: Издательский дом «Питер», 2010. - 288с.: ил. - Парал. тит.англ.

9. Алексей Береснев. Администрирование GNU/Linux с нуля. - СПб.: БХВ-Петербург, 2010. - 576с.:ил.

10. В.М.Вишневский. Теоретические основы проектирования компьютерных сетей Москва: Техносфера, 2003. -- 512с.

11. Ното П. JAVA: Справ. руководство: Пер. с англ./ Под ред. А. Тихонова. М.: БИНОМ, 1996. - 447с.

12. Патрик Нотон, Герберт Шилдт Полный справочник по Java.- McGraw-Hill,1997, Издательство "Диалектика",1997.

13. Чен М.С. и др. Программирование на JAVA:1001 совет:Наиболее полное руководство по Java и Visual J++:Пер.с англ. / Чен М.С., Грифис С.В., Изи Э.Ф.- Минск:Попурри,1997.-640с.ил.

14. И.Ю. Баженова Язык программирования Java.- АО "Диалог-МИФИ", 1997.

15.Кен Арнольд, Джеймс Гослинг Язык программирования Java.- Addison-Wesley Longman,U.S.A.,1996, Издательство "Питер-Пресс", 1997.

16. Методические указания к выполнению курсовой работы по дисциплинам «Основы менеджмента и маркетинга», «Менеджмент» для студентов специальностей 7.091501, 7.091401, 7.080401 всех форм обучения / Сост. Г.А. Раздобреева, Е.В. Коваль, Т.В. Кулешова, С.В. Ключко - Севастополь: Изд-во СевНТУ, 2009. - 24с.

17. Баркен Д.И. Маркетинг для всех / Д.И. Баркен -М.: Редакционно-издательский центр "Культ-информ-пресс", 1991г. - 257с.

18. Котлер Ф. Менеджмент- маркетинг / Ф.Котлер. Пер. с англ.-М.: Прогресс, 2000 -520с.

19. Ильин А.М. Планирование на предприятии / А.М. Ильин - Минск: Инфра - М., 2001- 680с.

20. Богатин Ю.В. Экономическая оценка качества и эффективности работы предприятия / Ю.В. Богатин. - М: Знание, 1999.-214с.

21. Прыкина Л.В. Экономический анализ предприятия / Л.В. Прыкина. - М: Финансы, 2003.- 432с.

22. Методические указания для выполнения раздела «Охрана труда и окружающей среды» в дипломных проектах специальностей 8.080401-«Информационные управляющие системы и технологии», 8.092502-«Компьютерно-интегрированные технологические процессы и производства», 8.091401-«Системы управления автоматики», 8.091501-«Компьютерные системы и сети»/Сост. Е.И. Азаренко. - Севастополь: Изд-во СевНТУ, 2005. - 10 с.

23. ДСанПіН 3.3.2.007-98. Державні санітарні правила і норми роботи з візуальними дисплейними терміналами електронно-обчислювальних машин ЕОМ. - К., 1998. - 17 с.

24. ГОСТ 12.1.005-88. ССБТ. Общие санитарно-гигиенические требования к воздуху рабочей зоны. - Введ. с 01.01.810. - М.: Издательство стандартов, 1988. - 85 с. УДК 658. Группа Т58.

25. ГОСТ 12.1.003 - 89. ССБТ. Шум. Общие требования безопасности. - Введ.01.01.90.

26. ДБН В.2.5-28-2006. Природне і штучне освітлення. - К.: Мінбуд України, 2006. - 12 с.

27. ГОСТ 12.2.008.0-85. ССБТ. Изделия электротехнические. Общие требования безопасности. - Введ. с 10.10.85. - М.: Издательство стандартов, 1988. - 14 с. УДК 614. Группа Т58.

28. ДБН В.1.1.7-2002. Пожежна безпека об'єктів будівництва. - К.: Держбуд України, 2003. - 36с.

29. ГОСТ 12.1.004-85. ССБТ. Пожарная безопасность. Общие требования. - Взамен ГОСТ 12.1.004-86; Введ. с 28.03.85 до 01.08.92. - М.: Издательство стандартов, 1988. - 88 с. УДК 614. Группа Т58.

30. ГОСТ 12.1.006-84. Система стандартов безопасности труда электромагнитные поля радиочастот допустимые уровни на рабочих местах и требования к проведению контроля - Взамен ГОСТ 12.1.006-86; Введ. с 01.01.86 - - М.: Издательство стандартов, 1988. - 10 с. УДК 614.

31. Методические указания к расчётной части раздела «Охрана труда» в дипломных проектах «Расчёт естественного и искусственного освещения». - Севастополь: Изд-во СевНТУ, 2005. - 20с.

32. Методические указания к расчётной части раздела «Безопасность в чрезвычайных ситуациях» в дипломных проектах «Оценка радиационной обстановки в лаборатории при загрязнении радиоактивными веществами после аварии на АЭС». - Севастополь: Изд-во СевНТУ, 2011. - 24с.

33. http://www.pcweek.ru/foss/article/detail.php?ID=136556.

ПРИЛОЖЕНИЕ А

1.Class Interface1.

import java.io.*;

import java.util.ArrayList;

import java.util.Collections;

import javax.swing.JComboBox;

import javax.swing.JDialog;

import javax.swing.JFileChooser;

import javax.swing.JOptionPane;

public class Interface1 extends javax.swing.JFrame {

String[] adduserParams;

String[] umodParams;

int i,j;

public Interface1() {

initComponents();

chmodPathfile.setEditable(false);

jLabel9.setText("<html><u>еще файл</u></html>");

jLabel29.setText("<html><u>еще параметр</u></html>");

jLabel31.setText("<html><u>еще параметр</u></html>");}

/*

* Диалог открытия файлов

*/

String openFileDialog(JDialog dialog){

String pathToFile = "";

JFileChooser fc = new JFileChooser();

fc.showOpenDialog(dialog);

File selFile = fc.getSelectedFile();

if (!fc.getCurrentDirectory().toString().equals("/"))

pathToFile = fc.getCurrentDirectory()+"/"+fc.getName(selFile);

else

pathToFile = fc.getCurrentDirectory()+fc.getName(selFile);

return pathToFile;}

/*

* Диалог открытия папок

*/

String openDirectoryDialog(JDialog dialog){

String pathToFile = "";

JFileChooser fc = new JFileChooser();

fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

fc.showOpenDialog(dialog);

File selFile = fc.getSelectedFile();

if (!fc.getCurrentDirectory().toString().equals("/"))

pathToFile = fc.getCurrentDirectory()+"/"+fc.getSelectedFile().getName();

else

pathToFile = "/" + fc.getSelectedFile().getName();

return pathToFile;}

/*

* Вызов команды Linux

*/

void runCommand(String command) throws IOException{

Runtime.getRuntime().exec(command);}

void makeAdduserCom(String[] param){

String su = "";

String parameters = "";

String username = userName.getText();

if (systemUser.isSelected())

su = "--system";

for (int x = 0; x < i+2; x++)

if (param[x] != null)

parameters = parameters + param[x] + " ";

adduserCommand.setText("adduser "+su+" " + parameters + " " +

username);}

void makeDeluserCom(){

String username = delUsername.getText();

String parameter = deluserOpt.getSelectedItem().toString();

String pathToBackup = "";

if (!backupPath.equals(""))

pathToBackup = backupPath.getText();

deluserCommand.setText("deluser "+parameter+" "+pathToBackup+"

"+username);}

void makeUsermodCom(String[] param){

String parameters = "";

String username = usermodName.getText();

for (int y = 0; y < j+2; y++)

if (param[y] != null)

parameters = parameters + param[y] + " ";

usermodCommand.setText("usermod " + parameters + " " + username);}

void makePasswdCom(){

String username = passwdName.getText();

String parameter = passwdOpt.getSelectedItem().toString();

String days = daysField.getText();

passwdCommand.setText("passwd " + parameter + " " + days + " " +

username);}

void makeAddgroupCom(){

String groupname = addgroupName.getText();

String option = addgroupOpt.getSelectedItem().toString();

String gid = addgroupGid.getText();

String system = "";

if(systemGroup.isSelected())

system = "--system";

addgroupCommand.setText("addgroup " + system + " " + option + " " + gid

+ " " + groupname);}

void makeDelgroupCom(){

String groupname = delgroupName.getText();

String option = delgroupOpt.getSelectedItem().toString();

delgroupCommand.setText("delgroup " + option + " " + groupname);}

void makeGroupmodCom(){

String groupname = groupmodName.getText();

String option = groupmodOpt.getSelectedItem().toString();

String gmfiled = groupmodField.getText();

groupmodCommand.setText("groupmod " + option + " " + gmfiled + " " +

groupname);}

void makeGpasswdCom(){

String groupname = gpasswdName.getText();

String option = gpasswdOpt.getSelectedItem().toString();

String username = gpasswdName1.getText();

gpasswdCommand.setText(("gpasswd " + option + " " + username + " " +

groupname));}

/*

* Формирование текста команды chmod

*/

void makeChmodCom(){

String pathfile = chmodPathfile.getText();

String user = chmodUsers.getSelectedItem().toString();

String permissions = chmodPerms.getSelectedItem().toString();

String options = chmodOptions.getSelectedItem().toString();

chmodCommand.setText("chmod " + options + " " + user + permissions + "

" + pathfile);}

/*

* Формирование текста команды chown

*/

void makeChownCom(){

String temp = "";

String command_text = "";

String pathfile = chownPathFile.getText();

String user = chownUser.getText();

String group = chownGroup.getText();

String options = chownOptions.getSelectedItem().toString();

if (!group.isEmpty())

temp = user+":"+group;

else

temp = user;

command_text = "chown " + options + " " + temp + " " + pathfile;

chownCommand.setText(command_text);}

/*

* Формирование текста команды umask

*/

void makeUmaskCom(){

String mask = umaskMask.getText();

jLabel13.setText("umask " + mask);}

/*

* Создание и формирование sh-файла

*/

void makeSh(String filename, String[] command) throws IOException{

File file = new File("part1/"+filename);

if (file.exists()) {

file.delete();}

try (Writer output = new BufferedWriter(new FileWriter(file))) {

output.write("#!/bin/bash");

output.write("\n");

for (int i = 0; i < command.length; i++)

output.write("su --command="+'"'+command[i]+'"');

output.write("\n");

output.write("sleep 5");

output.close();}}

/*

* Создание и формирование sh-файла с командой umask

*/

void makeUmaskSh(String username, String mask) throws IOException{

File file = new File("part1/umask.sh");

if (file.exists()) {

file.delete();}

try (Writer output = new BufferedWriter(new FileWriter(file))) {

output.write("#!/bin/bash");

output.write("\n");

if (username.equals(" ") && mask.equals("")){

output.write("umask\n");

output.write("sleep 3");

output.close();}

else{

if (username.equals(" "))

output.write("if grep '^umask' $HOME/.profile");

output.write("if grep '^umask' /home/"+username+"/.profile"+"\n");

output.write("then"+"\n\t");

output.write("su --command="+'"'+"sed -i '$d'

/home/"+username+"/.profile;"+"\n\t");

output.write("echo 'umask "+mask+"' >>

/home/"+username+"/.profile"+'"'+"\n");

output.write("else\n\t");

output.write("su --command="+'"'+"echo 'umask "+mask+"' >>

/home/"+username+"/.profile"+'"'+"\n");

output.write("fi\n");

output.write("sleep 5");

output.close();}}}

/*

* Формирование выпадающего списка пользователей,

зарегистрированных в системе

*/

void usersToCombo() throws IOException{

umaskUsers.removeAllItems();

umaskUsers.addItem("");

String ex_com = "sh part1/users.sh";

runCommand(ex_com);

BufferedReader in = new BufferedReader(new

FileReader("/tmp/users.txt"));

String line;

while ((line = in.readLine()) != null){

if (!line.equals("ftp"))

umaskUsers.addItem(line);}}

void adduserDialogClean(){

userOpts.setSelectedIndex(0);

userHomePath.setText("");

userShell.setSelectedIndex(0);

userGroup.setText("");

userID.setText("");}

void deluserDialogClean(){

deluserOpt.setSelectedIndex(0);

backupPath.setText("");}

void usermodDialogClean(){

usermodOpts.setSelectedIndex(0);

userHomePath1.setText("");

usermodField.setText("");}

void passwdDialogClean(){

passwdOpt.setSelectedIndex(0);

daysField.setText("");}

void addgroupDialogClean(){

addgroupOpt.setSelectedIndex(0);

addgroupGid.setText("");

systemGroup.setSelected(false);}

void gpasswdDialogClean(){

gpasswdName1.setText("");

gpasswdOpt.setSelectedIndex(0);}

/*

* Сброс значений в диалоге работы с командой chmod

*/

void chmodDialogClean(){

chmodCommand.setText("chmod");

chmodPathfile.setText("");

chmodPerms.setSelectedIndex(0);

chmodUsers.setSelectedIndex(0);

chmodOptions.setSelectedIndex(0);}

/*

* Сброс значений в диалоге работы с командой chown

*/

void chownDialogClean(){

chownCommand.setText("chown");

chownUser.setText("");

chownGroup.setText("");

chownPathFile.setText("");

chownOptions.setSelectedIndex(0);

chownOpenFile.setEnabled(true);

jLabel9.setEnabled(false);}

/*

* Сброс значений в диалоге работы с командой umask

*/

void umaskDialogClean(){

umaskUsers.setSelectedIndex(0);

umaskMask.setText("");

jLabel13.setText("umask");}

/*

* Установка всплывающих подсказок для элементов раскрывающегося

списка

*/

void ComboTooltip(JComboBox box, String[] tooltipsArray){

ComboboxToolTipRenderer renderer = new ComboboxToolTipRenderer();

box.setRenderer(renderer);

renderer.setTooltips(makeTooltipsArray(tooltipsArray));}

/*

* Создание специальной структуры - массива-списка подсказок из

массива строк

*/

ArrayList makeTooltipsArray(String[] StringArray){

ArrayList myList = new ArrayList();

Collections.addAll(myList, StringArray);

return myList;}

/*

* Запуск проверки установки демонов (служб)

*/

boolean runCheck(){

boolean passed = false;

statusArea.setText("");

statusArea.append("Проверка \nустановки демонов... \n\n");

DoRuntime dr = new DoRuntime();

try {

statusArea.append(dr.installVerify("ssh")+"\n");

if (dr.isInstalled==true){

ssh_installButton.setEnabled(false);

ssh_configButton.setEnabled(true);

sshd_configButton.setEnabled(true);

passed = true;}

else

ssh_installButton.setEnabled(true);

} catch (IOException ex) {}

return passed;}

/*

* Запуск проверки состояния запуска

*/

void runCheckDaemon(){

statusArea.append("\nПроверка \nзапуска демонов... \n\n");

DoRuntime dr = new DoRuntime();

try {

if (dr.isRunning()==true){

statusArea.append("sshd: запущен"+"\n");

ssh_runButton.setEnabled(false);

ssh_stopButton.setEnabled(true);}

else {

statusArea.append("sshd: не запущен"+"\n");

ssh_runButton.setEnabled(true);

ssh_stopButton.setEnabled(false);}

} catch (IOException ex) {}}

String[] getOutput(String command) throws IOException{

String[] output = new String[12];

String arg = command;

Runtime runtime = Runtime.getRuntime();

Process process = runtime.exec(arg);

InputStream is = process.getInputStream();

InputStreamReader isr = new InputStreamReader(is);

BufferedReader br = new BufferedReader(isr);

String line = "";

String comWords[] = command.split("\\s+");

String words[];

switch(comWords[0]){

case "users":

output[0] = "\nВ настоящий момент в системе\n";

output[1] = "работают следующие\n";

output[2] = "пользователи:\n\n";

int j = 3;

while((line = br.readLine()) != null){

words = line.split("\\s+");

for (int i = 0; i < words.length; i++)

output[j] = words[i]+"\n";

j++;}

break;

case "groups":

output[0] = "\nПолучаем информацию о том,\n";

output[1] = "в какие группы входят \n";

output[2] = "пользователи. Формат вывода -\n";

output[3] = "имя_пользователя : имя_группы\n\n";

int i = 4;

while((line = br.readLine()) != null){

output[i] = line+"\n";

i++; }}

return output;}

void adduserComponentsHide(){

jLabel23.setVisible(false);

userHomePath.setVisible(false);

userOpenDir.setVisible(false);

jLabel24.setVisible(false);

userShell.setVisible(false);

jLabel25.setVisible(false);

userGroup.setVisible(false);

userID.setVisible(false);

jLabel26.setVisible(false);

adduserDialog.pack();}

void deluserComponentsHide(){

jLabel28.setVisible(false);

backupPath.setVisible(false);

chooseBackup.setVisible(false);

deluserDialog.pack();}

void usermodComponentsHide(){

jLabel32.setVisible(false);

userHomePath1.setVisible(false);

userOpenDir1.setVisible(false);

jLabel33.setVisible(false);

usermodField.setVisible(false);

usermodDialog.pack();}

void passwdComponentsHide(){

jLabel36.setVisible(false);

daysField.setVisible(false);

passwdDialog.pack();}

void addGroupComponentsHide(){

jLabel38.setVisible(false);

addgroupGid.setVisible(false);

addgroupDialog.pack();}

void groupmodComponentsHide(){

jLabel41.setVisible(false);

groupmodField.setVisible(false);

groupmodDialog.pack();}

void gpasswdComponentsHide(){

jLabel43.setVisible(false);

gpasswdName1.setVisible(false);

gpasswdDialog.pack();}

void prepUsermod(String text){

jLabel33.setVisible(true);

usermodField.setVisible(true);

jLabel33.setText(text);

usermodField.setText("");

usermodField.setToolTipText(null);}

@SuppressWarnings("unchecked") Generate code

private void formWindowClosing(java.awt.event.WindowEvent evt) {

int n = JOptionPane.showConfirmDialog(

this.rootPane,

"Вы действительно хотите выйти?",

"Confirm",

JOptionPane.YES_NO_OPTION);

if (n==0){

dispose();

System.exit(1);}}

private void groupsButtonActionPerformed(java.awt.event.ActionEvent evt)

{

groupsDialog.setVisible(true);}

private void delgroupButtonActionPerformed(java.awt.event.ActionEvent

evt) {

delgroupDialog.setVisible(true);}

private void chmodButtonActionPerformed(java.awt.event.ActionEvent evt)

{

chmodDialog.setVisible(true);}

private void chmodOKActionPerformed(java.awt.event.ActionEvent evt) {

String file_name = "chmod.sh";

String[] com = { chmodCommand.getText() };

String ex_com1 = "chmod +x part1/"+file_name;

String ex_com2 = "gnome-terminal -x part1/"+file_name;

try {

makeSh(file_name,com);

runCommand(ex_com1);

runCommand(ex_com2);

} catch (IOException ex) {}}

private void chmodCancelActionPerformed(java.awt.event.ActionEvent evt)

{

chmodDialogClean();

chmodDialog.setVisible(false);}

private void chownButtonActionPerformed(java.awt.event.ActionEvent evt)

{

chownDialog.setVisible(true);}

private void chmodDiscardActionPerformed(java.awt.event.ActionEvent

evt) {

chmodDialogClean();}

private void ssh_configButtonActionPerformed(java.awt.event.ActionEvent

evt) {

String ex_com = "gnome-terminal -x part1/ssh_config.sh";

try {

runCommand(ex_com);

} catch (IOException ex) {}}

private void

sshd_configButtonActionPerformed(java.awt.event.ActionEvent evt) {

String ex_com = "gnome-terminal -x part1/sshd_config.sh";

try {

runCommand(ex_com);

} catch (IOException ex) {}}

private void ssh_installButtonActionPerformed(java.awt.event.ActionEvent

evt) {

String ex_com = "gnome-terminal -x part1/ssh_install.sh";

try {

runCommand(ex_com);

} catch (IOException ex) {}

try {

Thread.sleep(8000);

} catch (InterruptedException ex) {}

if (runCheck())

runCheckDaemon();}

private void ssh_runButtonActionPerformed(java.awt.event.ActionEvent

evt) {

String ex_com = "gnome-terminal -x part1/ssh_run.sh";

try {

runCommand(ex_com);

} catch (IOException ex) {}

if (runCheck())

runCheckDaemon();}

private void ssh_stopButtonActionPerformed(java.awt.event.ActionEvent

evt) {

String ex_com = "gnome-terminal -x part1/ssh_stop.sh";

try {

runCommand(ex_com);

} catch (IOException ex) {}

if (runCheck())

runCheckDaemon();}

private void chownClearActionPerformed(java.awt.event.ActionEvent evt) {

chownDialogClean();}

private void chownDiscardActionPerformed(java.awt.event.ActionEvent

evt) {

chownDialogClean();

chownDialog.setVisible(false);}

private void umaskClearActionPerformed(java.awt.event.ActionEvent evt) {

umaskDialogClean();}

private void umaskCancelActionPerformed(java.awt.event.ActionEvent evt)

{

umaskDialogClean();

umaskDialog.setVisible(false);}

private void umaskOKActionPerformed(java.awt.event.ActionEvent evt) {

String file_name = "umask.sh";

String username = umaskUsers.getSelectedItem().toString();

String mask = umaskMask.getText();

String ex_com1 = "chmod +x part1/"+file_name;

String ex_com2 = "gnome-terminal -x part1/"+file_name;

try {

makeUmaskSh(username,mask);

runCommand(ex_com1);

runCommand(ex_com2);

} catch (IOException ex) {}}

private void chownOKActionPerformed(java.awt.event.ActionEvent evt) {

String file_name = "chown.sh";

String[] com = { chownCommand.getText() };

String ex_com1 = "chmod +x part1/"+file_name;

String ex_com2 = "gnome-terminal -x part1/"+file_name;

try {

makeSh(file_name,com);

runCommand(ex_com1);

runCommand(ex_com2);

} catch (IOException ex) {}

chownOpenFile.setEnabled(false);}

private void chmodOpenFileActionPerformed(java.awt.event.ActionEvent

evt) {

chmodPathfile.setText(openFileDialog(this.chmodDialog));

makeChmodCom();}

private void chownOpenFileActionPerformed(java.awt.event.ActionEvent

evt) {

chownPathFile.setText(openFileDialog(this.chownDialog));

makeChownCom();

jLabel9.setEnabled(true);}

private void chmodUsersItemStateChanged(java.awt.event.ItemEvent evt) {

makeChmodCom();}

private void chmodPermsItemStateChanged(java.awt.event.ItemEvent evt) {

makeChmodCom();}

private void chmodOptionsItemStateChanged(java.awt.event.ItemEvent evt)

{

makeChmodCom();}

private void jLabel9MouseClicked(java.awt.event.MouseEvent evt) {

chownOpenFile.setEnabled(false);

String field_text = chownPathFile.getText();

chownPathFile.setText(field_text + " " +

openFileDialog(this.chownDialog));

makeChownCom();

jLabel9.setEnabled(false);}

private void chownOptionsItemStateChanged(java.awt.event.ItemEvent evt)

{

makeChownCom();}

private void umaskButtonActionPerformed(java.awt.event.ActionEvent evt)

{

try {

usersToCombo();

} catch (IOException ex) {}

umaskDialog.setVisible(true);}

private void terminalButtonActionPerformed(java.awt.event.ActionEvent

evt) {

String ex_com = "gnome-terminal";

try {

runCommand(ex_com);

} catch (IOException ex) {}}

private void hintsButtonItemStateChanged(java.awt.event.ItemEvent evt) {

if(hintsButton.isSelected()){

adduserButton.setToolTipText("Добавить пользователя в систему");

deluserButton.setToolTipText("Удалить пользователя из системы");

usermodButton.setToolTipText("Изменить параметры учетной записи

пользователя");

usersButton.setToolTipText("Напечатать имена пользователей, которые в

данный момент работают в системе");

passwdButton.setToolTipText("Изменить пароль пользователя");

etcPasswdButton.setToolTipText("Открыть для просмотра

(редактирования) файл с перечнем пользовательских учетных записей,

известных системе");

addgroupButton.setToolTipText("Добавить группу в систему");

delgroupButton.setToolTipText("Удалить группу из системы");

groupmodButton.setToolTipText("Изменить определение группы в

системе");

groupsButton.setToolTipText("Напечатать имена групп, в которые

входят пользователи");

gpasswdButton.setToolTipText("Управление группами и их паролями");

etcGroupButton.setToolTipText("Открыть для просмотра

(редактирования) файл с перечнем групп, известных системе");

chmodButton.setToolTipText("Программа для изменения прав доступа к

файлам и директориям");

chownButton.setToolTipText("Утилита, изменяющая владельца и/или

группу для указанных файлов");

umaskButton.setToolTipText("Функция, изменяющая права доступа,

которые присваиваются новым файлам и директориям по умолчанию");

ssh_configButton.setToolTipText("Редактировать файл конфигурации

клиента протокола SSH из пакета OpenSSH ");

sshd_configButton.setToolTipText("Редактировать файл конфигурации

службы openSSH");

terminalButton.setToolTipText("Вызвать терминал Linux");

String[] adduserTips = { "",

"Этот параметр помещает пользователя в группу с номером ID",

"Показать краткую инструкцию",

"Использовать указанную папку в качестве домашнего каталога

пользователя",

"Выбрать оболочку, которая будет использоваться в качестве

регистрационной оболочки",

"Добавить нового пользователя в группу с именем",

"Не создавать домашний каталог, даже если он не существует.",

"Не выводить информационные сообщения, показывать только

предупреждения и ошибки",

"Показывать отладочную информацию",

"Присвоить пользователю опреденный UID"};

ComboTooltip(userOpts, adduserTips);

String[] deluserTips = { "",

"Показать краткую инструкцию",

"Не выводить сообщения о ходе работы",

"Выполнить удаление, только если пользователь является системным",

"Выполнить резервное копирования всех файлов домашнего каталога в

архив с именем /$user.tar.bz2 или /$user.tar.gz",

"Помещать файлы резервных копий в указанный каталог",

"Удалить домашний каталог пользователя и его хранилище почты",

"Удалить все файлы из системы, принадлежащие этому

пользователю"};

ComboTooltip(deluserOpt, deluserTips);

String[] usermodTips = { "",

"Добавить пользователя в дополнительную группу(ы)",

"Установить новую папку входа для пользователя",

"Установить дату, когда учётная запись пользователя будет

заблокирована",

"Установить количество дней после истечения срока действия пароля,

когда учетная запись будет полностью отключена",

"Изменить имя пользователя на новое",

"Заблокировать пароль пользователя",

"Получить шифрованное значение пароля, которое возвращает

функция crypt",

"Установить имя новой регистрационной оболочки пользователя",

"Установить новое значение идентификатора пользователя (uid)",

"Разблокировать пароль пользователя"};

ComboTooltip(usermodOpts, usermodTips);

String[] passwdTips = { "",

"Вывод статуса всех пользователей",

"Удалить пароль пользователя (сделать его пустым). Это быстрый

способ заблокировать пароль учётной записи",

"Немедленно сделать пароль устаревшим",

"Показать краткую справку и закончить работу",

"Блокировка учётной записи по прошествии заданного числа дней

после устаревания пароля",

"Задать минимальное количество дней между сменой пароля",

"Разблокировать пароль пользователя",

"Установить число дней выдачи предупреждения, перед тем как

потребуется смена пароля",

"Установить максимальное количество дней, в течении которых пароль

остаётся рабочим"};

ComboTooltip(passwdOpt, passwdTips);

String[] addgroupTips = { "",

"Задать идентификатор группы при ее создании"};

ComboTooltip(addgroupOpt, addgroupTips);

String[] delgroupTips = { "",

"Удалить группу, если в нее не входят пользователи"};

ComboTooltip(delgroupOpt, delgroupTips);

String[] groupmodTips = { "",

"Изменить идентификатор группы (GID) на новый",

"Показать краткую справку и закончить работу",

"Изменить имя группы на новое"};

ComboTooltip(groupmodOpt, groupmodTips);

usernameGroups.setToolTipText("Имена пользователей перечислять

через пробел");

String[] gpasswdTips = { "",

"Добавить пользователя в группу",

"Удалить пользователя из группы",

"Удалить пароль группы",

"Запретить доступ к группе"};

ComboTooltip(gpasswdOpt, gpasswdTips);

String[] usersTip = { "",

"user - владелец файла",

"group - пользователи, которые являются членами группы владельца

файла",

"others - пользователи, которые не являются владельцем файла или

членом группы",

"all - все пользователи",

"group & other - все пользователи, кроме владельца файла" };

ComboTooltip(chmodUsers, usersTip);

String[] rightsTip = { " '+' - добавить указанный режим, '-' - удалить

указанный режим",

"read - чтение файла или просмотр содержимого каталога",

"write - запись в файл или каталог",

"execute - запустить файл или открыть каталог",

"Изменить права доступа к файлу файл для чтения и записи",

"Изменить права доступа к файлу файл для чтения и запуска",

"Изменить права доступа к файлу файл для записи и запуска",

"Изменить права доступа к файлу файл для чтения, записи и запуска",

"read - чтение файла или просмотр содержимого каталога",

"write - запись в файл или каталог",

"execute - запустить файл или открыть каталог",

"Изменить права доступа к файлу файл для чтения и записи",

"Изменить права доступа к файлу файл для чтения и запуска",

"Изменить права доступа к файлу файл для записи и запуска",

"Изменить права доступа к файлу файл для чтения, записи и запуска"};

ComboTooltip(chmodPerms, rightsTip);

String[] chmodOptionsTip = { "",

"Cкрывать большинство ошибок",

"Выводить диагностические сообщения для каждого файла",

"Подробный отчет, но только тогда, когда вносятся изменения",

"Изменение файлов и директорий рекурсивно",

"Показать справку и выйти",};

ComboTooltip(chmodOptions, chmodOptionsTip);

String[] chownOptionsTip = {"",

"Подробно описывать действие для каждого файла, владелец которого

действительно изменяется",

"Не выдавать сообщения об ошибках для файлов, чей владелец не

может быть изменён",

"Работать с самими символьными ссылками, а не с файлами, на

которые они указывают",

"Рекурсивное изменение владельца каталогов и их содержимого",

"Подробное описание действия (или отсутствия действия) для каждого

файла",

"Изменить владельца файла, на который указывает символьная ссылка,

вместо самой символьной ссылки.",

"Показать справку и выйти" };

ComboTooltip(chownOptions, chownOptionsTip);}

else {

adduserButton.setToolTipText(null);

deluserButton.setToolTipText(null);

usermodButton.setToolTipText(null);

usersButton.setToolTipText(null);

passwdButton.setToolTipText(null);

etcPasswdButton.setToolTipText(null);

addgroupButton.setToolTipText(null);

delgroupButton.setToolTipText(null);

groupmodButton.setToolTipText(null);

groupsButton.setToolTipText(null);

gpasswdButton.setToolTipText(null);

etcGroupButton.setToolTipText(null);

chmodButton.setToolTipText(null);

chownButton.setToolTipText(null);

umaskButton.setToolTipText(null);

ssh_configButton.setToolTipText(null);

sshd_configButton.setToolTipText(null);

terminalButton.setToolTipText(null);

usernameGroups.setToolTipText(null);

String[] adduserTips = { "","","","","","","","",""};

ComboTooltip(userOpts, adduserTips);

String[] deluserTips = { "","","","","","","","" };

ComboTooltip(deluserOpt, deluserTips);

String[] usermodTips = { "","","","","","","","","","","" };

ComboTooltip(usermodOpts, usermodTips);

String[] usersTip = { "", "", "", "", "", "" };

ComboTooltip(chmodUsers, usersTip);

String[] passwdTips = { "","","","","","","","","" };

ComboTooltip(passwdOpt, passwdTips);

String[] addgroupTips = { "","" };

ComboTooltip(addgroupOpt, addgroupTips);

String[] delgroupTips = { "","" };

ComboTooltip(delgroupOpt, delgroupTips);

String[] groupmodTips = { "","","","" };

ComboTooltip(groupmodOpt, groupmodTips);

String[] gpasswdTips = { "","","","","" };

ComboTooltip(gpasswdOpt, gpasswdTips);

String[] rightsTip = { "", "", "", "","","","","","","","","","","","" };

ComboTooltip(chmodPerms, rightsTip);

String[] chmodOptionsTip = { "","","","","","" };

ComboTooltip(chmodOptions, chmodOptionsTip);

String[] chownOptionsTip = { "","","","","","","","" };

ComboTooltip(chownOptions, chownOptionsTip);}}

private void umaskMaskKeyReleased(java.awt.event.KeyEvent evt) {

makeUmaskCom();}

private void chmodDialogWindowClosing(java.awt.event.WindowEvent

evt) {

chmodDialogClean();

chmodDialog.setVisible(false);}

private void chownDialogWindowClosing(java.awt.event.WindowEvent

evt) {

chownDialogClean();

chownDialog.setVisible(false);}

private void umaskDialogWindowClosing(java.awt.event.WindowEvent

evt) {

umaskDialogClean();

umaskDialog.setVisible(false);}

private void formWindowOpened(java.awt.event.WindowEvent evt) {

DoRuntime dr = new DoRuntime();

try {

dr.makeProcSh("sshd");

runCommand("chmod +x proc.sh");

} catch (IOException ex) {}

if (runCheck())

runCheckDaemon();

adduserComponentsHide();

deluserComponentsHide();

usermodComponentsHide();

passwdComponentsHide();

addGroupComponentsHide();

groupmodComponentsHide();}

private void addgroupButtonActionPerformed(java.awt.event.ActionEvent

evt) {

addgroupDialog.setVisible(true);}

private void groupmodButtonActionPerformed(java.awt.event.ActionEvent

evt) {

groupmodDialog.setVisible(true);}

private void etcGroupButtonActionPerformed(java.awt.event.ActionEvent

evt) {

String ex_com = "gnome-terminal -x part1/etcGroup.sh";

try {

runCommand(ex_com);

} catch (IOException ex) {}}

private void gpasswdButtonActionPerformed(java.awt.event.ActionEvent

evt) {

gpasswdDialog.setVisible(true);}

private void deluserButtonActionPerformed(java.awt.event.ActionEvent evt)

{

deluserDialog.setVisible(true);}

private void adduserButtonActionPerformed(java.awt.event.ActionEvent

evt) {

adduserDialog.setVisible(true);}

private void usermodButtonActionPerformed(java.awt.event.ActionEvent

evt) {

usermodDialog.setVisible(true);}

private void usersButtonActionPerformed(java.awt.event.ActionEvent evt) {

try{

String[] appendText = getOutput("users");

for (int i = 0; i < appendText.length; i++)

statusArea.append(appendText[i]);

statusArea.append("\n\n");}

catch(IOException e) {}}

private void etcPasswdButtonActionPerformed(java.awt.event.ActionEvent

evt) {

String ex_com = "gnome-terminal -x part1/etcPasswd.sh";

try {

runCommand(ex_com);

} catch (IOException ex) {}}

private void passwdButtonActionPerformed(java.awt.event.ActionEvent

evt) {

passwdDialog.setVisible(true);}

private void CancelActionPerformed(java.awt.event.ActionEvent evt) {

adduserDialogClean();

adduserComponentsHide();

adduserDialog.setVisible(false);}

private void ClearActionPerformed(java.awt.event.ActionEvent evt) {

i = 0;

adduserParams = new String[12];

adduserDialogClean();

userName.setText("");

makeAdduserCom(adduserParams);}

private void OKActionPerformed(java.awt.event.ActionEvent evt) {

String file_name = "adduser.sh";

String[] com = { adduserCommand.getText() };

String ex_com1 = "chmod +x part1/"+file_name;

String ex_com2 = "gnome-terminal -x part1/"+file_name;

try {

makeSh(file_name,com);

runCommand(ex_com1);

runCommand(ex_com2);

} catch (IOException ex) {}}

private void Cancel1ActionPerformed(java.awt.event.ActionEvent evt) {

deluserDialogClean();

deluserComponentsHide();

deluserDialog.setVisible(false);}

private void Clear1ActionPerformed(java.awt.event.ActionEvent evt) {

deluserDialogClean();

deluserComponentsHide();

delUsername.setText("");}

private void OK1ActionPerformed(java.awt.event.ActionEvent evt) {

String file_name = "deluser.sh";

String[] com = { deluserCommand.getText() };

String ex_com1 = "chmod +x part1/"+file_name;

String ex_com2 = "gnome-terminal -x part1/"+file_name;

try {

makeSh(file_name,com);

runCommand(ex_com1);

runCommand(ex_com2);

} catch (IOException ex) {}}

private void Cancel2ActionPerformed(java.awt.event.ActionEvent evt) {

usermodComponentsHide();

usermodDialogClean();

usermodName.setText("");

usermodDialog.setVisible(false);}

private void Clear2ActionPerformed(java.awt.event.ActionEvent evt) {

j = 0;

umodParams = new String[12];

usermodDialogClean();

usermodName.setText("");

makeUsermodCom(umodParams);}

private void OK2ActionPerformed(java.awt.event.ActionEvent evt) {

String file_name = "usermod.sh";

String[] com = { usermodCommand.getText() };

String ex_com1 = "chmod +x part1/"+file_name;

String ex_com2 = "gnome-terminal -x part1/"+file_name;

try {

makeSh(file_name,com);

runCommand(ex_com1);

runCommand(ex_com2);

} catch (IOException ex) {}}

private void Cancel3ActionPerformed(java.awt.event.ActionEvent evt) {

passwdComponentsHide();

passwdDialogClean();

passwdName.setText("");

passwdDialog.setVisible(false);}

private void Clear3ActionPerformed(java.awt.event.ActionEvent evt) {

passwdDialogClean();

passwdName.setText("");

passwdComponentsHide();}

private void OK3ActionPerformed(java.awt.event.ActionEvent evt) {

String file_name = "passwd.sh";

String[] com = { passwdCommand.getText() };

String ex_com1 = "chmod +x part1/"+file_name;

String ex_com2 = "gnome-terminal -x part1/"+file_name;

try {

makeSh(file_name,com);

runCommand(ex_com1);

runCommand(ex_com2);

} catch (IOException ex) {}}

private void Cancel4ActionPerformed(java.awt.event.ActionEvent evt) {

gpasswdComponentsHide();

gpasswdDialogClean();

gpasswdName.setText("");

gpasswdDialog.setVisible(false);}

private void Clear4ActionPerformed(java.awt.event.ActionEvent evt) {

gpasswdComponentsHide();

gpasswdDialogClean();

gpasswdName.setText("");}

private void OK4ActionPerformed(java.awt.event.ActionEvent evt) {

String file_name = "gpasswd.sh";

String[] com = { gpasswdCommand.getText() };

String ex_com1 = "chmod +x part1/"+file_name;

String ex_com2 = "gnome-terminal -x part1/"+file_name;

try {

makeSh(file_name,com);

runCommand(ex_com1);

runCommand(ex_com2);

} catch (IOException ex) {}}

private void Cancel5ActionPerformed(java.awt.event.ActionEvent evt) {

addgroupDialogClean();

addgroupName.setText("");

addgroupDialog.setVisible(false);}

private void Clear5ActionPerformed(java.awt.event.ActionEvent evt) {

addgroupDialogClean();

addgroupName.setText("");}

private void OK5ActionPerformed(java.awt.event.ActionEvent evt) {

String file_name = "addgroup.sh";

String[] com = { addgroupCommand.getText() };

String ex_com1 = "chmod +x part1/"+file_name;

String ex_com2 = "gnome-terminal -x part1/"+file_name;

try {

makeSh(file_name,com);

runCommand(ex_com1);

runCommand(ex_com2);

} catch (IOException ex) {}}

private void Cancel6ActionPerformed(java.awt.event.ActionEvent evt) {

delgroupName.setText("");

delgroupOpt.setSelectedIndex(0);

delgroupDialog.setVisible(false);}

private void Clear6ActionPerformed(java.awt.event.ActionEvent evt) {

delgroupName.setText("");

delgroupOpt.setSelectedIndex(0);}

private void OK6ActionPerformed(java.awt.event.ActionEvent evt) {

String file_name = "delgroup.sh";

String[] com = { delgroupCommand.getText() };

String ex_com1 = "chmod +x part1/"+file_name;

String ex_com2 = "gnome-terminal -x part1/"+file_name;

try {

makeSh(file_name,com);

runCommand(ex_com1);

runCommand(ex_com2);

} catch (IOException ex) {}}

private void Cancel7ActionPerformed(java.awt.event.ActionEvent evt) {

groupmodOpt.setSelectedIndex(0);

groupmodField.setText("");

groupmodName.setText("");

groupmodDialog.setVisible(false);}

private void Clear7ActionPerformed(java.awt.event.ActionEvent evt) {

groupmodOpt.setSelectedIndex(0);

groupmodField.setText("");

groupmodName.setText("");}

private void OK7ActionPerformed(java.awt.event.ActionEvent evt) {

String file_name = "groupmod.sh";

String[] com = { groupmodCommand.getText() };

String ex_com1 = "chmod +x part1/"+file_name;

String ex_com2 = "gnome-terminal -x part1/"+file_name;

try {

makeSh(file_name,com);

runCommand(ex_com1);

runCommand(ex_com2);

} catch (IOException ex) {}}

private void Cancel8ActionPerformed(java.awt.event.ActionEvent evt) {

usernameGroups.setText("");

groupsDialog.setVisible(false);}

private void Clear8ActionPerformed(java.awt.event.ActionEvent evt) {

usernameGroups.setText("");}

private void OK8ActionPerformed(java.awt.event.ActionEvent evt) {

String usernames = usernameGroups.getText();

try{

String[] appendText = getOutput("groups "+usernames);

for (int i = 0; i < appendText.length; i++)

statusArea.append(appendText[i]);

statusArea.append("\n\n");}

catch(IOException e) {}}

private void userOptsItemStateChanged(java.awt.event.ItemEvent evt) {

adduserComponentsHide();

switch(userOpts.getSelectedItem().toString()){

case "--gid":

userID.setVisible(true);

jLabel26.setVisible(true);

break;

case "--home":

jLabel23.setVisible(true);

userHomePath.setVisible(true);

userOpenDir.setVisible(true);

break;

case "--shell":

jLabel24.setVisible(true);

userShell.setVisible(true);

break;

case "--ingroup":

jLabel25.setVisible(true);

userGroup.setVisible(true);

break;

case "--uid":

userID.setVisible(true);

jLabel26.setVisible(true);

break;

default:

adduserComponentsHide();

break;}

adduserDialog.pack();

jLabel29.setEnabled(true);

adduserParams[i] = userOpts.getSelectedItem().toString();

makeAdduserCom(adduserParams);}

private void systemUserItemStateChanged(java.awt.event.ItemEvent evt) {

makeAdduserCom(adduserParams);}

private void jLabel29MouseClicked(java.awt.event.MouseEvent evt) {

i+=2;

adduserComponentsHide();

adduserDialogClean();}

private void adduserDialogWindowOpened(java.awt.event.WindowEvent

evt) {

i=0;

adduserParams = new String[12];}

private void userNameKeyReleased(java.awt.event.KeyEvent evt) {

makeAdduserCom(adduserParams);}

private void userOpenDirActionPerformed(java.awt.event.ActionEvent evt)

{

userHomePath.setText(openDirectoryDialog(this.adduserDialog));}

private void userHomePathCaretUpdate(javax.swing.event.CaretEvent evt) {

adduserParams[i+1] = userHomePath.getText();

makeAdduserCom(adduserParams);}

private void userShellItemStateChanged(java.awt.event.ItemEvent evt) {

adduserParams[i+1] = userShell.getSelectedItem().toString();

makeAdduserCom(adduserParams);}

private void userGroupCaretUpdate(javax.swing.event.CaretEvent evt) {

adduserParams[i+1] = userGroup.getText();

makeAdduserCom(adduserParams);}

private void userIDCaretUpdate(javax.swing.event.CaretEvent evt) {

adduserParams[i+1] = userID.getText();

makeAdduserCom(adduserParams);}

private void deluserOptItemStateChanged(java.awt.event.ItemEvent evt) {

if (deluserOpt.getSelectedItem().toString().equals("--backup-to")){

jLabel28.setVisible(true);

backupPath.setVisible(true);

chooseBackup.setVisible(true);

backupPath.setText("");

deluserDialog.pack();}

else

deluserComponentsHide();

makeDeluserCom();}

private void adduserDialogWindowClosing(java.awt.event.WindowEvent

evt) {

adduserDialogClean();

adduserComponentsHide();

adduserDialog.setVisible(false);}

private void deluserDialogWindowClosing(java.awt.event.WindowEvent

evt) {

deluserDialogClean();

deluserComponentsHide();

delUsername.setText("");

deluserDialog.setVisible(false);}

private void delUsernameCaretUpdate(javax.swing.event.CaretEvent evt) {

makeDeluserCom();}

private void backupPathCaretUpdate(javax.swing.event.CaretEvent evt) {

// TODO add your handling code here:

makeDeluserCom();}

private void usermodOptsItemStateChanged(java.awt.event.ItemEvent evt) {

usermodComponentsHide();

switch(usermodOpts.getSelectedItem().toString()){

case "-a -G":

prepUsermod("Группа: ");

break;

case "-d":

jLabel32.setVisible(true);

userHomePath1.setVisible(true);

userOpenDir1.setVisible(true);

userHomePath1.setText("");

break;

case "-e":

prepUsermod("Дата: ");

usermodField.setToolTipText("Дата задаётся в формате ГГГГ-ММ-ДД");

break;

case "-l":

prepUsermod("Новое имя: ");

break;

case "-p":

prepUsermod("Пароль: ");

break;

case "-s":

prepUsermod("Оболочка: ");

break;

case "-u":

prepUsermod("UID: ");

break;

default:

usermodComponentsHide();

break;}

usermodDialog.pack();

jLabel31.setEnabled(true);

umodParams[j] = usermodOpts.getSelectedItem().toString();

makeUsermodCom(umodParams);}

private void jLabel31MouseClicked(java.awt.event.MouseEvent evt) {

j+=2;

usermodComponentsHide();

usermodDialogClean();}

private void chooseBackupActionPerformed(java.awt.event.ActionEvent

evt) {

backupPath.setText(openDirectoryDialog(this.deluserDialog));}

private void userHomePath1CaretUpdate(javax.swing.event.CaretEvent evt)

{

umodParams[j+1] = userHomePath1.getText();

makeUsermodCom(umodParams); }

private void userOpenDir1ActionPerformed(java.awt.event.ActionEvent evt)

{

userHomePath1.setText(openDirectoryDialog(this.usermodDialog));}

private void usermodDialogWindowOpened(java.awt.event.WindowEvent

evt) {

j = 0;

umodParams = new String[12];}

private void usermodFieldCaretUpdate(javax.swing.event.CaretEvent evt) {

umodParams[j+1] = usermodField.getText();

makeUsermodCom(umodParams);}

private void usermodNameCaretUpdate(javax.swing.event.CaretEvent evt) {

makeUsermodCom(umodParams);}

private void usermodDialogWindowClosing(java.awt.event.WindowEvent

evt) {

usermodComponentsHide();

usermodDialogClean();

usermodName.setText("");

usermodDialog.setVisible(false);}

private void passwdOptItemStateChanged(java.awt.event.ItemEvent evt) {

passwdComponentsHide();

switch(passwdOpt.getSelectedItem().toString()){

case "-i":

jLabel36.setVisible(true);

jLabel36.setText("Дней:");

daysField.setVisible(true);

daysField.setText("");

break;

case "-n":

jLabel36.setVisible(true);

jLabel36.setText("Мин_дней:");

daysField.setVisible(true);

daysField.setText("");

break;

case "-w":

jLabel36.setVisible(true);

jLabel36.setText("Пред_дней:");

daysField.setVisible(true);

daysField.setText("");

break;

case "-x":

jLabel36.setVisible(true);

jLabel36.setText("Макс_дней:");

daysField.setVisible(true);

daysField.setText("");

break;

default:

passwdComponentsHide();

daysField.setText("");

break;}

passwdDialog.pack();

makePasswdCom();}

private void passwdNameCaretUpdate(javax.swing.event.CaretEvent evt) {

makePasswdCom();}

private void daysFieldCaretUpdate(javax.swing.event.CaretEvent evt) {

makePasswdCom();}

private void passwdDialogWindowClosing(java.awt.event.WindowEvent

evt) {

passwdComponentsHide();

passwdDialogClean();

passwdName.setText("");

passwdDialog.setVisible(false);}

private void groupsDialogWindowClosing(java.awt.event.WindowEvent

evt) {

usernameGroups.setText("");

groupsDialog.setVisible(false);}

private void addgroupOptItemStateChanged(java.awt.event.ItemEvent evt) {

String selectedOpt = addgroupOpt.getSelectedItem().toString();

if (selectedOpt.equals("--gid")){


Подобные документы

  • Linux - ядро операционной системы с монолитной архитектурой. Прародители операционной системы Linux, ее стабильные и экспериментальные версии. Процесс внедрения Linux и свободного программного обеспечения в школах и государственных учреждениях России.

    реферат [18,2 K], добавлен 19.01.2013

  • Изучение операционной системы Linux: элементов файлов, структуры каталогов и прав доступа к ним. Получение практических навыков по работе с некоторыми командами данной ОС. Теоретические сведения и практические навыки по работе с процессами Linux.

    лабораторная работа [847,5 K], добавлен 16.06.2011

  • Знакомство с этапами разработки трёх приложений для системы семейства Linux с использованием языка программирования С++. Анализ особенностей операционной системы Ubuntu 12.10. Характеристика способов тестирования команд с помощью стандартных средств.

    контрольная работа [732,1 K], добавлен 06.08.2013

  • Анализ серверных операционных систем на базе ядра Linux. Подходы к построению маршрутизации и оценка полученных результатов. Установка операционной системы CentOS 6.6 и закономерности ее настройки. Принципы и основные этапы тестирования созданного шлюза.

    курсовая работа [2,9 M], добавлен 19.11.2015

  • Рассмотрение различных дистрибутивов операционной системы. Изучение протоколов обмена данными и форматов физического хранения данных. Разработка дистрибутива на основе операционной системы Linux для функционирования в составе сетевого хранилища StarNAS.

    курсовая работа [1,6 M], добавлен 05.11.2015

  • Основные моменты истории операционных систем, связывающих аппаратное обеспечение и прикладные программы. Характеристика операционной системы Microsoft Windows Seven, анализ операционной системы Linux. Преимущества и недостатки каждой операционной системы.

    курсовая работа [63,0 K], добавлен 07.05.2011

  • История развития и версии Linux. Ключевые черты, преимущества и сравнительные характеристики операционной системы. Программные характеристики, основные причины успеха и бурного развития Linux. Главные проблемы распространения операционной системы.

    курсовая работа [64,4 K], добавлен 13.12.2011

  • Управление памятью в операционной системе Linux. Физическая и виртуальная память. Исполнение и загрузка пользовательских программ, файловая система. Передача данных между процессами. Структура сети в операционной системе. Развитие и использование Linux.

    презентация [1,4 M], добавлен 24.01.2014

  • Характеристика особенностей инфраструктурных серверов, построенных на основе Linux. Создание и конфигурация рабочей станции сети предприятия. Установка операционной системы и ее первоначальная настройка. Администрирование сервисов, пользователей и групп.

    курсовая работа [1,4 M], добавлен 07.01.2014

  • Основные понятия операционных систем. Современное оборудование компьютера. Преимущества и недостатки операционной системы Linux. Функциональные возможности операционной системы Knoppix. Сравнительная характеристика операционных систем Linux и Knoppix.

    реферат [1,5 M], добавлен 17.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.