mdmx (mdmx) wrote,
mdmx
mdmx

Category:

Сдавал тут один тест - может кому пригодится.

1.1.Имеется журнальный файл, систематически пополняющийся новой информацией.
Напишите команду, выполняющую мониторинг изменений в данном журнальномй файле
и отправляющую по почте оповещение об обнаружении заданной фразы.
---
if ( /bin/grep "FINDTEXT" /path/to/logfile )
then
echo " $(date "+%Y-%m-%d %H:%M") FINDTEXT found" | mail admin@server.com
fi
1.2. Напишите команду, выполняющую подсчет количества файлов к каждом из подкаталогов, находящихся в текущем каталоге.
---
for i in $(find ./ -type d )
do
echo "$(find $i -type f | wc -l) $i"
done | sort -nn -k 1
1.3. Переименуйте все файлы в текущем каталоге таким образом, чтобы новое имя состояло из оригинального названия плюс суффикс, соответствующий текущей дате с шаблоном 'YYYYMMDD'. Если оригинальный файл имеет расширение - оно должно быть добавлено в конец нового названия файла. Например:
a) было file_list, стало file_list.20001020
b) было httpd.conf, стало httpd.20001020.conf
---
for i in ./*
do
mv ${i} ${i%.*}.$(date +%Y%m%d).${i#*.}
done
(!) если в имени файла несколько точек могут быть проблемы.
1.4. В каталоге /etc/httpd имеется ряд подкаталогов с конфигурационными файлами.
Необходимо заменить во всех конфигурационных файлах фразу "VirtualHost 192.168.1.1:80" на "VirtualHost 192.168.1.2:8080".
---
for i in /etc/httpd/*
do
sed -i 's/VirtualHost 192.168.1.1:80/VirtualHost 192.168.1.1:8080/g' ${i}
done
1.5. Выполните поиск и удаление всех файлов старше 30 дней, находящихся в каталоге /store/temp, а также во всех вложенных подкаталогах. Каким образом можно ускорить данную операцию, если речь идет об обработке десятков тысяч файлов?
---
find ./ -mtime +30 | xargs rm -f
(про тысячи каталогов - нужно дополнительное время и дополнительные данные для решения)
2.1. Вы подключены к удаленному серверу через ssh. Как при помощи утилиты tcpdump выполнить мониторинг сетевого трафика, исключая пакеты, порождаемые вашим собственным сетевым соединением?
---
при учете того что мой IP - 10.100.22.39
tcpdump -i ethX -nn | grep -v 10.100.22.39
2.2. Вам необходимо настроить коммутатор Cisco. Укажите набор команд, необходимых для настройки статического канала типа trunk на интерфейсе Gi0/22 только для VLAN 100 и 101.
---
conf t
switchport mode trunk
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 100,101
exit
copy running-config current-config
2.3. Каким образом можно проверить доступность сетевого сервиса на удаленном сервере?
---
telnet remoteserver PORT
или
nmap remoteserver
ну или подключиться к этому сервису используя соответствующее ему ПО
2.4. Напишите пример ограничения доступа к сервису FTP, используя tcp wrapper.
Необходимо разрешить подключения только из сети 192.168.1.0/24.
---
/etc/hosts.allow
vsftpd : 192.168.1.0/24
/etc/hosts.deny
vsftpd : ALL : deny
2.5. Напишите правила для iptables, разрешающие на роутере пропускать http пакеты от хоста 192.168.0.22 (и ответы ему соответственно).
---
/sbin/iptables -v -A FORWARD -p tcp -d 192.168.0.22 --dport 80 -j ACCEPT
/sbin/iptables -v -A FORWARD -p tcp -s 192.168.0.22 --sport 80 -j ACCEPT
3. System tools
3.1. На сервере имеется несколько дисковых устройств. Каким образом можно определить диск с наиболее интенсивным вводом-выводом?
---
iostat входит в пакет sysstat на редхат
пример (1 - обновлять раз в секунду)
root@kvmde01 ~ # iostat 1
tps это iops
3.2. Определите - какие файлы, установленные в системе из RPM пакетов, были изменены после установки?
---
? кажется так в инете (не работал с rpm):
for i in $(rpm -qa)
do
echo "#### ${i} ####"
rpm -V ${i}
done
3.3. Каким образом можно обнаружить процесс, держащий открытыми файлы на определенном разделе файловой системы?
---
lsof | grep "/точка/монтирования_раздел_файл/системы"
где в выводе вторая колонка это PID искомого процесса
3.4. Каким образом можно запретить подключаться к серверу по протоколу SSH под учетной записью root?
---
В конфиге правим параметр:
PermitRootLogin no
как вариант можно ещё по групе ограничить вход DenyUsers и DenyGroups
3.5. Для автоматической установки RedHat-based Linux используется метод kickstart-установки. Объясните, что будет сделано программой установки при наличии в kickstart-файле следующего блока:
part /boot --fstype=ext3 --asprimary --size=256
part pv.253002 --grow --asprimary --size=200
volgroup vg0 --pesize=4096 pv.253002
logvol / --fstype=ext4 --name=lv_root --vgname=vg0 --size=8192
logvol swap --name=lv_swap --vgname=vg0 --size=2048
---
создать раздел ext3 как основной размером 256Мб примонтировать /boot
(если pv - primary volume то)... дальше LVM том размером минимум 200 Мб динамический "на вырост"
volgroup группа vg0 где создать разделы уже на lvm volgroup vg0 ext4 размером 8192Мб смонтировать в корень и своп lv_swap в vg0 размером 2048Мб смонтировать в своп
4.1. Каким образом можно разрешить доступ к содержимому виртуального хоста только с определенных IP адресов? Напишите пример.
---
если брать во внимание только функционал web серверов то это:
аунтификация (парольная - ключ или kerberos как часный случай ключей), acl - списки ip, исполькование секретов типа уникального url или cookie
ну или как вариант:
файл .htaccess в каталог виртуального хоста (для apache)
[Error: Irreparable invalid markup ('<files *.*>') in entry. Owner must fix manually. Raw contents below.]

1.1.Имеется журнальный файл, систематически пополняющийся новой информацией.
Напишите команду, выполняющую мониторинг изменений в данном журнальномй файле
и отправляющую по почте оповещение об обнаружении заданной фразы.
---
if ( /bin/grep "FINDTEXT" /path/to/logfile )
then
echo " $(date "+%Y-%m-%d %H:%M") FINDTEXT found" | mail admin@server.com
fi
1.2. Напишите команду, выполняющую подсчет количества файлов к каждом из подкаталогов, находящихся в текущем каталоге.
---
for i in $(find ./ -type d )
do
echo "$(find $i -type f | wc -l) $i"
done | sort -nn -k 1
1.3. Переименуйте все файлы в текущем каталоге таким образом, чтобы новое имя состояло из оригинального названия плюс суффикс, соответствующий текущей дате с шаблоном 'YYYYMMDD'. Если оригинальный файл имеет расширение - оно должно быть добавлено в конец нового названия файла. Например:
a) было file_list, стало file_list.20001020
b) было httpd.conf, стало httpd.20001020.conf
---
for i in ./*
do
mv ${i} ${i%.*}.$(date +%Y%m%d).${i#*.}
done
(!) если в имени файла несколько точек могут быть проблемы.
<lj-cut>1.4. В каталоге /etc/httpd имеется ряд подкаталогов с конфигурационными файлами.
Необходимо заменить во всех конфигурационных файлах фразу "VirtualHost 192.168.1.1:80" на "VirtualHost 192.168.1.2:8080".
---
for i in /etc/httpd/*
do
sed -i 's/VirtualHost 192.168.1.1:80/VirtualHost 192.168.1.1:8080/g' ${i}
done
1.5. Выполните поиск и удаление всех файлов старше 30 дней, находящихся в каталоге /store/temp, а также во всех вложенных подкаталогах. Каким образом можно ускорить данную операцию, если речь идет об обработке десятков тысяч файлов?
---
find ./ -mtime +30 | xargs rm -f
(про тысячи каталогов - нужно дополнительное время и дополнительные данные для решения)
2.1. Вы подключены к удаленному серверу через ssh. Как при помощи утилиты tcpdump выполнить мониторинг сетевого трафика, исключая пакеты, порождаемые вашим собственным сетевым соединением?
---
при учете того что мой IP - 10.100.22.39
tcpdump -i ethX -nn | grep -v 10.100.22.39
2.2. Вам необходимо настроить коммутатор Cisco. Укажите набор команд, необходимых для настройки статического канала типа trunk на интерфейсе Gi0/22 только для VLAN 100 и 101.
---
conf t
switchport mode trunk
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 100,101
exit
copy running-config current-config
2.3. Каким образом можно проверить доступность сетевого сервиса на удаленном сервере?
---
telnet remoteserver PORT
или
nmap remoteserver
ну или подключиться к этому сервису используя соответствующее ему ПО
2.4. Напишите пример ограничения доступа к сервису FTP, используя tcp wrapper.
Необходимо разрешить подключения только из сети 192.168.1.0/24.
---
/etc/hosts.allow
vsftpd : 192.168.1.0/24
/etc/hosts.deny
vsftpd : ALL : deny
2.5. Напишите правила для iptables, разрешающие на роутере пропускать http пакеты от хоста 192.168.0.22 (и ответы ему соответственно).
---
/sbin/iptables -v -A FORWARD -p tcp -d 192.168.0.22 --dport 80 -j ACCEPT
/sbin/iptables -v -A FORWARD -p tcp -s 192.168.0.22 --sport 80 -j ACCEPT
3. System tools
3.1. На сервере имеется несколько дисковых устройств. Каким образом можно определить диск с наиболее интенсивным вводом-выводом?
---
iostat входит в пакет sysstat на редхат
пример (1 - обновлять раз в секунду)
root@kvmde01 ~ # iostat 1
tps это iops
3.2. Определите - какие файлы, установленные в системе из RPM пакетов, были изменены после установки?
---
? кажется так в инете (не работал с rpm):
for i in $(rpm -qa)
do
echo "#### ${i} ####"
rpm -V ${i}
done
3.3. Каким образом можно обнаружить процесс, держащий открытыми файлы на определенном разделе файловой системы?
---
lsof | grep "/точка/монтирования_раздел_файл/системы"
где в выводе вторая колонка это PID искомого процесса
3.4. Каким образом можно запретить подключаться к серверу по протоколу SSH под учетной записью root?
---
В конфиге правим параметр:
PermitRootLogin no
как вариант можно ещё по групе ограничить вход DenyUsers и DenyGroups
3.5. Для автоматической установки RedHat-based Linux используется метод kickstart-установки. Объясните, что будет сделано программой установки при наличии в kickstart-файле следующего блока:
part /boot --fstype=ext3 --asprimary --size=256
part pv.253002 --grow --asprimary --size=200
volgroup vg0 --pesize=4096 pv.253002
logvol / --fstype=ext4 --name=lv_root --vgname=vg0 --size=8192
logvol swap --name=lv_swap --vgname=vg0 --size=2048
---
создать раздел ext3 как основной размером 256Мб примонтировать /boot
(если pv - primary volume то)... дальше LVM том размером минимум 200 Мб динамический "на вырост"
volgroup группа vg0 где создать разделы уже на lvm volgroup vg0 ext4 размером 8192Мб смонтировать в корень и своп lv_swap в vg0 размером 2048Мб смонтировать в своп
4.1. Каким образом можно разрешить доступ к содержимому виртуального хоста только с определенных IP адресов? Напишите пример.
---
если брать во внимание только функционал web серверов то это:
аунтификация (парольная - ключ или kerberos как часный случай ключей), acl - списки ip, исполькование секретов типа уникального url или cookie
ну или как вариант:
файл .htaccess в каталог виртуального хоста (для apache)
<files *.*>
Order Deny,Allow
Allow From 192.168.57.0/24
Deny From All
</files>
где 192.168.57.0/24 - нужный диапазон адресов
или
.htaccess
AuthType Basic
AuthName "Restricted Files"
# (Following line optional)
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require user rbowen
AuthType Basic -- типа простая аутентификация
AuthName -- что будет показывать во вспывающем окошке
AuthUserFile /usr/local/apache/passwd/passwords -- файл где пароли
Require user rbowen -- типа только юзеру rbowen из файла, с файлом паролей работать через утилиту htpasswd
4.2. Опишите секцию конфигурационного файла, позволяющую выполнять CGI-скрипты
из каталога '/var/www/scripts'.
---
Согласно http://httpd.apache.org/docs/2.2/howto/cgi.html
ScriptAlias /scripts/ "/var/www/scripts/"
разрешения на директорию
Options + ExecCGI
какие расширения обрабатывать
AddHandler cgi-script .cgi .pl
4.3. Каким образом можно запретить показывать версию web-сервера в клиентских браузерах?
---
/etc/httpd/conf/httpd.conf:
ServerSignature Off
ServerTokens Prod</lj-cut>
Tags: админы, полезнячок
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 1 comment