Разрешить SSH-доступ пользователю или группе
Чтобы разрешить доступ по SSH для определенного пользователя, например
Чтобы разрешить доступ по SSH для определенного пользователя, например
name_user, отредактируйте файл sshd_config:sudo vi /etc/ssh/sshd_configИ добавить или изменить следующую строку:
AllowUsers name_userТакже можно указать более одного пользователя, а чтобы добавить группу:
AllowGroups group_nameДалее перезапустить службу SSH, чтобы изменения вступили в силу:
sudo systemctl restart sshdДемон cron
cron используется для запуска запланированных задач на машинах, которые будут работать непрерывно 24/7, таких как сервера.
Регулярные действия описываются инструкциями, помещенными в файлы crontab и в специальные каталоги.
В системах на базе
Файлы crontab, создаваемые для отдельных пользователей, находятся в каталоге
Файлы crontab, используемые для управления всей системой, располагаются в каталоге
cron используется для запуска запланированных задач на машинах, которые будут работать непрерывно 24/7, таких как сервера.
Регулярные действия описываются инструкциями, помещенными в файлы crontab и в специальные каталоги.
В системах на базе
systemd cron фактически замещён встроенным механизмом systemd.timer.Файлы crontab, создаваемые для отдельных пользователей, находятся в каталоге
/usr/spool/cron/crontabs/ или /var/spool/cron/tabs/. Редактировать их вручную не рекомендуется, для этого используют команду crontab -e. Файлы crontab, используемые для управления всей системой, располагаются в каталоге
/etc/cron.d/. Кроме того, в каталогах /etc/cron.daily/, /etc/cron.weekly/ и /etc/cron.monthly/ размещаются автоматически запускаемые программы (ежедневно, еженедельно или ежемесячно).Планирование выполнения команд
Утилита at принимает широкий диапазон спецификаций времени. Вы можете указать время, дату и приращение от текущего времени.
Хорошим примером для иллюстрирования действий
at — unix-утилита, читающая команды со стандартного входного потока и группирующая их в виде задания at для выполнения в заданное время.Утилита at принимает широкий диапазон спецификаций времени. Вы можете указать время, дату и приращение от текущего времени.
Хорошим примером для иллюстрирования действий
at послужит следующая команда:echo "notify-send 'пора завтракать'" | at 06:00Её результатом будет вызов уведомителя GNOME с текстом «пора завтракать» в шесть часов утра.
Ознакомление со списком команд, запланированных для исполнения
Когда с помощью утилиты at, мы создаем запланированную команду, иногда мы можем забыть, что мы там напланировали.
Для того, чтобы посмотреть все задания, можно воспользоваться командой:
Когда с помощью утилиты at, мы создаем запланированную команду, иногда мы можем забыть, что мы там напланировали.
Для того, чтобы посмотреть все задания, можно воспользоваться командой:
at -lЛибо отдельной командой:
atqУдаление из очереди команд, запланированных для исполнения
Создать какую-то запланированную задачу (например, вывод какого-то напоминая на экран) очень просто. Достаточно воспользоваться командой
Но иногда напоминая настовятся неактуальными, поэтому чтобы удавиль какое-то запланированное выполнение команды, можно воспользоваться:
Создать какую-то запланированную задачу (например, вывод какого-то напоминая на экран) очень просто. Достаточно воспользоваться командой
at.Но иногда напоминая настовятся неактуальными, поэтому чтобы удавиль какое-то запланированное выполнение команды, можно воспользоваться:
at -d <идентификатор задачи>Либо отдельной командой:
atrm <идентификатор задачи>Интерпретатор Bash
bash является аббревиатурой от Bourne Again SHell.
Интерпретатор bash может запускаться в различных режимах совместимости, имитируя поведение других командных интерпретаторов. Он может имитировать поведение Bourne shell (sh) или командного интерпретатора, совместимого со стандартами POSK (bash — posix).
В результате интерпретатор bash с большей вероятностью сможет успешно читать файлы конфигурации и запускать сценарии, написанные специально для других командных интерпретаторов.
Все предоставляемые операционные системы Linux по умолчанию используют интерпретатор bash, кроме операционных систем, загружаемых со сменных носителей, в которых по умолчанию применяется интерпретатор ash.
bash является аббревиатурой от Bourne Again SHell.
Интерпретатор bash может запускаться в различных режимах совместимости, имитируя поведение других командных интерпретаторов. Он может имитировать поведение Bourne shell (sh) или командного интерпретатора, совместимого со стандартами POSK (bash — posix).
В результате интерпретатор bash с большей вероятностью сможет успешно читать файлы конфигурации и запускать сценарии, написанные специально для других командных интерпретаторов.
Все предоставляемые операционные системы Linux по умолчанию используют интерпретатор bash, кроме операционных систем, загружаемых со сменных носителей, в которых по умолчанию применяется интерпретатор ash.
Особенности cron
cron - демон, использующийся для периодического выполнения заданий.
- Все условия (времени запуска) проверяются по «логическому И», кроме условий «день недели» и «день месяца» — указанные совместно, они обрабатываются по «логическому ИЛИ», то есть «по любому из дней».
- Все файлы crontab должны завершаться пустой строкой, иначе будет проигнорировано последнее правило либо весь файл.
- Команды файла crontab используют стандартный синтаксис командной оболочки, но их нельзя разделить на несколько строк.
- Вывод запускаемых команд отправляется пользователю, от имени которого производился запуск. Если в файле crontab до команды расположена директива
cron - демон, использующийся для периодического выполнения заданий.
- Все условия (времени запуска) проверяются по «логическому И», кроме условий «день недели» и «день месяца» — указанные совместно, они обрабатываются по «логическому ИЛИ», то есть «по любому из дней».
- Все файлы crontab должны завершаться пустой строкой, иначе будет проигнорировано последнее правило либо весь файл.
- Команды файла crontab используют стандартный синтаксис командной оболочки, но их нельзя разделить на несколько строк.
- Вывод запускаемых команд отправляется пользователю, от имени которого производился запуск. Если в файле crontab до команды расположена директива
MAILTO=<new@email>, то выводимые данные будут отправляться на указанный адрес.Обработка мультимедийных файлов
Утилита
Основные строительные:
Примеры:
Чтобы получить информацию медиа файла (работает для видео и аудио):
Утилита
ffmpeg инструмент для обработки файлов в большинстве известных видеоформатов.Основные строительные:
ffmpeg - инструмент командной строки для конвертации мультимедийных файлов между форматамиffplay - простой медиаплеер на основе SDL и библиотек FFmpegffprobe - простой мультимедийный анализатор потоковПримеры:
Чтобы получить информацию медиа файла (работает для видео и аудио):
ffmpeg -i file_nameПреобразовать между различными форматами:
ffmpeg -i video_input.mp4 video_output.aviЧтобы извлечь аудио из видеофайла:
ffmpeg -i video.mp4 -vn audio.mp3Конфигурационный файл cron
Основной файл конфигурации cron (демон для для периодического выполнения заданий) -
Для редактирования файла crontab используется специальная одноимённая программа crontab, позволяющая не прерывать процесс
Вывести содержимое текущего файла расписания:
Основной файл конфигурации cron (демон для для периодического выполнения заданий) -
crontab. Каждый пользователь системы имеет свой файл, в котором описано, в какое время и какие программы запускать от имени этого пользователя. Для редактирования файла crontab используется специальная одноимённая программа crontab, позволяющая не прерывать процесс
cron на время редактирования.Вывести содержимое текущего файла расписания:
crontab -lУдаление текущего файла расписания:
crontab -rДля редактирования файла crontab вашего пользователя используется команда:
crontab -eДобавляем команду в cron
Чтобы добавить задание cron из терминала можно использовать утилиту crontab:
Каждая задача формируется следующим образом:
Самый простой пример как запускать cron каждую минуту. Вместо всех параметров ставим просто звездочку:
Чтобы добавить задание cron из терминала можно использовать утилиту crontab:
crontab -eКоманда откроет текстовый редактор, где вы сможете добавлять или редактировать задания cron:
Каждая задача формируется следующим образом:
минута(0-59) час(0-23) день(1-31) месяц(1-12) день_недели(0-7) /полный/путь/к/командеДля подставления любого значения используйте "
*".Самый простой пример как запускать cron каждую минуту. Вместо всех параметров ставим просто звездочку:
* * * * * /usr/local/bin/my_noscript.shМеняем вид курсора в Linux
Первое, что нужно сделать это найти тему для курсора, которая вам понравится (например, тут:
Далее извлечь содержимое и переименовать папку в Custom.
Теперь эту папку нам нужно переместить в
Иногда возникают проблемы с отображением, но это можно решить с помощью:
Первое, что нужно сделать это найти тему для курсора, которая вам понравится (например, тут:
gnome-look.org) и скачать ее.Далее извлечь содержимое и переименовать папку в Custom.
Теперь эту папку нам нужно переместить в
/usr/share/icons/:sudo cp -r /home/user_name/Загрузки/Custom /usr/share/icons/И устанавливаем темы:
sudo update-alternatives --install /usr/share/icons/default/index.theme x-cursor-theme /usr/share/icons/Custom/index.theme 95И наконец, запускаем утилиту Gnome Tweak Tool и на вкладке Внешний вид - Указатель мыши выбираем Custom.
Иногда возникают проблемы с отображением, но это можно решить с помощью:
sudo update-alternatives --config x-cursor-themeВ чем отличие утилиты от команды?
Следует различать термины «утилита» и «команда».
Утилита — компьютерная программа, исполняемая в отдельном процессе.
Команда — встроенная команда интерпретатора команд, исполняемая внутри процесса shell.
(Интерпретатор командной строки, или shell (shell -- оболочка) - эта та программа, которая принимает команды от пользователя и исполняет их.)
Следует различать термины «утилита» и «команда».
Утилита — компьютерная программа, исполняемая в отдельном процессе.
Команда — встроенная команда интерпретатора команд, исполняемая внутри процесса shell.
(Интерпретатор командной строки, или shell (shell -- оболочка) - эта та программа, которая принимает команды от пользователя и исполняет их.)
Nice как утилита, команда и приоритет
Утилита nice — компьютерная программа в UNIX-подобных ОС, предназначенная для запуска процессов с изменённым приоритетом nice.
Команда nice — встроенная команда интерпретатора команд (shell), выполняющая такие же функции, как и утилита nice, но работающая внутри процесса shell. Реализована, например, интерпретаторами команд csh и tcsh.
Приоритет nice — число, указывающее планировщику процессов ядра ОС приоритет, который пользователь хотел бы назначить процессу.
(число от 0 до 39, где 39 - самый низкий приоритет)
Утилита nice — компьютерная программа в UNIX-подобных ОС, предназначенная для запуска процессов с изменённым приоритетом nice.
Команда nice — встроенная команда интерпретатора команд (shell), выполняющая такие же функции, как и утилита nice, но работающая внутри процесса shell. Реализована, например, интерпретаторами команд csh и tcsh.
Приоритет nice — число, указывающее планировщику процессов ядра ОС приоритет, который пользователь хотел бы назначить процессу.
(число от 0 до 39, где 39 - самый низкий приоритет)
Использование интерпретатора tcsh (и более раннего csh)
Командный интерпретатор tcsh является реализацией интерпретатора Сshell (csh) с открытым исходным кодом.
Интерпретатор csh был создан Биллом Джоем (Bill Joy) и используется по умолчанию практически во всех системах Berkeley UNIX (такие системы распространялись компанией Sun Microsystems).
Многие возможности csh, например редактирование командной строки и методы управления историей команд, были реализованы в интерпретаторе tcsh и в других командных интерпретаторах. Так же как команда sh запускает интерпретатор bash в режиме совместимости с интерпретатором sh, команда csh запускает интерпретатор tcsh в режиме совместимости с интерпретатором csh.
Командный интерпретатор tcsh является реализацией интерпретатора Сshell (csh) с открытым исходным кодом.
Интерпретатор csh был создан Биллом Джоем (Bill Joy) и используется по умолчанию практически во всех системах Berkeley UNIX (такие системы распространялись компанией Sun Microsystems).
Многие возможности csh, например редактирование командной строки и методы управления историей команд, были реализованы в интерпретаторе tcsh и в других командных интерпретаторах. Так же как команда sh запускает интерпретатор bash в режиме совместимости с интерпретатором sh, команда csh запускает интерпретатор tcsh в режиме совместимости с интерпретатором csh.
Что такое anacron?
Anacron используется для периодического запуска команд с частотой, определенной в днях. Его работа немного отличается от работы cron - предполагая, что машина не будет включена все время.
Предположим, что у вас есть запланированное задание (например, сценарий резервного копирования), которое будет запускаться с использованием cron каждую полночь, возможно, когда вы уже спите, а ваш настольный компьютер/ноутбук к этому времени выключен. Ваш резервный скрипт не будет выполнен.
Однако, если вы используете anacron, вы можете быть уверены, что при следующем включении настольного компьютера/ноутбука у вас обязательно будет выполнен скрипт резервного копирования!
Anacron используется для периодического запуска команд с частотой, определенной в днях. Его работа немного отличается от работы cron - предполагая, что машина не будет включена все время.
Предположим, что у вас есть запланированное задание (например, сценарий резервного копирования), которое будет запускаться с использованием cron каждую полночь, возможно, когда вы уже спите, а ваш настольный компьютер/ноутбук к этому времени выключен. Ваш резервный скрипт не будет выполнен.
Однако, если вы используете anacron, вы можете быть уверены, что при следующем включении настольного компьютера/ноутбука у вас обязательно будет выполнен скрипт резервного копирования!
Настройка начального приоритета процесса
Вы можете уменьшить начальный приоритет процесса по сравнению с запланированным значением.
Чтобы задать начальный приоритет процесса ниже по сравнению с основным запланированным приоритетом, воспользуйтесь командой nice для запуска процесса.
где число от
Команда - это запускаемая команда с флагами и параметрами.
Для выполнения этой задачи можно также воспользоваться командой
Вы можете уменьшить начальный приоритет процесса по сравнению с запланированным значением.
Чтобы задать начальный приоритет процесса ниже по сравнению с основным запланированным приоритетом, воспользуйтесь командой nice для запуска процесса.
nice -n [число] [команда]где число от
0 до 39 (39 - самый низкий приоритет). Ноль означает, что процесс необходимо запустить с базовым приоритетом планирования.Команда - это запускаемая команда с флагами и параметрами.
Для выполнения этой задачи можно также воспользоваться командой
smit nice.Утилита renice
renice — UNIX-утилита, позволяющая изменить приоритет запущенных задач. Привилегированный пользователь (root) может указать отрицательное смещение. Команда renice может смещать приоритет в диапазоне от -20 (наивысший приоритет) до 19 (низший приоритет) от текущего.
Для изменения значения приоритета отдельных процессов достаточно перечислить их идентификаторы.
Для изменения приоритета всех процессов какого-либо пользователя необходимо указать флаг
Можно задавать как числовые, так и символьные идентификаторы пользователей.
renice — UNIX-утилита, позволяющая изменить приоритет запущенных задач. Привилегированный пользователь (root) может указать отрицательное смещение. Команда renice может смещать приоритет в диапазоне от -20 (наивысший приоритет) до 19 (низший приоритет) от текущего.
Для изменения значения приоритета отдельных процессов достаточно перечислить их идентификаторы.
Для изменения приоритета всех процессов какого-либо пользователя необходимо указать флаг
-u. В этом случае значения идентификаторов после флага -u будут интерпретироваться как идентификаторы пользователей.Можно задавать как числовые, так и символьные идентификаторы пользователей.
Изменение приоритета выполняемого процесса
Вы можете изменить приоритет уже выполняемого процесса с помощью команды renice, введенной в командной строке. Эта команда изменяет приоритет процесса, заданный командой nice.
Вы можете изменить приоритет уже выполняемого процесса с помощью команды renice, введенной в командной строке. Эта команда изменяет приоритет процесса, заданный командой nice.
renice [приоритет] -p [id_процесса]где приоритет - число от -20 до 20. Чем больше число, тем ниже приоритет. Ноль означает, что процесс необходимо запустить с базовым приоритетом планирования.
id_процесса - это идентификатор процесса, приоритет которого необходимо изменить.Перезапуск остановленного процесса
Чтобы просмотреть список запущенных и приостановленных процессов, то есть всех процессов системы, за исключением убитых:
Для отправки приостановленному процессу сигнала CONTINUE (продолжить) введите:
Чтобы просмотреть список запущенных и приостановленных процессов, то есть всех процессов системы, за исключением убитых:
ps -efЭту команду можно объединить с grep, если вас интересуют какие-то конкретные процессы, например, vi:
ps -ef | grep viВ выводе команды ps найдите процесс, который вы хотите возобновить, и запишите его ID.
Для отправки приостановленному процессу сигнала CONTINUE (продолжить) введите:
kill -19 [ID]
-19 означает сигнал CONTINUE, эта команда возобновляет процесс в фоновом режиме. Для перевода процесса в интерактивный режим:fg [ID]Команда fg
fg — команда возобновления работы задачи и передачи ей управления в командных оболочках, совместимых со стандартом POSIX.
Команда позволяет возобновить работу приостановленного процесса или вывести его из фонового режима. Обычно реализуется не как утилита, а как встроенная в командную оболочку команда, т. к. работает с задачами, запущенными в рамках командной оболочки.
Команда реализована в таких командных интерпретаторах, как
Примеры:
Для вывода всех фоновых и приостановленных задач:
fg — команда возобновления работы задачи и передачи ей управления в командных оболочках, совместимых со стандартом POSIX.
Команда позволяет возобновить работу приостановленного процесса или вывести его из фонового режима. Обычно реализуется не как утилита, а как встроенная в командную оболочку команда, т. к. работает с задачами, запущенными в рамках командной оболочки.
Команда реализована в таких командных интерпретаторах, как
bourne shell (sh)[2] и bourne again shell (bash).Примеры:
Для вывода всех фоновых и приостановленных задач:
fgДля того, чтобы «разбудить» процесс, следует передать команде в качестве параметра номер задачи:
fg [ID]Полезные инструменты, которые предоставляет systemd
Эта система предоставляет огромное количество возможностей. Запускать и останавливать сервисы, создавать файлы юнитов, изучать логи и даже монтировать удаленные хранилища.Рассмотри несколько полезных утилит, которые входят в состав systemd.
Действия, которые выполняют утилиты, можно осуществить и другими, более привычными способами.
Но инструменты, о которых пойдет речь ниже, достаточно удобны. И похоже, что systemd обосновалась в мире Linux всерьез и надолго, поэтому знать некоторые ее возможности будет не лишним.
1) localectl: централизованное управление языковыми и региональными параметрами. Например, можно поменять язык системы
2) timedatectl: управление настройками времени и даты.
3) loginctl: управление сеансами пользователей.
Эта система предоставляет огромное количество возможностей. Запускать и останавливать сервисы, создавать файлы юнитов, изучать логи и даже монтировать удаленные хранилища.Рассмотри несколько полезных утилит, которые входят в состав systemd.
Действия, которые выполняют утилиты, можно осуществить и другими, более привычными способами.
Но инструменты, о которых пойдет речь ниже, достаточно удобны. И похоже, что systemd обосновалась в мире Linux всерьез и надолго, поэтому знать некоторые ее возможности будет не лишним.
1) localectl: централизованное управление языковыми и региональными параметрами. Например, можно поменять язык системы
2) timedatectl: управление настройками времени и даты.
3) loginctl: управление сеансами пользователей.