Команды Linux. Команды Linux Пример использования usermod - Добавляем существующего пользователя в существующую группу

Еще один метод преобразования имен заключается в использовании локальной базы данных имен хостов, подобно тому, как это делалось на заре сети Internet. Файл /etc/hosts содержит список имен хостов с соответствующими IP-адресами. В листинге 4.3 приводится пример файла /etc/hosts для клиента на базе ОС Linux. В нем должны содержаться имя вашей машины и ее IP-адрес, а также IP-адрес петли 127.0.0.1 для служебных целей. Кроме того, если имеются какие-либо удаленные хосты, к которым периодически подключается ваш сервер на ОС Linux, их IP-адреса также желательно указать в файле /etc/hosts . Теперь при каждом обращении к этим хостам у Linux-сервера уже будут их IP-адреса; таким образом, необходимость в выполнении DNS-запросов отпадает. К тому же это намного ускоряет установление соединения.

1 127.0.0.1 localhost 2 192.168.0.1 shadrach.smallorg.org 3 10.0.0.1 mail1.isp.net 4 10.0.0.2 mail2.isp.net 5 10.0.0.3 fred.otherplace.com Листинг 4.3. Пример файла /etc/hosts

В первой и второй строках указываются IP-адреса для локального Linux-сервера. В строках 3–5 представлены IP-адреса для наиболее часто запрашиваемых машин вашей сети. Благодаря этому ускоряется доступ к ним c сервера на базе ОС Linux, по сравнению с использованием системы DNS.

Имя localhost

Во всех компьютерах с ОС Linux осуществляется поддержка имени localhost . Этому имени всегда соответствует IP-адрес 127.0.0.1 , который присваивается специальному сетевому устройству типа "петля". Эти имя и адрес позволяют внутренним процессам взаимодействовать с другими процессами в этой же системе по сетевым протоколам. Многие программы даже сконфигурированы на использование имени localhost . Изменение этого имени или соответствующего ему IP-адреса может повлиять на работу этих программ.

Файл преобразования DNS

В файле /etc/host.conf определяются методы и порядок преобразования имен ОС Linux. В листинге 4.4 показан пример файла /etc/host.conf .

1 order hosts,bind 2 multi on Листинг 4.4. Пример файла /etc/host.conf

В первой строке указывается порядок преобразования имен хостов. Здесь операционной системе Linux указывается, что в первую очередь она должна обращаться к файлу /etc/hosts и искать хост там, а затем попытаться преобразовать имя с помощью системы DNS (bind), если не удалось этого сделать с помощью /etc/hosts .

Утилиты клиента DNS в ОС Linux

В помощь системному администратору для ОС Linux было написано множество утилит, призванных облегчить для DNS поиск информации об удаленных хостах и сетях. Для UNIX-систем организацией Internet Software Consortium был создан программный пакет Berkeley Internet Name Domain (BIND), в который вошли три наиболее полезные, с точки зрения автора, и широко используемые утилиты: host , nslookup и dig . Эти программы распространяются совместно с программным обеспечением, входящим в большинство дистрибутивов ОС Linux. В Red Hat и Mandrake Linux эти программы поставляются в виде пакетов RPM.

При решении возможных проблем, связанных с работой электронной почты в Internet, эти утилиты весьма полезны. Часто отправитель допускает ошибки в адресе получателя электронной почты, и письма не принимаются. Естественно, он будет совершено уверен, что использовал правильный адрес, и вину за возвращаемые сообщения возложит на вас. Однако после небольшого общения с DNS можно сделать однозначные выводы о правильности или ошибочности адреса электронной почты.

Утилита host

Программа host производит простейшее преобразование имени с помощью DNS. Формат команды host следующий:

host [-l] [-v] [-w] [-r] [-d] [-t querytype] [-a] host

По умолчанию команда host пытается получить IP-адрес для имени, указанного как host , с помощью DNS-сервера, определенного в файле /etc/resolv.conf . Если в командной строке указан server , то по умолчанию команда host будет использовать его в качестве DNS-сервера. Добавляя дополнительные параметры в командной строке, можно модифицировать работу команды host . Все эти параметры указаны в табл. 4.5 .

Таблица 4.5. Параметры команды host
Параметр Описание
-l Показывает полную информацию о домене
-v Использует подробный формат при выводе результатов
-w Заставляет команду host ожидать ответа
-r Выключает режим рекурсии
-d Включает режим отладки
-t querytype Определяет тип запроса
-a Восстанавливает все записи в DNS

