четверг, 19 ноября 2015 г.

Защита системы


Супер сервер (super server) - сервер, прослушивающий сетевые соединения вместо другого сервера, и передающий ему управление, если соединение устанавливается. Использование супер севрера может быть удобно, если он управляет несколькими серверами, т.к. это уменьшает нагрузку на управляемые серверы и позволяет централизованно управлять настройками безопасности. Наиболее популярные супер серверы inetd и xinetd.

Настройки inet.d в файле /etc/inetd.conf и директории /etc/inetd.d

Пример настройки для ftp  сервера: 
ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.ftpd -l
Данная строка состоит из следующих полей:
-имя службы
-тип сокета: stream - надежная двунаправленная передача, dgram - менее надежная передача с меньшим количеством служебной информации, raw - сырой сокет
-протокол  - как правило tcp или udp
-wait/no wait - для сокетов типа dgram эта запись определяет поведение сервера: подключиться к клиенту и освободить сокет (no wait) или обработать все пакеты и отключиться по таймауту (wait). Для других типов сокетов следует указывать nowait.
-пользователь - пользователь от имени которого запускается сервер. Всегда, когда это возможно, серверы следует запускать от имени непривилегированного пользователя.
-имя сервера - в примере это /usr/sbin/tcpd то есть исполняемый файл tcp-wrapper'а
-параметры - все значения указанные после имени сервера являются параметрами, передаваемыми серверу. Если используется tcp-wrapper ему в качестве параметра передается имя реального сервера, в примере это /usr/sbin/in.ftpd

среда, 4 ноября 2015 г.

Написание скриптов, настройка почты, использование баз данных


Задать переменную среды: HOSTNAME=carson.example.com
Сделать переменную среды доступной для пользователей: export HOSTNAME
Вывести переменную среды на экран: echo $HOSTNAME
Задать переменную среды для отдельной программы: env DISPLAY=seeker.example.com:0.0 nedit (env принимает опции: -i запуск с пустой средой, -u - удалить значение определенной переменной).
Наиболее распространенные переменные среды:
-USER, USERNAME - имя пользователя 
-SHELL - путь к текущей командной строке
-PWD - текущая рабочая директория
-HOSTNAME - текущее TCP/IP имя хоста
-PATH - директории, в которых будет производиться поиск исполняемых файлов
-HOME - путь к домашней директории пользователя
-MAIL - путь к временным файла почты (mail spool)
-LANG - текущий язык
-TZ - часовой пояс
-LD_LIBRARY_PATH - директории в которых будет проиводиться поиск файлов библиотек
-PS1 - сообщение по умолчанию в командной строке. Как правило содержит перменные, такие как \u (пользователь), \h (имя хоста), \W (рабочая директория)
-TERM - имя текущего типа терминала (например xterm)
-DISPLAY - дисплей, используемый Х сервером. Как правило 0:0 (первый дисплей). Если на компьютере запущено несколько сессий Х, у каждой будет свой номер дисплея, например 0:0 у первой, 1:0 у второй и т.д.
-EDITOR - программа, которая запускается при вызове другой программой текстового редактора (обратить внимание: графические редакторы могут вызывать проблемы, если запускать их в текстовом режиме)