🐧 Некоторые полезные инструменты для системных администраторов Linux — Information Security Squad
🐧 Некоторые полезные инструменты для системных администраторов Linux
В этом руководстве представлен список полезных инструментов для системных администраторов Linux.
Этот список не включает в себя какие-либо сложные программы (такие как Ansible, Puppet), которые требуют крутой кривой обучения для настройки и использования в производстве.
Большинство инструментов, представленных здесь, являются просто скриптами и очень просты в установке и использовании в режиме реального времени.
Если вы начинающий системный администратор Linux / Unix с ограниченным опытом, используйте эти программы, чтобы выполнять работу легко и быстро.
Эти инструменты не всегда полезны, но некоторые из них могут выручить в определенном моменте.

Sysadmin-util: полезные инструменты для системных администраторов Linux

Sysadmin-util — это набор скриптов, который помогает начинающим системным администраторам и пользователям выполнять различные задачи.

Sysadmin-util содержит следующие скрипты.

  1. ago
  2. chronic
  3. cidr2ip
  4. collapse
  5. dupes
  6. empty-dir
  7. expand-ipv6
  8. flush-firewall
  9. graphite_send
  10. ipaddr
  11. maybe
  12. mk-passwd-hash
  13. multi-ping
  14. mysql-slave-check
  15. pyhttpd
  16. randpass
  17. since
  18. splay
  19. ssh-auth-types
  20. ssh-test
  21. ssl-expiry-date
  22. timeout
  23. until-error
  24. until-success
  25. when-down
  26. when-up
  27. which-shell
  28. with-lock
Давайте посмотрим, как установить и использовать некоторые из этих инструментов с примерами.

Установка и использование

Как я уже сказал, установка всех инструментов, перечисленных здесь, тривиальна.

На самом деле нет необходимости устанавливать что-то.

Просто клонируйте репозиторий и начните использовать инструменты в кратчайшие сроки.

$ git clone https://github.com/skx/sysadmin-util.git
Приведенная выше команда клонирует все содержимое репозитория Sysadmin-uti в текущий каталог.
Перейдите в этот каталог и запустите любой инструмент по вашему выбору.

ago

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

Убедитесь, что вы находитесь в каталоге sysadmin-util.

$ cd sysadmin-util

Чтобы узнать, когда был изменен файл или каталог, просто укажите его путь, как показано ниже.

$ ./ago <path-to-file/directory>

Пример:

$ ./ago /home/itsecforu/sysadmin-util/
/home/itsecforu/sysadmin-util/ 23 hours ago
$ ./ago /etc/
/etc/ 3 days ago

Chronic

Это инструмент запускает команду тихо, если не происходит сбой, т.е. он запускает команду и скрывает STDOUT и STDERR, если она успешно завершается.
Это полезно для заданий cron.
Вместо того чтобы держать команду в секрете и иметь дело с символами, содержащими случайный вывод при успешном выполнении, и недостаточно подробный вывод при сбое, вы можете просто  использовать chronic, чтобы скрыть успешный вывод.

Пример:

При создании нового задания cron вы можете использовать:

0 1 * * * chronic backup
Вместо:
0 1 * * * backup >/dev/null 2>&1

cidr2ip

Он преобразует блоки CIDR в составляющие их IP-адреса.

Пример:

$ ./cidr2ip 192.168.225.0/24
192.168.225.0
192.168.225.1
192.168.225.2
192.168.225.3
192.168.225.4
192.168.225.5
[...]

collapse

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

Пример:

$ echo -e "Linux is not an OS.\n It is a Kernel. \n\nGnu/Linux is the OS.\n\n\n\n" | ./collapse
Linux is not an OS.
It is a Kernel. 
Gnu/Linux is the OS.

dupes

Инструмент dupes сообщит о идентичных файлах.

Он поможет вам найти дубликаты файлов, которые содержат то же самое содержимое рекурсивно через хэш SHA1.

Как найти повторяющиеся файлы в Linux и удалить их

Пример:

$ ./dupes 
./.git/logs/HEAD
./.git/logs/refs/remotes/origin/HEAD
./.git/logs/refs/heads/master

см. также:

⌛ Как найти самые популярные команды в Linux

empty-dir

Этот инструмент проверит, является ли данный каталог пустым или нет.

Пример:

