mdmx: (почетный шаман)
[personal profile] mdmx
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>

Profile

mdmx: (Default)
mdmx

January 2026

S M T W T F S
    123
45678910
11121314151617
1819 2021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 24th, 2026 12:07 pm
Powered by Dreamwidth Studios