Параметр -l может использоваться для поиска информации обо всех хостах в домене. Очень часто вместе с ним используется параметр -t для того, чтобы отфильтровать информацию по типу (например, -t MX возвращает только записи МХ для домена). К сожалению, в настоящее время из соображений безопасности использование параметра -l затруднено, так как большинство DNS-серверов отказывает в предоставлении информации о хостах из своих баз данных. Если же информация запрашивается от удаленного или загруженного DNS-сервера (или через низкоскоростное соединение), то можно использовать параметр -w . С его помощью программа host принудительно ожидает ответа на запрос. По умолчанию время ожидания составляет около минуты.

Один из наиболее полезных параметров -r . Он указывает DNS-серверу возвращать только ту информацию, которая содержится в его локальной базе данных. В таком случае DNS-сервер не обращается за информацией к другим DNS-серверам.

Это весьма удобно при определении того, правильно ли ваш DNS-сервер кэширует ответы DNS. Во-первых, попытайтесь задать параметр -r . Если никакой информации об имени хоста нет, то от локального DNS-сервера ответ не будет получен. Затем задайте команду без параметра -r . Здесь должен быть получен нормальный ответ, так как локальному DNS-серверу разрешено получать данные от других серверов DNS. Далее еще раз попробуйте команду host с опцией -r . Теперь полученная информация должна в точности совпадать с данными, полученными в результате предыдущей попытки. Это означает, что DNS-сервер на этот раз почерпнул из кэша информацию, которая относилась к предыдущей попытке. Если никакой информации не получено, значит, локальный DNS-сервер не скэшировал предыдущий ответ. Тогда вы должны заметить значительное замедление при получении ответа на запрос, так как он делается по сети, а не берется из кэша.

По умолчанию команда host попытается вывести результаты своей работы в удобном для чтения формате. Например, как это показано в листинге 4.5. Если же задана опция -v , то вывод имеет вид исходных записей DNS. При отладке работы системы DNS это может оказаться полезным.

1 $host www.linux.org 2 www.linux.org has address 198.182.196.56 3 www.linux.org mail is handled (pri=2O) by router.invlogic.com 4 www.linux.org mail is handled (pri=30) by border-ai.invlogic.com 5 www.linux.org mail is handled (pri=10) by mail.linux.org 6 $ Листинг 4.5. Пример выполнения команды host

В строке 1 показан основной формат команды host - просто добавьте имя хоста, о котором требуется получить информацию. Строки 2–5 представляют собой результаты работы команды. Строка 2 показывает, что DNS-сервер смог преобразовать имя заданного хоста в его IP-адрес. Далее в строках 3-5 показаны три компьютера, которые могут принимать электронную почту для заданного хоста согласно записям МХ . Заметим, что команда host показывает даже весовые коэффициенты (или приоритеты) для каждого почтового сервера. Если почта была послана пользователю указанного хоста, то сначала ее доставкой займется сервер с приоритетом 10 (mail.linux.org ). Если же команда host не выполняется, то можно послать запрос через другой DNS-сервер, указав его адрес после адреса хоста в командной строке. Это весьма эффективно, если вы считаете, что локальный DNS-сервер ведет себя не совсем правильно.

Хочу рассказать о несколько нестандартном способе с помощью которого можно открывать в браузере сайты, используя короткие имена. Например, вместо того чтобы набирать в браузере «yandex.ru» можно просто набрать одну букву «y». Поможет нам в этом файл /etc/hosts.

Файл /etc/hosts

В файле /etc/hosts задаются соответствия между IP адресом и именем хоста (hostname, домен), а также их псевдонимами (также называются, синонимами, алиасами). Когда вы обращаетесь к какому-нибудь адресу в сети, например, http://yandex.ru, то для доступа к сайту системе требуется вначале преобразовать адрес сайта в соответствующий ему IP адрес, для этого система запрашивает IP адрес у DNS сервера. Если в файле /etc/hosts прописано соответствие между yandex.ru и IP адресом, тогда система будет использовать именно этот IP адрес. А так как мы можем в файле /etc/hosts указать еще и псевдоним, по которому будет доступен конкретный IP адрес, то мы можем указать, например, для yandex.ru псевдоним «y». Соответственно, при запросе «y» в своем браузере, система прочитает IP адрес в файле /etc/hosts и откроет сайт yandex.ru. То есть /etc/hosts, это своего рода локальный DNS сервер.

