- Что такое файлы конфигурации и как вы можете их редактировать?
- Что такое файлы конфигурации?
- Как выглядят файлы конфигурации?
- Как редактировать файлы конфигурации
- Что делать, если это не работает?
- Файлы конфигурации важны
- Использование файла конфигурации SSH
- Подготовка
- Расположение файла конфигурации SSH
- Структура и шаблоны файла конфигурации SSH
- Пример файла конфигурации SSH
- Пример файла конфигурации общего SSH
- Переопределить параметр файла конфигурации SSH
- Выводы
- Как создать файл в Linux через терминал
- Команда touch
- Перенаправления вывода (>)
- Команда cat
- Команда echo
- Текстовые редакторы
- Linux команда mkdir и команды создания файлов.
Что такое файлы конфигурации и как вы можете их редактировать?
Подавляющее большинство используемых нами компьютерных программ — будь то офисные пакеты, веб-браузеры или даже видеоигры — настраиваются через систему интерфейсов меню. Это стало практически стандартным способом использования наших машин. Но некоторые программы требуют, чтобы вы сделали шаг за этим, и вам действительно нужно отредактировать текстовый файл, чтобы заставить их работать так, как вы хотите.
Эти текстовые файлы, что неудивительно, называются «конфигурационными файлами». Если вы хотите перейти от «пользователя» к «продвинутому пользователю», вам нужно знать, как их настроить.
Что такое файлы конфигурации?
Прежде чем мы углубимся в технические подробности, давайте сначала конкретно определим, что такое файл конфигурации.
Файлы конфигурации — это, по сути, файлы, которые содержат информацию, необходимую для успешной работы программы, которые структурированы особым образом. Вместо того, чтобы быть жестко запрограммированным в программе, они настраиваются пользователем и обычно хранятся в текстовом файле (хотя ранее я видел программы, которые использовали базы данных SQLite
как их файлы конфигурации).
Удивительно, но не существует определенного стандарта о том, как должны работать файлы конфигурации или как они должны выглядеть. Это полностью зависит от прихоти разработчика программы.
Некоторые конфигурационные файлы структурированы в формате собственного дизайна разработчика. Другие используют широко известные стандарты, используемые для структурирования данных, такие как формат JSON (нотация объектов JavaScript), YAML (язык разметки YAML) или XML (расширяемый язык разметки). Некоторые программы загружают информацию, хранящуюся в их конфигурационных файлах, когда они запускаются, в то время как другие периодически проверяют, была ли она изменена.
Если вы пользователь Linux, вы, вероятно, будете знакомы с ними, так как многие основные задачи обслуживания требуют редактирования файлов конфигурации. Если вы хотите настроить GRUB для двойной загрузки вашей системы
или настроить веб-сервер
вам придется иметь с ними дело.
Хотя это не исключительно Linux. В зависимости от того, что вы делаете, вам, возможно, придется редактировать их в Windows или Mac OS X.
Как выглядят файлы конфигурации?
Теперь давайте взглянем на некоторые реальные конфигурационные файлы. Как мы упоминали ранее, они бывают разных форм и размеров. Один файл конфигурации, с которым вы почти наверняка знакомы, — это файл hosts, который используется в Windows, Mac и Linux для сопоставления IP-адресов с именами узлов вручную.
В Windows вы можете найти его под C: \ WINDOWS \ system32 \ Drivers \ Etc \ хостов. На Mac и Linux это будет в / и т.д. / хосты.
Как вы заметили, файл hosts использует пробелы для разделения элементов, причем каждое имя хоста имеет свою собственную строку. Кроме того, файл hosts позволяет пользователю добавлять аннотации и комментарии, которые начинаются с символа хеша.
В Linux и Mac OS X некоторые программы требуют, чтобы пользователь сохранял файл конфигурации в домашнем каталоге с точкой в начале имени файла. Эти конфигурационные файлы иногда имеют расширение .rc и в разговорной речи называются «точечные файлы».
Одна программа, которая следует этому конкретному соглашению, является текстовым редактором Vim
, В прошлом мы говорили о том, как настроить VIM, отредактировав его конфигурационный файл.
Файлы конфигурации даже используются в видеоиграх для определения и управления некоторыми действиями, такими как сопоставления клавиш. Приведенный ниже файл конфигурации взят из Black Mesa — фанатского ремейка оригинального Half Life.
В оригинальной версии Deus Ex, выпущенной в 2000 году, пользователю фактически пришлось отредактировать файл конфигурации, чтобы включить читы!
Как редактировать файлы конфигурации
Итак, теперь мы знаем, для чего используются конфигурационные файлы, давайте поговорим о том, как мы можем их редактировать.
Для этого вам понадобится текстовый редактор. Не используйте текстовый процессор, так как они могут добавить форматирование в файл, что помешает их чтению программой.
Пользователи Windows уже имеют предустановленный текстовый редактор. Я говорю о блокноте. Хотя стоит подчеркнуть, что для Windows доступно множество отличных сторонних текстовых редакторов, включая Notepad ++, Atom и Sublime Text Editor.
В Linux ближайшим аналогом Notepad является Gedit
, Вы также можете рассмотреть возможность использования текстового редактора командной строки, такого как Nano или Vim
, Ради большей эффективности я сильно склоняюсь к текстовому редактору Vim. Это позволяет мне легко переходить на разные позиции в файле конфигурации, просто используя несколько нажатий клавиш.
На Mac OS X (или MacOS Sierra, скоро это станет известно
), есть несколько текстовых редакторов, которые поставляются предварительно установленными. Вы, вероятно, знакомы с TextMate. Он также включает ряд текстовых редакторов командной строки, таких как Vim и Nano.
Когда вы редактируете файл, важно убедиться, что вы соблюдаете его соглашения. Это можно решить, просто взглянув на это. Некоторые конфигурационные файлы, такие как файл hosts, объяснят вам эти соглашения. Другие заставят вас прочитать некоторую документацию или пару постов в блоге.
Наконец, если редактируемый файл конфигурации структурирован в формате JSON или XML, вы можете использовать более мощный текстовый редактор с подсветкой синтаксиса. Я рекомендую Атом. Это повысит вашу точность, показывая, когда вы допустили ошибку.
Что делать, если это не работает?
Наконец, давайте коснемся того, что происходит, когда что-то идет не так. По моему опыту, проблемы, связанные с редактированием конфигурационных файлов, имеют тенденцию делиться на два лагеря.
Первый — это разрешения. Если вы не можете сохранить свои изменения, это может быть потому, что вы пытаетесь сделать это как обычный пользователь. Во избежание случайного повреждения многие файлы конфигурации доступны для редактирования только тем, у кого есть права администратора.
Исправить это легко. В Mac и Linux попробуйте повысить свои права с помощью команды sudo. Итак, если вы редактировали файл hosts, вы запустили бы:
В Windows щелкните правой кнопкой мыши Блокнот (или любой текстовый редактор, который вы используете) и выберите Запустить от имени администратора.
Вторая распространенная проблема — ошибка пользователя. Если что-то не работает, это может быть ваша вина. Убедитесь, что вы не сделали никаких опечаток, и что вы следовали соглашениям файла конфигурации. Я знаю, это кажется очевидным, но простая орфографическая ошибка или забвение закрыть пару речевых меток может сделать весь файл бесполезным.
Хороший способ избежать проблем — сделать копию файла конфигурации, прежде чем вносить какие-либо изменения. Таким образом, если что-то пойдет не так, вы можете восстановить копию и начать заново!
Файлы конфигурации важны
Более того, они являются неотъемлемой частью использования Linux. Знание того, как правильно их редактировать, поможет вам бесконечно.
Есть ли какие-то другие важные навыки, которые, по вашему мнению, должны знать пользователи Linux для начинающих и для среднего уровня? Позвольте мне знать в комментариях ниже.
Источник
Использование файла конфигурации SSH
Если вы регулярно подключаетесь к нескольким удаленным системам через SSH, вы обнаружите, что запомнить все удаленные IP-адреса, разные имена пользователей, нестандартные порты и различные параметры командной строки сложно, если вообще возможно.
Один из вариантов — создать псевдоним bash для каждого подключения к удаленному серверу. Однако есть другое, гораздо лучшее и более простое решение этой проблемы. OpenSSH позволяет вам создать файл конфигурации для каждого пользователя, в котором вы можете хранить различные параметры SSH для каждой удаленной машины, к которой вы подключаетесь.
В этом руководстве рассматриваются основы файла конфигурации клиента SSH и объясняются некоторые из наиболее распространенных параметров конфигурации.
Подготовка
Мы предполагаем, что вы используете систему Linux или macOS с установленным клиентом OpenSSH.
Расположение файла конфигурации SSH
Файл конфигурации на стороне клиента OpenSSH называется config и хранится в каталоге .ssh в домашнем каталоге пользователя.
/.ssh создается автоматически, когда пользователь запускает команду ssh в первый раз. Если каталог не существует в вашей системе, создайте его с помощью следующей команды:
По умолчанию файл конфигурации SSH может не существовать, поэтому вам может потребоваться создать его с помощью сенсорной команды :
Этот файл должен быть доступен для чтения и записи только пользователю и не должен быть доступен для других:
Структура и шаблоны файла конфигурации SSH
Файл конфигурации SSH имеет следующую структуру:
Содержимое файла конфигурации клиента SSH организовано в строфы (разделы). Каждый раздел начинается с директивы Host и содержит определенные параметры SSH, которые используются при установлении соединения с удаленным SSH-сервером.
Отступ не требуется, но рекомендуется, так как он облегчает чтение файла.
Директива Host может содержать один шаблон или список шаблонов, разделенных пробелами. Каждый шаблон может содержать ноль или более непробельных символов или один из следующих спецификаторов шаблона:
- * — соответствует нулю или более символам. Например, Host * соответствует всем хостам, а 192.168.0.* Соответствует хостам в подсети 192.168.0.0/24 .
- ? — Соответствует ровно одному символу. Шаблон, Host 10.10.0.? соответствует всем хостам в 10.10.0.6 .
- ! — При использовании в начале шаблона аннулирует совпадение. Например, Host 10.10.0.* !10.10.0.5 матчи любого хоста в 10.10.0.0/24 подсети , кроме 10.10.0.5 .
Клиент SSH читает раздел файла конфигурации за разделом, и, если совпадают несколько шаблонов, параметры из первого совпадающего раздела имеют приоритет. Поэтому более специфичные для хоста объявления должны быть даны в начале файла, а более общие переопределения — в конце файла.
Вы можете найти полный список доступных опций ssh, набрав man ssh_config в своем терминале или посетив справочную страницу ssh_config .
Файл конфигурации SSH также читается другими программами, такими как scp , sftp и rsync .
Пример файла конфигурации SSH
Теперь, когда мы рассмотрели основы файла конфигурации SSH, давайте посмотрим на следующий пример.
Обычно при подключении к удаленному серверу через SSH вы указываете имя удаленного пользователя, имя хоста и порт. Например, чтобы войти в систему как пользователь с именем john на хост с именем dev.example.com на порту 2322 из командной строки, вы должны ввести:
Чтобы подключиться к серверу с использованием тех же параметров, которые указаны в приведенной выше команде, просто набрав ssh dev , поместите следующие строки в свой «
Теперь, когда вы вводите ssh dev , клиент ssh будет читать файл конфигурации и использовать данные подключения, указанные для хоста dev :
Пример файла конфигурации общего SSH
Этот пример дает более подробную информацию о шаблонах хоста и приоритетах опций.
Возьмем следующий пример файла:
Когда вы вводите ssh targaryen , клиент ssh читает файл и применяет параметры из первого совпадения, то есть Host targaryen . Затем он проверяет следующие строфы одну за другой на соответствие шаблону. Следующим подходящим является Host * !martell (то есть все хосты, кроме martell ), и он применит параметр подключения из этой строфы. Последнее определение Host * также совпадает, но клиент ssh будет использовать только параметр Compression поскольку параметр User уже определен в разделе Host targaryen .
Полный список параметров, используемых при ssh targaryen выглядит следующим образом:
При запуске ssh tyrell подходящими шаблонами хоста являются: Host tyrell , Host *ell , Host * !martell и Host * . В этом случае используются следующие параметры:
Если вы запустите ssh martell , соответствующие шаблоны хостов будут следующими: Host martell , Host *ell и Host * . В этом случае используются следующие параметры:
Для всех остальных подключений клиент ssh будет использовать параметры, указанные в разделах Host * !martell и Host * .
Переопределить параметр файла конфигурации SSH
Клиент ssh читает свою конфигурацию в следующем порядке приоритета:
- Параметры, указанные в командной строке.
- Параметры, определенные в
/.ssh/config .
Если вы хотите переопределить один параметр, вы можете указать его в командной строке. Например, если у вас есть следующее определение:
и вы хотите использовать все другие параметры, но для подключения от имени пользователя root вместо john просто укажите пользователя в командной строке:
Параметр -F ( configfile ) позволяет указать альтернативный файл конфигурации для каждого пользователя.
Чтобы указать ssh клиенту игнорировать все параметры, указанные в файле конфигурации ssh, используйте:
Выводы
Мы показали вам, как настроить пользовательский файл конфигурации ssh. Вы также можете настроить аутентификацию на основе ключа SSH и подключаться к своим серверам Linux без ввода пароля.
По умолчанию SSH прослушивает порт 22. Изменение порта SSH по умолчанию добавляет дополнительный уровень безопасности на ваш сервер, снижая риск автоматических атак.
Если у вас есть вопросы, оставьте комментарий ниже.
Источник
Как создать файл в Linux через терминал
В Linux для хранения настроек операционной системы и установленных программ используются обычные текстовые файлы. Поэтому при настройке системы очень часто приходится работать именно с такими файлами.
Одна из частых задач – создание новых файлов через терминал.
В этой инструкции мы рассмотрим именно этот вопрос. Здесь вы узнаете несколько наиболее простых и удобных способов создания текстовых файлов в Linux через терминал.
Команда touch
Если вам нужно создать пустой файл в Linux через терминал, то для этого проще всего использовать команду «touch». Команда «touch» является стандартной командой, которая используется в операционной системе Linux для создания и изменения временных меток файла.
Также с ее помощью можно создавать новые файлы. Для этого достаточно просто ввести команду «touch» и через пробел указать название файла, который необходимо создать. Если такого файла не существует, то команда создаст новый, если же файл уже есть, то команда «touch» обновит его временные метки.
При необходимости с помощью «touch» можно создать сразу несколько документов. В этом случае через пробел нужно ввести несколько имен. В терминале Linux это выглядит это примерно так:
touch file.txt touch file1.txt file2.txt
В дальнейшем, созданный документможно отредактировать в любом текстовом редакторе. Например, можно использовать редактор Nano или Vim.
Нужно отметить, что у команды «touch» есть много дополнительных параметров для управления временными метками. Например, параметр «-c» позволяет отменить обновление временных меток, если файл уже существует. Чтобы узнать больше введите в терминал команду «man touch».
Перенаправления вывода (>)
Также для создания пустого файла можно использовать оператор перенаправления вывода (>). Для этого нужно ввести знак «больше» и указать имя. В терминале Linux это выглядит вот так:
Но, в данном случае нужно быть осторожным. Поскольку если файл уже существует, то он будет перезаписан.
Команда cat
Для создания небольшого текстового файла через терминал Linux можно использовать команду «cat» и уже упомянутый оператор перенаправления вывода.
Для этого нужно ввести команду «cat», знак «больше» (>) и название файла. После этого прямо в терминале можно ввести текст, который нужно сохранить в указанный документ. Для завершения ввода текста и сохранения нажимаем комбинацию клавиш Ctrl-D.
В терминале Linux данная команда выглядит примерно так:
Команда echo
Также с оператором перенаправления можно использовать и другие команды. Например, это может быть команда «echo», которая выводит текст. Если перенаправить ее вывод в файл, то система создаст указанный файл и сохранит в него текст.
При создании файлов с помощью оператора перенаправления нужно помнить, что вы можете перезаписать существующий документ. Также нужно отметить, что воспользоваться sudo не получится, поскольку в этом случае с правами суперпользователя будет выполняться команда «echo», а не запись.
Текстовые редакторы
Если вам нужно не просто создать файл, но также ввести в него много текста, то в этом случае удобнее всего будет использовать текстовые редакторы. Существует большое количество текстовых редакторов, которые запускаются прямо в терминале Linux и позволяют редактировать большие и сложные текстовые документы. Например, это такие редакторы как Nano, Vim и другие.
Текстовый редактор Nano установлен по умолчанию во многих дистрибутивах, а частности он есть в Ubuntu Linux. С Nano вы можете создать новый файл, сразу его отредактировать и сохранить. Для создания нового файла и перехода в редактор введите вот такую команду:
После ввода такой команды появится интерфейс редактора Nano. В верхней части экрана будет информация о версии программы и название файла, а в нижней панель со списком горячих клавиш.
Для сохранения нажмите Ctrl-X и потом введите букву «Y» для подтверждения.
Если в системе нет Nano, то возможно там будет предустановлен Vim. Чтобы создать файл с помощью Vim просто вводим команду «vim» и через пробел название файла. В терминале Linux это выглядит вот так:
Vim намного функциональней Nano, но при этом и намного сложнее. Одной из первых проблем, с которой сталкиваются новички, это выход из Vim. Для этого нужно нажать клавишу Esc, ввести вот такую команду и нажать Enter.
Если что-то не получается, то возможно проблема в раскладке клавиатуры. Переключитесь на английскую и попробуйте еще раз.
Linux команда mkdir и команды создания файлов.
Источник