Типичный Сисадмин
1.21K subscribers
336 photos
42 videos
190 links
⚙️Информация для системного администратора
Download Telegram
📌 15 супер полезных примеров команды find в Linux

Практические примеры, которые приведены в этой статье, помогут вам освоить очень эффективную и крайне полезную команду find.

Она используется для поиска файлов и папок через командную строку Linux.

Команда find — одна из самых мощных и широко применимых команд. При этом она крайне объёмная и насчитывает более 50 опций, в которых легко запутаться, особенно в сочетании с командами exec или xargs.

Если вы сисадмин или разработчик, избежать команды find при работе с командной строкой не получится. Так что давайте научимся её не бояться и пользоваться её возможностями в полной мере.

Для этого разберём самые распространённые случаи практического применения команды find. Но для начала покажу вам синтаксис и принцип работы с командой.

Поиск файлов и папок по имени
find . -name SEARCH_NAME

Поиск только файлов или только папок
find . -type f -name SEARCH_NAME

Поиск без учёта регистра
find . -type f -iname SEARCH_NAME

Поиск файлов по расширению
find . -type f -name "*.cpp"

Поиск файлов в заданной папке
abhishek@LHB:~/Examples$ find ./new -name mystuff
./new/mystuff


Поиск файлов в нескольких папках
find ./location1 /second/location -type f -name "pattern"

Поиск пустых файлов и папок
find . -empty

Поиск крупных и мелких файлов (поиск по размеру файла)
find . -size +1G

https://habr.com/ru/companies/first/articles/593669/
2👍1
Пример Bash-скрипта, который выполняет следующие задачи

1. Проверяет доступность важного веб-сервера.
2. Проверяет использование дискового пространства.
3. Делает бэкап указанных директорий.
4. Отправляет отчет на электронную почту администратора.

Пример скрипта:

#!/bin/bash

# Установки
WEB_SERVER="https://example.com"
BACKUP_DIR="/backup"
TARGET_DIRS="/var/www /etc"
DISK_USAGE_THRESHOLD=90
ADMIN_EMAIL="admin@example.com"
DATE=$(date +"%Y-%m-%d")
BACKUP_FILE="$BACKUP_DIR/backup-$DATE.tar.gz"

# Проверка доступности веб-сервера
echo "Проверка доступности веб-сервера..."
if curl -s --head $WEB_SERVER | grep "200 OK" > /dev/null; then
echo "Веб-сервер доступен."
else
echo "Внимание: Веб-сервер недоступен!" | mail -s "Проблема с веб-сервером" $ADMIN_EMAIL
fi

# Проверка дискового пространства
echo "Проверка дискового пространства..."
DISK_USAGE=$(df / | grep / | awk '{ print $5 }' | sed 's/%//g')
if [ $DISK_USAGE -gt $DISK_USAGE_THRESHOLD ]; then
echo "Внимание: Использование дискового пространства превысило $DISK_USAGE_THRESHOLD%!" | mail -s "Проблема с дисковым пространством" $ADMIN_EMAIL
else
echo "Дискового пространства достаточно."
fi

# Создание бэкапа
echo "Создание бэкапа..."
tar -czf $BACKUP_FILE $TARGET_DIRS

if [ $? -eq 0 ]; then
echo "Бэкап успешно создан: $BACKUP_FILE"
else
echo "Ошибка создания бэкапа!" | mail -s "Ошибка создания бэкапа" $ADMIN_EMAIL
fi

# Отправка отчета
echo "Отправка отчета на $ADMIN_EMAIL..."
REPORT="Отчет за $DATE\n\n"
REPORT+="Статус веб-сервера: $(curl -s --head $WEB_SERVER | head -n 1)\n"
REPORT+="Использование дискового пространства: $DISK_USAGE%\n"
REPORT+="Расположение бэкапа: $BACKUP_FILE\n"

echo -e $REPORT | mail -s "Ежедневный отчет системы" $ADMIN_EMAIL

echo "Готово."


Описание:
1. Проверка веб-сервера: Используется команда curl, чтобы проверить, доступен ли сайт.
2. Проверка дискового пространства: С помощью df и awk проверяется использование диска. Если превышен порог (90%), отправляется уведомление.
3. Создание бэкапа: Команда tar архивирует и сжимает директории, которые указаны в переменной TARGET_DIRS.
4. Отправка отчета: Отчет по всем операциям отправляется на почту администратора с помощью mail.