Чтобы проверить эту утилиту, создайте пустой каталог и протестируйте.

В следующем примере показано, является ли данный каталог /home/itsecforu пустым:

$ if ./empty-dir /home/itsecforu; then echo "ОН ПУСТОЙ" ; fi
Он пустой

expand-ipv6

Этот инструмент расширяет указанные сокращенные / сжатые адреса IPv6 до их полной формы.

Это может быть полезно при настройке DNS.

Пример:

$ ./expand-ipv6 fe80::a00:27ff:feff:d2e0
fe80:0000:0000:0a00:27ff:feff:d2e0

multi-ping

Это многопротокольная оболочка ping.

Она используется для проверки подключения удаленного хоста независимо от того, является ли он хостом IPv6 или IPv4.

Значение: если пульт использует IPv4, он вызывает команду «ping» для проверки возможности подключения.

Если удаленный хост использует IPv6, он вызовет команду «ping6».

Пример:

$ ./multi-ping google.com
Host google.com - 216.239.36.117 - alive
Host google.com - 216.239.32.117 - alive
Host google.com - 216.239.38.117 - alive
Host google.com - 216.239.34.117 - alive
Host google.com - 2001:4860:4802:34:0:0:0:75 - alive

Pyhttpd

Это простой HTTP-сервер Python, который позволяет мгновенно настроить базовый файловый сервер.

Примеры:

 $ ./pyhttpd 8080
 Serving HTTP on 0.0.0.0 port 8080 ...

Если вы хотите разрешить серверу быть привязанным только к localhost, а не прослушивать все интерфейсы, выполните:

 $ ./pyhttpd 127.0.0.1:8080
 Serving HTTP on 127.0.0.1 port 8080 ...

randpass

Как видно из названия, утилита randpass используется для генерации случайного пароля из командной строки.

Примеры:

$ ./randpass 
Gb39KTBu
Чтобы сгенерировать пароль определенной длины, используйте флаг -n.
$ ./randpass -n 15
Xa7ZMA38tfOt7O2

🧙♀️ Как установить сложность пароля в Linux👨

since

Он показывает любой новый контент с момента последнего чтения файла.

Это полезно для отслеживания логов.

Пример:

Удалите содержимое файла apt history.log:

$ ./since /var/log/apt/history.log >/dev/null
Теперь установите или удалите любые приложения.
Я удалю редактор Vim:
$ sudo apt remove vim

Теперь проверьте содержимое файла history.log:

$ ./since /var/log/apt/history.log

Start-Date: 2020-01-28 11:52:59
Commandline: apt remove vim
Requested-By: sk (1000)
Remove: ubuntu-server:amd64 (1.417.3), vim:amd64 (2:8.0.1453-1ubuntu1.1)
End-Date: 2020-01-28 11:53:05

Инструмент «since» будет отображать только что добавленное содержимое в файле с момента последнего запуска.

Если содержимое не добавлено, оно ничего не отобразит.

ssl-expiry-date

Отображает дату истечения срока действия сертификата SSL данного домена или хоста.
Пример:
$ ./ssl-expiry-date google.com
google.com
    Expires: Mar 31 15:47:12 2020 GMT
    Days: 63
Вы также можете указать несколько доменов с пробелами:
$ ./ssl-expiry-date google.com itsecforu.ru
google.com
    Expires: Mar 31 15:47:12 2020 GMT
    Days: 63
itsecforu.ru
    Expires: Oct  9 12:00:00 2020 GMT
    Days: 254
Чтобы отобразить только количество дней, оставшихся на сертификате, используйте параметр -d:
$ ./ssl-expiry-date -d google.com itsecforu.ru
google.com: 63
itsecforu.ru: 254

timeout

Он позволяет пользователю выполнить команду для определенного интервала и уничтожить ее.

Пример:

$ ./timeout -t 10 top

Приведенная выше команда убьет команду «top» через 10 секунд.

Убить команду через 10 минут и 10 секунд:

$ ./timeout -t 10:10 top
Убить команду через 10 часов, 10 минут и 10 секунд:
$ ./timeout -t 10:10:10 top

Попробуйте все инструменты и выберите, какой из них будет вам полезен.

Эти инструменты предназначены не только для системных администраторов, но и для тех, кто хочет улучшить свои навыки командной строки Linux в целом.

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40