Новые книги

Что такое креатив? Что вдохновляет нас на творчество? И как стать более креативным? Живая легенда рекламной индустрии Джон Хэгерти предлагает 50 блестящих и провокационных идей о том, как развить в себе креативность и добиться успеха в творческой деятельности. Все люди творческие, но лишь немногие могут зарабатывать этим на жизнь. Хотите стать одним из таких счастливчиков?
Журналист Дэвид Оуэн рассказывает историю изобретения, без которого немыслима жизнь современного офиса – копировального аппарата. Уникальный случай: он был создан усилиями практически одного человека. Поразительное упорство изобретателя Честера Карлсона принесло ему славу второго Гутенберга и избавило тысячи людей на планете от изнурительного переписывания документов. Автор прослеживает путь Честера от первого ксерографического аппарата, изготовленного в 1938 году, до создания гигантской корпорации Xerox, чье название стало синонимом высочайшего качества и скорости копирования. Это захватывающее повествование о борьбе за реализацию грандиозного открытия, которое журнал Fortune позднее назвал «самым успешным товаром, который когда-либо продавался в Америке».

Using the passwd and group Maps

Использование карт passwd и group

Одна из главных прикладных программ NIS синхронизирует данные пользователя на всех машинах в домене NIS. Следовательно, Вы обычно храните только маленький локальный файл /etc/passwd, к которому добавляется информация из карт NIS. Однако, просто поиска NIS для этого сервиса в nsswitch.conf мало.

При доверии к информации о паролях, распределенной NIS, Вы сначала должны удостовериться, что числовые идентификаторы пользователей в локальном файле passwd соответствуют представлениям сервера NIS по этому вопросу. Непротиворечивость важна и для других целей, подобно установке NFS.

Если любой из числовых идентификаторов в /etc/passwd или /etc/group отличается от своего значения в картах, надо исправлять ситуацию с правами доступа. Сначала Вы должны изменить все uid и gid в файлах passwd и group на новые значения, затем поменять владельцев у объектов, принадлежащих пользователям, идентификаторы которых Вы сменили. Допустим, news имеет идентификатор 9, а okir имел идентификатор (user ID) 103, но теперь он сменился на что-то другое. Скомандуйте от имени root:

# find / -uid 9 -print >/tmp/uid.9
# find / -uid 103 -print >/tmp/uid.103
# cat /tmp/uid.9 | xargs chown news
# cat /tmp/uid.103 | xargs chown okir

Важно выполнить эти команды при установленном новом файле passwd, и собрать все имена файлов перед сменой их владельца. Чтобы модифицировать группу владельца, используйте подобный метод с gid вместо uid и chgrp вместо chown.

Теперь числовые идентификаторы на Вашей машине приведены в соответствие с остальной сетью. Следующим шагом надо добавить строки в nsswitch.conf, которые поиск через NIS данных о пользователе и группе:

# /etc/nsswitch.conf - passwd and group treatment
passwd: nis files
group: nis files

Это воздействует на команду login и все остальные, которые собирают данные о пользователе. Когда пользователь пробует войти, login сначала запрашивает карту NIS, и в случае провала идет обратно к локальным файлам. Обычно Вы удаляете почти всех пользователей из локальных файлов и оставляете входы только для root и универсальные логины, подобно mail. Это потому, что некоторым жизненным задачам системы, вероятно, придется отображать uid к именам. Например, административные работы cron могут выполнить команду su, чтобы временно стать пользователем news, или подсистема UUCP может послать отчет о состоянии. Если news и uucp не имеют записей в локальном файле passwd, эти работы будут терпеть неудачу.

Наконец, если Вы используете любую старую реализацию NIS (поддерживаются режимом compat для файлов passwd и group в реализациях NYS или glibc), Вы должны вставить специальные записи. Они представляют, где полученные записи NIS будут вставлены в базу данных информации. Они могут добавляться в любом месте, но обычно добавляются только к концу. Записи для добавления к файлу /etc/passwd:

+::::::
и для добавления к файлу /etc/groups:
+:::

В glibc 2.x и NYS Вы можете отменять параметры в пользовательских записях, полученных от сервера NIS созданием записей со знаком "+" перед именем пользователя и исключать указанных пользователей добавлением перед их именами знака "-". Например, записи:

+stuart::::::/bin/jacl
-jedd::::::
переопределят оболочку для пользователя stuart, заданную сервером, и запретят пользователю jedd регистрацию на данной машине вообще. Пустые поля используют информацию с сервера NIS.

Еть две проблемы. Во-первых, приведенная здесь настройка не использует затенение паролей, а стоило бы. Сложность использования теневых паролей с NIS обсуждается ниже. Во-вторых, команда login не единственная, которой нужен файл passwd: есть часто используемая команда ls. При построении широкого вывода она отображает имена владельца файла и его группы. Значит, для каждого uid и gid будет послан запрос на сервер NIS. Это снижает производительность.

Но представим, что пользователь решил сменить пароль. Обычно он вызывает команду passwd, которая читает новый пароль и обновляет локальный файл passwd. Это невозможно с NIS, так как этот файл больше не доступен локально. NIS обеспечивает замену passwd по имени yppasswd, которая обрабатывает смену пароля через NIS. Для изменения пароля на сервере эта утилита связывается с yppasswdd daemon на сервере по RPC и передает ему требуемую информацию. Обычно Вы устанавливаете yppasswd вместо нормальной программы:

# cd /bin
# mv passwd passwd.old
# ln yppasswd passwd

В то же самое время, Вы должны установить rpc.yppasswdd на сервере и запускать его из скрипта для инициализации сети.