Как использовать:
1. Задайте нужные параметры, такие как адрес веб-сервера, директории для бэкапа, порог использования диска и email.
2. Сделайте скрипт исполняемым:

   chmod +x /path/to/your/script.sh

3. Добавьте скрипт в cron для выполнения на регулярной основе:

   crontab -e

Пример для выполнения каждый день в 00:00:


0 0 * * * /path/to/your/script.sh
3
Как работает Docker
1
Наглядное руководство по туннелированию SSH и переадресации портов

Если говорить коротко, то я жалею, что не знал о пробросе портов и туннелировании раньше. В этой статье я пытаюсь лучше понять это и поделиться с вами некоторым опытом и советами.
Темы: сценарии использования, конфигурация, SSH jumphosts, локальная/удаленная/динамическая переадресация портов и ограничения

https://ittavern.com/visual-guide-to-ssh-tunneling-and-port-forwarding/
2
Понимание системных журналов Linux

Системные журналы, которые обычно находятся в каталоге /var/log на Linux-системах, крайне важны для мониторинга и устранения неполадок. Краткое описание основных журналов:

syslog: Основной универсальный журнал системы, куда попадают сообщения от различных сервисов и приложений. Многие другие логи направляют сообщения именно сюда.

auth.log: Содержит сообщения, связанные с аутентификацией: успешные и неудачные попытки входа, смена пароля, события проверки пользователей.

kern.log: Фиксирует сообщения ядра: ошибки оборудования, загрузку модулей ядра и другие активности, связанные с ядром системы.

messages: Универсальный журнал, в котором записываются разные системные события: загрузка и выключение системы, а также другие события общего характера.

dmesg: Отображает кольцевой буфер сообщений ядра — в реальном времени показывает события, связанные с ядром и обнаружением оборудования при запуске системы.

cron: Журналирует работу заданий cron и запланированных задач: время выполнения, а также ошибки, возникшие при выполнении.

secure: Записывает сообщения, связанные с безопасностью: попытки аутентификации, эскалация привилегий и другие важные для безопасности события.

apache/access.log и apache/error.log: Журналы веб-сервера Apache. access.log хранит логи HTTP-доступа, а error.log — ошибки и предупреждения Apache.

nginx/access.log и nginx/error.log: Аналогичные журналы для веб-сервера Nginx, фиксируют события доступа и ошибки.

mysql/error.log: Содержит ошибки и предупреждения MySQL-сервера, включая ошибки запуска, сбои запросов и аварийные завершения работы базы данных.

Эти журналы предоставляют ценную информацию о производительности системы, событиях безопасности и помогают при поиске и устранении неполадок. Регулярный мониторинг и анализ этих логов позволяют поддерживать стабильность системы и выявлять потенциальные проблемы до их возникновения.
2
Работа с архивами

Создать .tar.gz:
tar -czvf file.tar.gz /full/path — создать .tar.gz (архив)
tar -cjvf file.tar.bz2 /full/path — создать .tar.bz2 (архив)


Распаковать .tar:
tar -xvf file.tar.gz

Распаковать gz:
gunzip yourfile.gz

Распаковать многотомный архив:
7za x arch.7z.001

Получить листинг файлов в архиве:
tar -tf <path_to_tarfile>

Извлечь конкретный файл из архива:
tar -xf <path_to_tarfile> [<file_1_in_archive> <file_2_in_archive> ..]

Скопировать файл на сервер:
scp -P 12322 file.tar login@111.111.111.111:/home/user
1
Контроль оплаты домена через Zabbix

Позвонил клиент, говорит почта не работает. Стал смотреть – домен отключен за не оплату, бухгалтерия забыла оплатить счет. Подумалось, что неплохо бы видеть какие домены в ближайшее время тоже потребуют продления. Будем для этого использовать Zabbix.

На сервере с Zabbix’ом установим Zabbix-агент. Он и будет у нас заниматься проверкой наших доменов.

https://telegra.ph/Kontrol-oplaty-domena-cherez-Zabbix-09-26
1
📌 Bash-совет дня: Быстрый мониторинг TCP/UDP портов

Иногда нужно оперативно узнать, какие порты слушает сервер и какие подключения активны. Вот простой однострочник, который поможет:


