Создание скриншота с помощью команды в терминале
Команда import используется для создания снимков экрана выбранной области или окна на экране.
Захватить весь экран:
Захватить определенную прямоугольную область:
Захватить активное в данный момент окно:
Команда import используется для создания снимков экрана выбранной области или окна на экране.
Захватить весь экран:
import screen.pngЗахватить определенную прямоугольную область:
import -crop 800x600+100+100 area.png
Захватить активное в данный момент окно:
import -window root window.pngЧтобы узнать, какой процесс открыл тот или иной ресурс, например, файл или сетевой порт, можно воспользоваться командой
Что делать далее - решать вам, например, можно убить этот процесс командой
fuser. Например: fuser -va 23/tcp
Получим идентификатор процесса, открывшего ТСР порт 23fuser -va /chroot/etc/resolv.conf
Во втором случае получим идентификатор процесса, открывшего файл /chroot/ etc/resolv.conf.Что делать далее - решать вам, например, можно убить этот процесс командой
kill.DHCP-сервер в Linux
1. Для установки DHCP-сервера в Ubuntu или Debian, выполните команду:
2. Настройка файла
3. В файле
Например, для подсети
4. В файле
5. Перед запуском DHCP-сервера убедитесь, что настройки в файле dhcpd.conf заданы правильно.
Выполните команду
6. Если ошибок нет, запустите DHCP-сервер:
1. Для установки DHCP-сервера в Ubuntu или Debian, выполните команду:
sudo apt-get install isc-dhcp-server2. Настройка файла
dhcpd.conf (основной файл конфигурации DHCP-сервера). Вам нужно указать настройки, такие как подсети, диапазоны IP-адресов, шлюзы, DNS-серверы и т. д.3. В файле
dhcpd.conf определите подсети и диапазоны IP-адресов, доступные для выдачи.Например, для подсети
192.168.1.0/24 и диапазона IP-адресов от 192.168.1.10 до 192.168.1.100, добавьте следующие строки в файл dhcpd.conf:subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
}
4. В файле
dhcpd.conf вы также можете указать другие настройки, такие как шлюзы (routers), DNS-серверы (domain-name-servers) и другие параметры.5. Перед запуском DHCP-сервера убедитесь, что настройки в файле dhcpd.conf заданы правильно.
Выполните команду
sudo dhcpd -t, чтобы проверить конфигурационный файл.6. Если ошибок нет, запустите DHCP-сервер:
sudo service isc-dhcp-server start (в Ubuntu/Debian).Если к компьютеру подключить несколько мышек, то они будут работать параллельно. При одновременном противоречивом движении мышей курсор будет или оставаться на месте или непредсказуемо перемещаться.
В Linux обычные пользователи могут выделить каждой мыши по курсору. На экране их будет несколько, все они будут рабочие и каждый будет управляться своим устройством. Сделать это можно в три команды:
Посмотрим группы и номера устройств
Создаём ещё одну группу «mouse2» для новой мыши
Переподключаем мышь с id=11 к группе mouse2 (id=13)
В Linux обычные пользователи могут выделить каждой мыши по курсору. На экране их будет несколько, все они будут рабочие и каждый будет управляться своим устройством. Сделать это можно в три команды:
Посмотрим группы и номера устройств
$ xinput listСоздаём ещё одну группу «mouse2» для новой мыши
$ xinput create-master mouse2Переподключаем мышь с id=11 к группе mouse2 (id=13)
$ xinput reattach 11 13Записать сеанса терминала
Команда
Чтобы начать запись терминала в лог файл:
Теперь можете попробовать выполнить несколько команд, например,
Далее остановите команду script, выполнив команду
Теперь вся информация, которая была введена в терминал, хранится в файле
Команда
script фиксирует все, что происходит в сеансе терминала. С помощью нее можно сохранить всю информацию о вводе, выводе и времени. Чтобы начать запись терминала в лог файл:
script history_log.txtТеперь можете попробовать выполнить несколько команд, например,
ls, cal, w.Далее остановите команду script, выполнив команду
exit в терминале. После этого сможете увидеть: Script done, file is history_log.txtТеперь вся информация, которая была введена в терминал, хранится в файле
history_log.txtОткрываем изображения для просмотра из терминала
Команда
При запуске команды
Команда
display используется для открытия и отображения изображений в графическом окне. display image.jpgПри запуске команды
display появится графическое окно с изображением. Вы можете взаимодействовать с окном, чтобы увеличивать и уменьшать масштаб, прокручивать и закрывать изображение.Разрешить команды с помощью sudo только определенной группе пользователей
Предупреждение: не следует слепо следовать настройкам. В результате можно испортить систему. По большей части просто читайте и наслаждайтесь, или же не забудьте про резервную копию :)
Это более продвинутое решение, которое сисадмин использует в многопользовательской среде. Допустим, вы создаете группу "
Теперь отредактируйте файл sudoer с помощью:
Добавьте в него следующую строку:
Предупреждение: не следует слепо следовать настройкам. В результате можно испортить систему. По большей части просто читайте и наслаждайтесь, или же не забудьте про резервную копию :)
Это более продвинутое решение, которое сисадмин использует в многопользовательской среде. Допустим, вы создаете группу "
coders" и разрешаете им запускать команды из каталогов /var/folder и /opt/bin/coders.Теперь отредактируйте файл sudoer с помощью:
sudo visudo Добавьте в него следующую строку:
%coders ALL=(ALL:ALL) /var/folder,/opt/bin/codersНесколько примеров настроек ядра Linux:
/proc/sys/kernel/panic: Этот параметр определяет время задержки перед автоматической перезагрузкой системы после возникновения фатальной ошибки (паники) ядра. Значение в секундах. Например, чтобы установить время задержки в 10 секунд, выполните команду: echo 10 > /proc/sys/kernel/panic/proc/sys/kernel/sysrq: Этот параметр определяет, разрешены ли команды SysRq (System Request) для ядра Linux. Команды SysRq позволяют выполнять различные действия, такие как перезагрузка системы, синхронизация дисков, отображение информации о системе и т. д. Чтобы включить команды SysRq, выполните команду: echo 1 > /proc/sys/kernel/sysrq/proc/sys/kernel/sem: Этот параметр определяет количество системных семафоров, которые могут быть использованы процессами. Семафоры используются для синхронизации доступа к общим ресурсам. Значение состоит из трех чисел, разделенных пробелами, представляющих максимальное количество семафоров, максимальное количество семафоров в каждом наборе и максимальное значение для семафоров./proc/sys/kernel/shmmax: Этот параметр определяет максимальный размер общей памяти (shared memory), которая может быть выделена процессу. Значение указывается в байтах. Например, чтобы установить максимальный размер общей памяти в 1 гигабайт, выполните команду: echo 1073741824 > /proc/sys/kernel/shmmax/proc/sys/kernel/threads-max: Этот параметр определяет максимальное количество потоков, которые могут быть созданы в системе. Значение указывает максимальное количество потоков, которые могут быть созданы процессами. Например, чтобы установить максимальное количество потоков в 10000, выполните команду: echo 10000 > /proc/sys/kernel/threads-max/proc/sys/kernel/panic_on_oops: Этот параметр определяет, должна ли система автоматически перезагружаться после возникновения ошибки ядра (oops). Значение 1 включает автоматическую перезагрузку, а значение 0 отключает ее. Например, чтобы отключить автоматическую перезагрузку, выполните команду: echo 0 > /proc/sys/kernel/panic_on_oopsДопустим, вы хотите засечь сколько времени выполняется определенное действие в вашем Bash скрипте, для этого добавьте там, где нужно начать замер строку:
А там, где нужно прекратить:
Переменная
START=$(date +%s)А там, где нужно прекратить:
END=$(date +%s)DIFF=$(( $END - $START ))DIFF=$(( $DIFF / 60 ))Переменная
DIFF будет содержать время выполнения в минутах. Теперь вы можете вывести ее с помощью echo.Анализ и сканирование файлов ELF
Команда
Примеры использования scanelf:
1. Поиск всех ELF файлов, использующих определённую библиотеку:
Эта команда выведет список всех файлов, динамически связанных с
2. Анализ RPATH и RUNPATH всех ELF файлов в директории:
Здесь будет произведён поиск и отображение информации о RPATH и RUNPATH для всех ELF файлов в указанной директории.
3. Поиск файлов с неподкачиваемыми секциями :
Неподкачиваемые секции относятся к сегментам данных, которые должны оставаться в оперативной памяти во время выполнения программы и не могут быть перемещены в область подкачки (swap). Это особенно важно для кода, который должен быть всегда доступен для быстрого выполнения, без задержек на подкачку из swap-области, например, для драйверов устройств или кода, работающего в режиме реального времени.
Команда
scanelf предоставляет широкие возможности для извлечения информации из файлов ELF.Примеры использования scanelf:
1. Поиск всех ELF файлов, использующих определённую библиотеку:
scanelf -B -n libspecific.soЭта команда выведет список всех файлов, динамически связанных с
libspecific.so.2. Анализ RPATH и RUNPATH всех ELF файлов в директории:
scanelf -R -l /path/to/directoryЗдесь будет произведён поиск и отображение информации о RPATH и RUNPATH для всех ELF файлов в указанной директории.
3. Поиск файлов с неподкачиваемыми секциями :
scanelf -M /path/to/directoryНеподкачиваемые секции относятся к сегментам данных, которые должны оставаться в оперативной памяти во время выполнения программы и не могут быть перемещены в область подкачки (swap). Это особенно важно для кода, который должен быть всегда доступен для быстрого выполнения, без задержек на подкачку из swap-области, например, для драйверов устройств или кода, работающего в режиме реального времени.
Сортировка файлов в каталоге по размеру
Для поиска самых больших файл в каталоге можно воспользоваться комбинацией команд
Выводит файлы в текущем каталоге, сортируя их по размеру в обратном числовом порядке.
Может быть очень полезно, когда нам нужно почистить место на компьютере.
Для поиска самых больших файл в каталоге можно воспользоваться комбинацией команд
ls и sort:ls -l | sort -k5,5nrВыводит файлы в текущем каталоге, сортируя их по размеру в обратном числовом порядке.
Может быть очень полезно, когда нам нужно почистить место на компьютере.
Вывести только подкаталоги в каталоге
Чтобы найти все подкаталоги можно воспользоваться одной из самых популярных команд
Чтобы найти все подкаталоги можно воспользоваться одной из самых популярных команд
ls:ls -d */-d: параметр указывает ls отображать сами каталоги, а не их содержимое.*/: шаблон, гарантирующий, что в списке будут указаны только каталоги.Проверить доступ sudo для пользователя
Как узнать, есть ли у пользователя доступ к sudo?
Лучший способ — использовать встроенную функциональность sudo и посмотреть, какой доступ к sudo имеет пользователь:
Он покажет, есть ли у пользователя с именем user_name доступ sudo для некоторых команд или для всех команд.
Если у пользователя вообще нет доступа к sudo, вы увидите:
Как узнать, есть ли у пользователя доступ к sudo?
Лучший способ — использовать встроенную функциональность sudo и посмотреть, какой доступ к sudo имеет пользователь:
sudo -l -U user_nameОн покажет, есть ли у пользователя с именем user_name доступ sudo для некоторых команд или для всех команд.
Если у пользователя вообще нет доступа к sudo, вы увидите:
User user_name is not allowed to run sudo on this-that-server.В Linux имеется набор команд (
И этих команд вполне достаточно, но из-за прогресса в ядре Linux, за последние годы они становятся устаревшими и уступают свое место более мощным и функциональным командам.
Новая альтернатива — команда
⁃ Она намного шире по функциональности.
⁃ Организованна на двух уровнях: канальный и сетевой.
⁃ Выполняет работу всех вышеупомянутых команд из net-tools.
⁃ Использует механизм сокетов
ifconfig, route, iwconfig и тд.), которые обеспечивают настройки сети. Доступно из пакета net-tools.И этих команд вполне достаточно, но из-за прогресса в ядре Linux, за последние годы они становятся устаревшими и уступают свое место более мощным и функциональным командам.
Новая альтернатива — команда
ip из пакета iproute2util.⁃ Она намного шире по функциональности.
⁃ Организованна на двух уровнях: канальный и сетевой.
⁃ Выполняет работу всех вышеупомянутых команд из net-tools.
⁃ Использует механизм сокетов
netlink, который является гораздо более гибким преемником ioctl для взаимодействия между ядром и пользовательским пространством с использованием rtnetlink.Команды монтирование файловых систем
mount /dev/hda2 /mnt/hda2 монтирует раздел ‘hda2’ в точку монтирования ‘/mnt/hda2’. Убедитесь в наличии директории-точки монтирования ‘/mnt/hda2’umount /dev/hda2 размонтирует раздел ‘hda2’. Перед выполнением, покиньте ‘/mnt/hda2’fuser -km /mnt/hda2 принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователемumount -n /mnt/hda2 выполнить размонитрование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты «только чтение» или недостаточно места на дискеmount /dev/cdrom /mnt/cdrom монтировать CD или DVDmount /dev/hdc /mnt/cdrecorder монтировать CD-R/CD-RW или DVD-R/DVD-RW(+-)mount -o loop file.iso /mnt/cdrom смонтировать ISO-образmount -t vfat /dev/hda5 /mnt/hda5 монтировать файловую систему Windows FAT32mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share монтировать сетевую файловую систему Windows (SMB/CIFS)mount -o bind /home/user/prg /var/ftp/user «монтирует» директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, например, для предоставления содержимого пользовательской директории через ftp при работе ftp-сервера в «песочнице» (chroot), когда симлинки сделать невозможно.Работа с каталогами
При указании имени каталога можно использовать следующие символы:
□
□
□
mkdir <каталог> Создание каталога cd <каталог> Изменение каталога ls <каталог> Вывод содержимого каталога rmdir <каталог> Удаление пустого каталога rm -r <каталог> Рекурсивное удаление каталогаПри указании имени каталога можно использовать следующие символы:
□
. — означает текущий каталог. Если вы введете команду cat ./file, то она выведет файл file, который находится в текущем каталоге; □
.. — родительский каталог. Например, команда cd .. переведет вас на один уровень вверх по дереву файловой системы; □
~ — домашний каталог пользователя.Примеры настройки терминала в Linux
Изменение цветовой схемы терминала:
Изменение размера шрифта терминала:
Добавление кастомизированного приветствия при запуске терминала:
Установка альтернативного эмулятора терминала (например, Terminator):
Настройка прозрачности фона терминала:
# Включить плагин "Opacity, Brightness, and Saturation" и настроить прозрачность
Изменение цветовой схемы терминала:
$ echo -e '\e]P02E3440' # Изменить цвет фона на #2E3440
$ echo -e '\e]P1b48ead' # Изменить цвет текста на #b48ead
Изменение размера шрифта терминала:
$ gsettings set org.gnome.desktop.interface monospace-font-name 'DejaVu Sans Mono 10'
Добавление кастомизированного приветствия при запуске терминала:
$ echo 'Здарова, заеб*л!' >> ~/.bashrc
Установка альтернативного эмулятора терминала (например, Terminator):
$ sudo apt-get install terminator
Настройка прозрачности фона терминала:
$ sudo apt-get install compizconfig-settings-manager
$ ccsm
# Включить плагин "Opacity, Brightness, and Saturation" и настроить прозрачность
FTP-сервер в Linux
1. Для установки FTP-сервера в Ubuntu или Debian, выполните команду:
2. Отредактируйте файл
⁃ Укажите анонимный доступ, обозначив
⁃ Установите ограничения на загрузку и скачивание файлов с помощью параметров
3. Чтобы разрешить пользователям FTP-сервера получать доступ, добавьте их учетные записи в систему с помощью команды
4. Обеспечение безопасности FTP-сервера:
⁃ Измените порт FTP-сервера на непривилегированный, чтобы уменьшить риск атаки:
⁃ Включите SSH-доступ и отключите прямой доступ к FTP-порту из-за пределов сети:
⁃ Разрешите только безопасные протоколы шифрования, установив
5. Выполните команду
1. Для установки FTP-сервера в Ubuntu или Debian, выполните команду:
sudo apt-get install vsftpd2. Отредактируйте файл
/etc/vsftpd.conf. ⁃ Укажите анонимный доступ, обозначив
anonymous_enable=YES, или разрешите доступ для зарегистрированных пользователей, установив local_enable=YES.⁃ Установите ограничения на загрузку и скачивание файлов с помощью параметров
write_enable=YES, anon_upload_enable=YES, anon_mkdir_write_enable=YES.3. Чтобы разрешить пользователям FTP-сервера получать доступ, добавьте их учетные записи в систему с помощью команды
sudo adduser username4. Обеспечение безопасности FTP-сервера:
⁃ Измените порт FTP-сервера на непривилегированный, чтобы уменьшить риск атаки:
listen_port=2121.⁃ Включите SSH-доступ и отключите прямой доступ к FTP-порту из-за пределов сети:
connect_from_port_20=YES, listen_ipv6=NO.⁃ Разрешите только безопасные протоколы шифрования, установив
ssl_enable=YES, ssl_tlsv1=YES, ssl_sslv2=NO, ssl_sslv3=NO.5. Выполните команду
sudo service vsftpd restart, чтобы перезапустить службу после внесения изменений в файл конфигурации.Чтобы определить, чем занимается устройство, которое нужно размонтировать, существует полезный инструмент — команда
Введите ее с именем нужного раздела, например:
Выходные данные покажут, какие команды удерживают файлы открытыми в этом разделе. Таким же образом можно использовать команду:
lsof. Введите ее с именем нужного раздела, например:
lsof /mnt/testВыходные данные покажут, какие команды удерживают файлы открытыми в этом разделе. Таким же образом можно использовать команду:
fuser-v /mnt/testПри загрузке системы ядро определяет подключенное оборудование и запускает драйверы, которые позволяют Linux работать с ним. Сведения об обнаружении оборудования быстро прокручиваются на экране при загрузке.
Если необходимо повторно отобразить их после запуска системы, чтобы просмотреть сообщения о потенциальных проблемах, существует несколько способов просмотра сообщений:
Любой пользователь может запустить команду
Второй способ просмотра загрузочных сообщений — это команда
Если необходимо повторно отобразить их после запуска системы, чтобы просмотреть сообщения о потенциальных проблемах, существует несколько способов просмотра сообщений:
Любой пользователь может запустить команду
dmesg, чтобы увидеть, какое оборудование обнаружено и какие драйверы загружены ядром во время запуска. Второй способ просмотра загрузочных сообщений — это команда
journalctl, которая отображает сообщения, связанные с конкретным сеансом загрузки.