Как узнать IP адрес сайта

Теперь нам нужно определить IP адреса сайтов, которые мы хотим добавить в /etc/hosts. Стоит отметить, что не все сайты имеют отдельный выделенный IP адрес и получить к ним доступ только по IP адресу нельзя. Но почти все крупные сайты и порталы имеют свой выделенный IP адрес. Простой способ узнать IP адрес сайта это использовать командну ping:

Ping адрес-сайта.ru

Например, выполним:

ping yandex.ru

На экране отобразится процесс пинга (чтобы прервать нажмите Ctrl+C). Итак, мы получим вывод команды ping вида:

PING yandex.ru (87.250.250.11) 56(84) bytes of data. 64 bytes from yandex.ru (87.250.250.11): icmp_seq=1 ttl=57 time=3.57 ms ...

Здесь видно, что yandex.ru соответствует IP адресу 87.250.250.11. Аналогично, выполняем для других сайтов.

Редактирование файла /etc/hosts

Редактировать файл /etc/hosts нужно осторожно, чтобы ничего не испортить, так как это системный файл и важно не нарушать его синтаксис. Откройте файл для редактирования, для этого выполните в командной строке:

Sudo gedit /etc/hosts

Содержимое файла выглядит примерно следующим образом:

127.0.0.1 localhost::1 mycomp localhost6.localdomain6 localhost6 127.0.1.1 mycomp # The following lines are desirable for IPv6 capable hosts::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ...

Синтаксис у файла /etc/hosts очень простой:

IP-адрес имя-хоста [псевдонимы, ...]

Добавим в файл новые строки для разных сайтов:

74.125.232.19 google.ru g 94.100.191.203 mail.ru m 194.186.36.211 rbc.ru r 87.250.250.11 yandex.ru y

Сохраните и закройте файл. Мы прописали соответствия между IP адресами, именами сайтов и их псевдонимами. Теперь перейдите в браузер и в адресной строке введите просто «g», должен открыться сайт google.ru. Чтобы открыть mail.ru введите просто «m», для rbc.ru — просто «r», yandex.ru — «y».

Вопрос. Как я могу добавить пользователя в группу в Linux?

Ответ. Вы можете использовать команды useradd илиusermod для добавления пользователя в группу. Команда useradd создает нового пользователя или обновляет информацию у существующего. Команда usermod модифицирует существуюего пользователя. Вся информация о пользователях и группах храниться в файлах /etc/passwd, /etc/shadow и /etc/group.

Пример использования useradd - Добавляем нового пользователя в вторичную группу

Используем команду useradd для добавления нового пользователя в существующую группу. Если группа не существует создайте её. Синтаксис:

Useradd -G {group-name } username

Создадим пользователя vivek и добавим его в группу developers. Залогиньтесь как пользователь root и убедитесь что группа developers существует:

# grep developers /etc/group

Developers:x:1124:

Если группы нет, используйте команду groupadd для создания новой группы developers:

# groupadd developers

Затем добавьте пользователя vivek в группу developers:

# useradd -G developers vivek

Установите пароль пользователю vivek:

Убедитесь что пользователь добавлен в группу developers:

# id vivek Output:

Uid=1122(vivek) gid=1125(vivek) groups=1125(vivek),1124(developers)

Опция -G позволяет добавить пользователю группу. Группы можно перечислять через запятую. К примеру, добавим пользователя jerry в группы

admins, ftp, www, and developers, введя:

# useradd -G admins,ftp,www,developers jerry

Пример использования useradd - Добавляем нового пользователя в основную группу

Для добавления пользователя tony в группу developers используем следующую команду:

# useradd -g developers tony

uid=1123(tony) gid=1124(developers) groups=1124(developers)

Опция -g позволяет добавить пользователя в основную группу. Группа должна существовать.

Пример использования usermod - Добавляем существующего пользователя в существующую группу

Добавляем существующего пользователя tony в вторичную группу ftp:

# usermod -a -G ftp tony

Изменяем существующему пользователю tony первучную группу на www:

# usermod -g www tony

Постовой

Для второй вышки заказал реферат на сайте "Студинформ". Стыдно конечно, но времени делать самому совсем нет. Заказ выполнили очень быстро и качественно. Рекомендую!

Для своей машины сейчас думаю какие шины ставить. Очень задумался о шипованных шинах . По отзывам, насколько я почитал, разница тормозного пути лучших шипованных шин и лучших моделей без шипов составила 10 метров! Есть над чем подумать...