sudo ss -tunlp


Пояснение ключей:
- -t — TCP
- -u — UDP
- -n — не разрешать имена хостов и портов (быстрее)
- -l — только слушающие сокеты
- -p — показать PID и имя процесса

Хочешь отсортировать по порту или найти конкретный? Добавь grep:

sudo ss -tunlp | grep 8080


Альтернатива на случай, если нет ss:

sudo netstat -tunlp


Полезно для отладки фаервола, проверки работы сервисов или просто для уверенности, что сервер не слушает ничего лишнего
2
Iptables - Официальная документация

Iptables — утилита командной строки, является стандартным интерфейсом управления работой межсетевого экрана (брандмауэра) Netfilter для ядер Linux, начиная с версии 2.4. С её помощью администраторы создают и изменяют правила, управляющие фильтрацией и перенаправлением пакетов. Для работы с семейством протоколов IPv6 существует отдельная версия утилиты — Ip6tables. Для использования утилиты Iptables требуются привилегии суперпользователя (root).

https://help.ubuntu.ru/wiki/iptables
1
Команды мониторинга и отладки

top отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)

ps -eafw отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)

ps -e -o pid,args --forest вывести PID’ы и процессы в виде дерева

pstree отобразить дерево процессов

kill -9 98989
kill -KILL 98989
«убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных)

kill -TERM 98989 Корректно завершить процесс с PID 98989

kill -1 98989
kill -HUP 98989
заставить процесс с PID 98989 перепрочитать файл конфигурации

lsof -p 98989 отобразить список файлов, открытых процессом с PID 98989

lsof /home/user1 отобразить список открытых файлов из директории /home/user1

strace -c ls > /dev/null вывести список системных вызовов, созданных и полученных процессом ls

strace -f -e open ls > /dev/null вывести вызовы бибилотек

watch -n1 ‘cat /proc/interrupts’ отображать прерывания в режиме реального времени

last reboot отобразить историю перезагрузок системы

last user1 отобразить историю регистрации пользователя user1 в системе и время его нахождения в ней

lsmod вывести загруженные модули ядра

free -m показать состояние оперативной памяти в мегабайтах

smartctl -A /dev/hda контроль состояния жёсткого диска /dev/hda через SMART

smartctl -i /dev/hda проверить доступность SMART на жёстком диске /dev/hda

tail /var/log/dmesg вывести десять последних записей из журнала загрузки ядра

tail /var/log/messages вывести десять последних записей из системного журнала
2
Настройка NVMe over TCP — для тех, кому надо подключить больше 1 диска единственной конфигурации из всех примеров в Сети

Технология NVMe через различные фабрики (далее NVMeOF) оформлена в качестве стандарта летом 2016 года, она была встроена в пятую ветку ядра Linux.

Поэтому, когда было решено мигрировать объемные базы данных с легаси-решений на общедоступные платформы, возник вопрос — можно ли применить эту технологию увеличения дискового пространства для создания зеркал локальных дисков?

Чтобы все зеркала не вышли из строя сразу, принимать такие диски надо бы небольшими группами с нескольких машин из разных стоек. Идея показалась достойной рассмотрения, поэтому создали небольшой стенд.

https://habr.com/ru/companies/beeline_tech/articles/770174/
2👍1
Краткое руководство по Load Balancing
👍2
Список полезных команд для работы с telnet, которые могут помочь при подключении и отладке сетевых служб:

Основные команды telnet:
1. Подключение к удаленному хосту:

telnet <hostname> <port>

Пример:

telnet example.com 80

Подключается к хосту example.com на порту 80 (HTTP).

2. Закрытие соединения:
Чтобы завершить сессию, используйте сочетание клавиш:

Ctrl + ] (переход в режим команд)

Затем введите:

quit


3. Отправка текстового запроса после подключения:
Если подключились к порту, например, HTTP-сервера, можно отправить запрос вручную:

GET / HTTP/1.1
Host: example.com

Это выполняет запрос к домашней странице на порту 80.

Встроенные команды telnet (используйте в режиме команд после нажатия `Ctrl + ]`):

1. help
Показывает список доступных команд telnet:

telnet> help


2. open
Открывает новое соединение с указанным хостом:

telnet> open <hostname> <port>


3. close
Закрывает текущее соединение:

telnet> close


4. display
Показывает текущие параметры подключения:

