Полезные команды и скрипты
Ссылки
GITFLIC: https://gitflic.ru/user/medved0001
Вконтакте: https://vk.com/medved0001
Оглавление
- Описание
- check-kerberos-active-user (Проверка актуальности kerberos билета)
- check-expire-userpas-ad (Проверка срока действия пароля пользователя AD и вывод уведомления)
- archiving_directory_contents.sh (Архивирование содержимого каталога с разбивкой на архивы по размеру)
- archiving_files.sh (Архивирование файлов с разбивкой на архивы по размеру)
- install-chromiumgost.sh (Установка Chromium-gost из github репозитория на Astra linux/Debian)
- install-kesl.sh (Автоустановка kaspersky на Astra linux/Debian)
- install-sbis.sh (Установка SBIS с оф.сайта update.saby.ru на Astra linux/Debian)
- rename.sh (Массовое переименование содержимого каталога)
- sendmessage.sh (Вывод сообщения активным пользователям)
- Conky
- Double commander
- Browser policy (групповые политики для браузера)
Описание
Полезные команды и скрипты не требующие отдельного репозитория.
check-kerberos-active-user (Проверка актуальности kerberos билета)
Список файлов
-
check-kerberos.desktop- Файл автозапуска. Импортирует переменные окружения пользовательской сессии для использования в сервисе. Запускает таймер и сервис. -
check-kerberos-active-user.sh- скрипт проверки билета kerberos.
Проверка не будет выполняться, если:
Скрипт запущен не из сервиса;
Пользователь не является доменным (также будет остановлен таймер);
Домен не доступен;
Сессия пользователя заблокирована.
check-kerberos-active-user.service- Файл сервиса.check-kerberos-active-user.timer- Файл таймера.
Установка
Требуемые исполняемые файлы (ищите пакеты содержащие их в вашем дистрибутиве): nslookup, loginctl, notify-send, klist
Скопируйте файлы в следующие пути:
check-kerberos.desktop-/etc/xdg/autostart- права 644check-kerberos-active-user.sh-/usr/local/bin- права 755check-kerberos-active-user.service-/etc/systemd/user- права 644check-kerberos-active-user.timer-/etc/systemd/user- права 644
Перезайдите в сессию.
check-expire-userpas-ad (Проверка срока действия пароля пользователя AD и вывод уведомления)
Список файлов
-
check-expire-userpas-AD.desktop- Файл автозапуска. Импортирует переменные окружения пользовательской сессии для использования в сервисе. Запускает таймер и сервис. -
check_expire_userpas_AD.sh- скрипт.
Проверка не будет выполняться, если:
Скрипт запущен не из сервиса;
Пользователь не является доменным (также будет остановлен таймер);
Домен не доступен;
Сессия пользователя заблокирована.
check-expire-userpas-AD.service- Файл сервиса.check-expire-userpas-AD.timer- Файл таймера.check-expire-userpas-AD-2h.timer- Резервный файл таймера включающийся при определенных обстоятельствах.
Установка
Требуемые исполняемые файлы (ищите пакеты содержащие их в вашем дистрибутиве): ldapsearch, nslookup, loginctl, notify-send, klist
Опциональные исполняемые файлы: fly-passwd
Скопируйте файлы в следующие пути:
check-expire-userpas-AD.desktop-/etc/xdg/autostart- права 644check_expire_userpas_AD.sh-/usr/local/bin- права 755check-expire-userpas-AD.service-/etc/systemd/user- права 644check-expire-userpas-AD.timer-/etc/systemd/user- права 644check-expire-userpas-AD-2h.timer-/etc/systemd/user- права 644
Перезайдите в сессию.
archiving_directory_contents.sh (Архивирование содержимого каталога с разбивкой на архивы по размеру)
Данный скрипт позволяет заархивировать содержимое каталога, создавая архивы не более установленного размера (размер указывается в байтах).
Если размер архивируемого файла/каталога будет превышать указанный размер, то созданный архив будет иметь в названии big.
Для выполнения необходимо:
-
Задать внутри скрипта необходимый размер в байтах (Переменная
size_arch). -
При необходимости переписать скрипт под свои нужды. Например, изменить команду формирования списка в массиве
dir_list_content. -
Скопировать скрипт в каталог, содержимое которого необходимо заархивировать, и запустить.
archiving_files.sh (Архивирование файлов с разбивкой на архивы по размеру)
Данный скрипт позволяет заархивировать найденные файлы, создавая архивы не более установленного размера (размер указывается в байтах).
Если размер архивируемого файла будет превышать указанный размер, то созданный архив будет иметь в названии big.
Для выполнения необходимо:
-
Задать внутри скрипта необходимый размер в байтах (Переменная
size_arch). -
При необходимости переписать скрипт под свои нужды. Например, изменить команду формирования списка в массиве
dir_list_content. -
Скопировать скрипт в каталог, из каталога/подкаталогов которого необходимо заархивировать файлы, и запустить.
install-chromiumgost.sh (Установка Chromium-gost из github репозитория на Astra linux/Debian)
Данный скрипт позволяет установить Chromium-gost из github репозитория на Astra linux/Debian (можно отредактировать скрипт для установки rpm пакетов для вашей системы).
Оригинальный Chromium не должен быть установлен.
Требуемые исполняемые файлы (ищите пакеты содержащие их в вашем дистрибутиве): curl, wget
Запустите install-chromiumgost.sh с правами администратора. Ожидайте завершения скачивания и установки.
install-kesl.sh (Автоустановка kaspersky на Astra linux/Debian)
Данный скрипт выполняет автоустановку kaspersky на Astra linux/Debian (можно отредактировать скрипт для установки rpm пакетов для вашей системы).
Допустимые параметры запуска:
-ra) - Переустановить агент администрирования. Необходимо при изменении файла ответов (например, при смене сервера администрирования).
Отредактируйте файл скрипта:
-
Укажите свой сервер администрирования в
KLNAGENT_SERVER -
При необходимости отредактируйте другие параметры файлов ответов агента и kaspersky
-
Если вы разрешили в своей системе выполнение ptrace, то можете закомментировать вызов функции kesl_ptrace (дает право выполнения ptrace для исполняемых файлов kaspersky)
Существует 4 уровня ptrace
-
0— ptrace работает без ограничений. -
1— только родительский процесс может трассировать дочерний. -
2— трассировка запрещена, кроме случаев, когда процесс дал явное разрешение. -
3— полная блокировка ptrace.
Если блокировка ptrace от астры включена, то в запущенной системе в /proc/sys/kernel/yama/ptrace_scope будет значение 3 и изменить его будет нельзя.
Если блокировка ptrace от астры отключена, то будет значение 1 и его можно переопределить.
Выставим значение ptrace 2, если необходимо дать разрешение только определенным программам. Оно будет применено при запуске системы.
echo 'kernel.yama.ptrace_scope = 2' >'/etc/sysctl.d/999-ptrace.conf'
Положите рядом с файлом скрипта файлы klnagent.deb, kesl.deb, kesl-gui.deb.
Запустите install-kesl.sh с правами администратора. Ожидайте завершения.
install-sbis.sh (Установка SBIS с оф.сайта update.saby.ru на Astra linux/Debian)
Данный скрипт выполняет установку пакетов nmh-transport, sabycenter и saby с оф.сайта update.saby.ru на Astra linux/Debian (можно отредактировать скрипт для установки rpm пакетов для вашей системы).
Требуемые исполняемые файлы (ищите пакеты содержащие их в вашем дистрибутиве): curl, wget
Запустите install-sbis.sh с правами администратора. Ожидайте завершения.
rename.sh (Массовое переименование содержимого каталога)
Данный скрипт позволяет переименовать все файлы/каталоги в каталоге.
Для выполнения необходимо:
-
Установить пакет, из репозитория вашей системы, который содерждит исполняемый файл
rename. -
При необходимости переписать скрипт под свои нужды. Например, изменить шаблон имени новых файлов в
newname. -
Скопировать скрипт в каталог, содержимое которого необходимо переименовать, и запустить.
sendmessage.sh (Вывод сообщения активным пользователям)
Аналог отправляемого скрипта из репозитория ssh send script command.
Требуемые исполняемые файлы (как минимум 1 из списка, зависит о выбранного вами метода вывода) (ищите пакеты содержащие их в вашем дистрибутиве): notify-send, fly-dialog, zenity, yad
Скрипт предназначен для размещения его на устройстве и последующем запуске с нужными параметрами.
Скрипт должен быть запущен как минимум с одним из параметров метода вывода сообщения (-sn, -sffd, -sy, -sfd, -sz) и текстом сообщения (методы ввода смотрите ниже).
Неуказанные параметры будут использовать значения по умолчанию.
Допустимые параметры запуска:
#—–Методы вывода сообщения—–#
-sn) (send notify-send) - Вывести сообщение через notify-send.
-sffd) (send first found dialog) - Вывести сообщение через первое найденное диалоговое окно. Порядок проверки соответствует порядку в массиве list_dialog_sendmsg. При указании этого параметра, параметры -sy, -sfd, -sz не учитываются.
-sy) (send yad) - Вывести сообщение через yad.
-sfd) (send fly-dialog) - Вывести сообщение через fly-dialog
-sz) (send zenity) - Вывести сообщение через zenity
#–Методы ввода текста сообщения–#
Файлы сообщений с расширением .smsg ищутся в каталоге /tmp/.msg. В качестве альтернативы или дополнительно к файлам сообщений вы можете использовать параметры -mt или -simt.
-mt 'Текст сообщения') (msg text) - Текст сообщения для показа. Параметр может быть указан более одного раза. Подходит для вывода небольших сообщений. При выводе больших сообщений вы можете упереться в ограничения командной строки.
-simt "Число") (stdin msg text) - Перенаправьте текст или результат выполнения другой команды в скрипт через pipe для вывода сообщения, например echo тест1 | sendmessage.sh -sn -simt. Данный параметр обрабатывается один раз. Число указывает на то, сколько секунд необходимо ждать данные ввода в stdin (0 - не ограничено).
#—–Дополнительные параметры—-#
-et "Число") (expire time) - Время существования сообщения в секундах. По умолчанию 0 - уведомление автоматически не исчезает.
-h 'Значение') (header) - Заголовок сообщения. Если сообщений несколько, то указанный заголовоу применяется ко всем выводимым сообщениям. Если не задавать параметр, то используется генерируемое по умолчанию значение (Уведомление %d.%m.%Y-%H:%M).
-u "Значение") (username) - Имя пользователя, которому вывести сообщение. Параметр может быть указан более одного раза. Если используется, то значение должно начинаться с буквы, может содержать допустимые символы @._- и должно заканчиваться буквой или цифрой.
-ur) (systemd-run use root) - По умолчанию команда systemd-run запускает команду вывода сообщения от имени пользователя, которому выводится сообщение (рекомендуемый вариант). Данный параметр указывает, чтобы процесс создавался от имени root. Этот параметр влияет только на то, кому принадлежит процесс. Не влияет на вывод через notify-send.
Пример команды запуска: sendmessage.sh -sn -et '3600' -mt 'Тестовое сообщение 1!!!' -mt 'Тестовое сообщение 2!!!' -h 'Тестовое сообщение!!!'
Conky
Пример конфигурации для Conky.
Написано и проверено на Astra linux 1.8.5 с Conky 1.18 (Дополнительно проверено на скомпилированном Conky 1.22).
Double commander
Пример конфигурации Double commander. Конфигурация создана автоматически при настройке Double commander 1.3 (Несколько параметров отсутствующих в параметрах программы изменены вручную. Например, включено использование системного окна свойств файла).
Browser policy (групповые политики для браузера)
Пример политик для chromium и firefox. Из особенностей: настроен белый список ublock origin.