telnet> display


5. mode
Переключает режим работы telnet (например, line или `character`):

telnet> mode line


6. send
Отправляет управляющие символы (например, send escape для отправки escape-секвенции):

telnet> send escape


7. status
Показывает статус текущего соединения:

telnet> status


8. set и unset
Настраивают параметры подключения (например, установка режима эхо):

telnet> set echo
telnet> unset echo


Примеры использования telnet:

1. Проверка доступности порта:
Чтобы проверить, открыт ли порт на удаленном сервере:

telnet <hostname> <port>


2. Проверка почтового сервера (SMTP):
Подключение к серверу SMTP:

telnet smtp.example.com 25

Затем можно вручную ввести SMTP-команды, такие как:

EHLO example.com


3. Проверка DNS сервера:
Можно подключиться к DNS-серверу и проверить его ответы:

telnet <dns-server> 53


Эти команды помогут вам для отладки, диагностики и проверки сетевых служб.
1
Памятка по Debian
2
mRemoteNG

Это форк mRemote: мультипротокольный менеджер удаленных соединений с открытым исходным кодом для Windows. mRemoteNG добавляет исправления ошибок и новые функции в mRemote и позволяет просматривать все ваши удаленные соединения в простом, но мощном интерфейсе с вкладками.

Поддерживаемые протоколы:

RDP (Remote Desktop Protocol)
VNC (Virtual Network Computing)
SSH (Secure Shell)
Telnet (TELecommunication NETwork)
HTTP/HTTPS (Hypertext Transfer Protocol)
rlogin (Remote Login)
Raw Socket Connections
Powershell remoting

https://mremoteng.org/

https://github.com/mRemoteNG/mRemoteNG
2
Более чем 80 средств мониторинга системы Linux

По ссылке будет приведен список инструментов мониторинга. Есть как минимум 80 способов, с помощью которых ваша машинка будет под контролем.

https://habr.com/ru/companies/ua-hosting/articles/281519/
1
Libtree

Утилита, позволяющая получить список разделяемых библиотек (shared libraries) в виде дерева, либо в виде путей до этих библиотек в системе.


1. Скачиваем libtree:

$ wget https://github.com/haampie/libtree/releases/download/v3.0.1/libtree_x86_64 -O libtree
$ chmod +x libtree


2. Проверяем нужный нам файл:

$ ./libtree /bin/nano
/bin/nano
├── libmagic.so.1 [default path]
│ └── libz.so.1 [default path]
├── libtinfo.so.6 [default path]
└── libncursesw.so.6 [default path]
└── libtinfo.so.6 [default path]


При необходимости углубиться и получить зависимости для отображаемых библиотек просто добавляем -v, -vv или -vvv соответственно.

$ ./libtree -vvv /bin/nano
/bin/nano
├── libmagic.so.1 [default path]
│ ├── libz.so.1 [default path]
│ │ └── libc.so.6 [default path]
│ │ └── ld-linux-x86-64.so.2 [default path]
│ └── libc.so.6 [default path]
│ └── ld-linux-x86-64.so.2 [default path]
├── libc.so.6 [default path]
│ └── ld-linux-x86-64.so.2 [default path]
├── libtinfo.so.6 [default path]
│ └── libc.so.6 [default path]
│ └── ld-linux-x86-64.so.2 [default path]
└── libncursesw.so.6 [default path]
├── libtinfo.so.6 [default path]
│ └── libc.so.6 [default path]
│ └── ld-linux-x86-64.so.2 [default path]
└── libc.so.6 [default path]
└── ld-linux-x86-64.so.2 [default path]


Отобразить полный путь до файла на сервере можно с помощью опции -p:

$ ./libtree -p -vvv /bin/ping
/bin/ping
├── /lib64/libcap.so.2 [default path]
│ └── /lib64/libc.so.6 [default path]
│ └── /lib64/ld-linux-x86-64.so.2 [default path]
├── /lib64/libc.so.6 [default path]
│ └── /lib64/ld-linux-x86-64.so.2 [default path]
└── /lib64/libidn2.so.0 [default path]
├── /lib64/libunistring.so.2 [default path]
│ └── /lib64/libc.so.6 [default path]
│ └── /lib64/ld-linux-x86-64.so.2 [default path]
└── /lib64/libc.so.6 [default path]
└── /lib64/ld-linux-x86-64.so.2 [default path]


По умолчанию, информация о некоторых библиотеках не выводится в libtree. Подробнее об этом в выводе команды:

$ ./libtree --help


https://github.com/haampie/libtree
2👍1
Перенос VM с Hyper-V на Proxmox

Перенос виртуальной машины (VM) с Hyper-V на Proxmox включает несколько шагов, поскольку Hyper-V и Proxmox используют разные форматы виртуальных дисков. Hyper-V использует формат VHDX, а Proxmox предпочитает формат QCOW2 или RAW. Основная задача заключается в конвертации дисков и настройке виртуальной машины на новом гипервизоре.

Шаги для переноса VM с Hyper-V на Proxmox

📌1. Подготовка виртуальной машины в Hyper-V

1. Выключите виртуальную машину в Hyper-V.
Чтобы избежать проблем с консистентностью данных, убедитесь, что VM выключена перед экспортом.

2. Экспортируйте виртуальную машину.
Откройте Hyper-V Manager и выполните экспорт виртуальной машины:
- Выберите нужную виртуальную машину.
- Нажмите "Экспортировать" и выберите директорию для сохранения экспортированных файлов.

В результате экспорт сохранит всю конфигурацию виртуальной машины и файлы дисков (обычно в формате VHD или VHDX).

📌2. Конвертация виртуального диска

Proxmox поддерживает несколько форматов виртуальных дисков, таких как QCOW2 и RAW. Вы можете использовать утилиту qemu-img для конвертации формата.

1. Перенесите диск (VHDX/VHD) на сервер Proxmox.
Скопируйте файл виртуального диска с Hyper-V на сервер Proxmox с помощью SCP или другого метода передачи файлов.

Пример использования SCP:

scp /path/to/your/disk.vhdx user@proxmox:/var/lib/vz/images/


2. Установите `qemu-utils` (если он не установлен).
Для конвертации используйте утилиту qemu-img. На Proxmox по умолчанию установлена эта утилита, но если её нет, установите:

apt-get install qemu-utils


3. Конвертируйте VHDX в формат QCOW2 или RAW.
Выполните команду для конвертации:
- В QCOW2:

qemu-img convert -f vhdx -O qcow2 /path/to/your/disk.vhdx /var/lib/vz/images/VMID/vm-disk.qcow2

- В RAW:

qemu-img convert -f vhdx -O raw /path/to/your/disk.vhdx /var/lib/vz/images/VMID/vm-disk.raw


- /path/to/your/disk.vhdx — путь к вашему файлу VHDX.
- /var/lib/vz/images/VMID/vm-disk.qcow2 — путь, куда будет сохранен новый виртуальный диск, с указанием идентификатора VM (`VMID`).

📌3. Создание новой VM на Proxmox

1. Создайте новую виртуальную машину на Proxmox.
В интерфейсе Proxmox:
- Нажмите "Создать VM".
- Укажите настройки (например, процессоры, память, сетевые адаптеры), соответствующие параметрам вашей VM на Hyper-V.
- На этапе создания жесткого диска выберите небольшой размер временного диска (он не будет использоваться).

2. Подмените созданный диск на сконвертированный.
После создания VM:
- Перейдите в директорию, где хранится диск новой VM: /var/lib/vz/images/VMID/.
- Удалите временный диск и замените его на сконвертированный диск:

mv /path/to/vm-disk.qcow2 /var/lib/vz/images/VMID/


3. Проверьте и отредактируйте конфигурацию виртуальной машины.
Откройте файл конфигурации VM, который находится по пути /etc/pve/qemu-server/VMID.conf, и убедитесь, что строка с указанием диска ссылается на ваш новый файл:

scsi0: local:VMID/vm-disk.qcow2


📌4. Запуск виртуальной машины

1. Запустите виртуальную машину в Proxmox.
В интерфейсе Proxmox запустите VM и проверьте, корректно ли она работает.

2. Установите необходимые драйвера.
Если в Hyper-V VM использовала специфичные драйвера, возможно, потребуется установить новые драйвера в ОС, чтобы она корректно функционировала в Proxmox (например, драйвера для сетевого адаптера или виртуальных дисков).

Заключение
После выполнения этих шагов виртуальная машина должна корректно работать на платформе Proxmox. Если возникнут проблемы с драйверами или загрузкой системы, возможно, потребуется дополнительно настроить параметры виртуальной машины или обновить конфигурацию ОС.
1😁1
📌 Руководство-шпаргалка по UFW (Uncomplicated Firewall)


▪️Uncomplicated Firewall — простой интерфейс для управления iptables в Ubuntu/Debian.


▪️Основы

# Включить UFW
sudo ufw enable

# Отключить UFW
sudo ufw disable

# Проверить статус
sudo ufw status verbose

# Перезапустить (сбросить) UFW
sudo ufw reset



▪️Разрешение и запрет трафика

# Разрешить порт
sudo ufw allow 22 # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443 # HTTPS

# Разрешить диапазон портов
sudo ufw allow 1000:2000/tcp

# Запретить порт
sudo ufw deny 23 # Telnet

# Разрешить IP
sudo ufw allow from 192.168.1.100

# Разрешить IP к порту
sudo ufw allow from 10.0.0.1 to any port 22

# Запретить IP к порту
sudo ufw deny from 192.168.1.200 to any port 80



▪️Расширенные параметры

# Ограничить подключение (анти-флуд)
sudo ufw limit ssh/tcp

# Удалить правило
sudo ufw delete allow 22

# Интерфейсы и подсети
sudo ufw allow in on eth0 from 192.168.1.0/24 to any port 3306



▪️Политики по умолчанию

# Запретить всё входящее, разрешить исходящее
sudo ufw default deny incoming
sudo ufw default allow outgoing



▪️Проверка и отладка

# Сухой запуск (не применяет правила)
sudo ufw --dry-run enable

# Просмотр всех правил с номерами
sudo ufw status numbered



▪️Советы

- Разреши SSH до включения UFW: sudo ufw allow ssh
- Для сервера: сначала запрети всё входящее, затем добавляй нужные порты.
- Используй limit для SSH — защита от брутфорса.
- Делай резервные копии правил (ufw status > ufw-backup.txt).
2
Горячие клавиши VirtualBox

Основные ярлыки в VirtualBox
F1: Отображает справку.
Ctrl + D Мы получаем доступ к виртуальному медиа-менеджеру.
Ctrl + G: Мы получаем доступ к настройкам VirtualBox.
Ctrl + S: Открываем окно настроек виртуальной машины.
Ctrl + I: Импорт виртуализированной службы.
Ctrl + E: Экспорт виртуализированной службы.
Ctrl + L: Показывает журнал событий виртуальной машины.
Ctrl + N: Создает новую виртуальную машину.
Ctrl + P: Мы приостанавливаем виртуальную машину.
Ctrl + R: Мы удаляем виртуальную машину.
CTRL+Q: Мы выходим из приложения.
Ctrl + Alt + L: Блокировка сеанса
Ctrl + Alt + или : Переход между различными рабочими столами
Ctrl + Alt + Shift + или : Расположение рабочих столов, один на другом или под другим.
Ctrl+Alt+ T: Открываем новый терминал
Ctrl+Alt+ Tab: Мы переключаемся между компонентами системы.
Ctrl + Windows + или : Максимизировать или минимизировать окно
Ctrl + Windows + D Показать текущий рабочий стол.

Host ярлыки в VirtualBox
F1: Отображает справку.
Host + F: Вход в полноэкранный режим.
Host + A: Настройка размера окна.
Host + L: Вход в режим «fluid».
Host + G: Отключить автоматическую подгонку экрана гостя.
Host + I: Отключить интеграцию мыши.
Host + S: Создание снимка.
Host + N: Диалоговое окно информации о сеансе (это информация о машине плюс данные выполнения).
Host + P: Приостановка виртуальной машины.
Host + R: Перезапуск виртуальной машины.
Host + Q: Закрыть виртуальную машину.
Host + H: ACPI отключен.
Host + Del: Это то же самое, что нажатие Ctrl + Alt + Del.
Host + Пробел: Отправка Ctrl + Alt + Backspace на систему гостя (специфично для GNU / Linux).

Alt ярлыки в VirtualBox
Alt+Tab: Переключение между приложениями.
Alt+Shift+Tab: Переключение между приложениями в обратном направлении.
Alt+F1: Открытие меню поиска.
Alt+F2: Открытие окна запуска.
Alt+F7: Прокрутка окна.
Alt + F8 + или : Изменение размера окна.
1