Помните, я говорил, что наибольшую опасность представляют ваши собственные пользователи? В этом разделе вы узнаете, как заставить этих маленьких детишек следовать установленным правилам. В операционной системе FreeBSD имеется большое разнообразие средств, которые позволят пользователям выполнять свою работу, но не дадут им безраздельно властвовать над системой. Здесь мы рассмотрим самые важные инструменты, начав с тех, которые позволяют добавлять новых пользователей.
Создание учетной записи пользователя
В операционной системе FreeBSD используются стандартные для UNIX программы управления пользователями, такие как passwd(l), pw(8) и vipw(8). Кроме того, FreeBSD включает в себя удобную интерактивную программу adduser(8), которая позволяет добавлять новых пользователей. Разумеется, создать новую учетную запись может только пользователь root. Просто введите в командной строке команду adduser, и вы попадете в интерактивную оболочку.
На первом запуске программа adduser(8) попросит установить соответствующие значения по умолчанию, которые будут использоваться при создании всех новых учетных записей. Следуя за примером сеанса работы с программой, который приводится ниже, вы сможете определить значения по умолчанию для своей системы.
# adduser
О Username: gedonner © Full name: Gregory E Donner
© Uld (Leave empty for default):
Здесь username О – это имя учетной записи. Имена учетных записей в моей системе составляются из инициалов и фамилии пользователя. Вы можете выбирать имена для учетных записей, исходя из любой другой схемы. Full name © – это настоящее имя пользователя. Далее FreeBSD предложит выбрать числовой идентификатор пользователя (UID) ©. Нумерация идентификаторов пользователей в системе Free- BSD начинается с числа 1000, хотя вы можете выбрать любое число. Все идентификаторы, лежащие ниже 1000, зарезервированы для нужд системы. В этом месте я рекомендую просто нажать клавишу Enter, чтобы выбрать первый незанятый UID.
О Login group [gedonner]:
© Login group Is gedonner. Invite gedonner Into other groups9 []: webmasters
© Login class [default]:
© Shell (sh csh tcsh nologin) [sh]: tcsh
© Home directory [/home/gedonner]:
Группа пользователя по умолчанию О – это очень важно, не забывайте, что права доступа в UNIX основаны на принадлежности владельцу и группе. По умолчанию FreeBSD создает для каждого пользователя отдельную группу, что наиболее предпочтительно для большинства систем. Во всех толстых книгах по системному администрированию предлагается несколько схем группировки – вы можете использовать ту из них, которая окажется наиболее близка к вашим потребностям. Помимо группы по умолчанию, пользователя можно добавить и в другие группы ©, если в этом есть необходимость.
Login class (класс доступа) © определяет, к каким ресурсам имеет доступ создаваемый пользователь. Подробнее о классах доступа мы поговорим немного ниже, в этом же разделе.
Shell (оболочка) О – это интерпретатор команд. Хотя в системе по умолчанию выбирается интерпретатор /bin/sh, я предпочитаю для начинающих пользователей выбирать интерпретатор команд tcsh.1 Если у вас имеется глубокая привязанность к другому интерпретатору – выбирайте его. Опытные пользователи могут самостоятельно изменить выбор интерпретатора команд.2
Home directory (домашний каталог) © – это каталог на диске, где будут находиться файлы пользователя. Владельцами этого каталога будут назначены сам пользователь и группа по умолчанию.
О Use password-based authentication9 [yes]:
© Use an empty password9 (yes/no) [no]:
© Use a random password9 (yes/no) [no]: у
© Lock out the account after creation9 [no]: n
Использование паролей дает определенную степень гибкости. Если все ваши пользователи знают, что такое SSH и общедоступные ключи, возможно, вам удастся обойтись без паролей. А пока большинство из нас предпочитают использовать пароли О.
Use an empty password (использовать пустой пароль) © – эта возможность предусмотрена на тот случай, если необходимо, чтобы пользователь сам назначил себе пароль. Любому, кто попытается подключиться к системе с указанной учетной записью, будет предложено сначала установить пароль. Это делает идею оставить пароль пустым похожей на мысль заполнить дирижабль водородом, а потом зажечь спичку внутри него.
С другой стороны, отличным выбором будет назначение случайного пароля (random password) © для новой учетной записи. Генератор случайных паролей в системе FreeBSD неплохо подходит для повседневного использования. Случайные пароли очень сложны для запоминания, и это лишний раз подталкивает пользователей поскорее изменить его.
Если учетная запись заблокирована (locked) ©, никто не сможет использовать ее для входа в систему. Вообще говоря – это неэффективно.
После ввода всей необходимой информации программа adduser повторно выведет ее на экран, чтобы вы могли подтвердить или отменить
Для интерактивной работы – да. Но никогда, никогда, никогда не используйте С-подобные командные интерпретаторы для написания программ. Прочитайте классический труд Тома Кристиансена (Tom Christiansen) «Csh Programming Considered Harmful», где вы найдете подробные объяснения. (Найти его можно по адресу: http://www.faqs.org/faqs/unix-faq/ shell/csh-whynot)
По умолчанию во многих версиях FreeBSD и так устанавливается /bin/ tcsh, хотя намного удобнее работать в bash, и поэтому после установки системы имеет смысл с помощью adduser установить bash в качестве интерпретатора команд по умолчанию для всех будущих пользователей. – Прим. научн.ред.
ее. Как только будет получено подтверждение, adduser проверит параметры учетной записи и выведет пароль, сгенерированный случайным образом. Затем программа предложит создать другую учетную запись.
Настройка adduser: /etc/adduser.conf
Процедура создания новых учетных записей в некоторых версиях UNIX сопряжена с необходимостью вручную редактировать файл /etc/ passwd, перестраивать базу паролей, редактировать файл /etc/group, создавать домашний каталог, устанавливать права доступа к этому каталогу, устанавливать скрытые файлы (имена которых начинаются с символа «точка» ( .)) и т. д. Все это вынуждает вас выработать свою собственную процедуру настройки – если все параметры устанавливаются вручную, вы легко можете управлять своими локальными учетными записями. adduser(8) сама выполняет большую часть рутинных операций и использует некоторые значения по умолчанию. Для серверов с различными требованиями вы можете определить различные значения по умолчанию в файле /etc/adduser.conf, что позволит обеспечить соответствие предъявляемым требованиям и одновременно сохранить высокий уровень автоматизации.
Чтобы создать свой первый файл adduser.conf, нужно запустить команду adduser -С и ответить наряд вопросов.
О Login group []:
© Enter additional groups []: cvsup © Login class [default]: О Shell (sh csh tcsh nologin) [sh]: tcsh 0 Home directory [/home/]: /nfs/u1/home @ Use password-based authentication9 [yes]: Use an empty password9 (yes/no) [no]: Use a random password9 (yes/no) [no]: yes Lock out the account after creation9 [no]: no
Login group О – это группа пользователя по умолчанию. Пустое значение означает, что в качестве группы по умолчанию пользователю будет назначаться его собственная группа (принято в FreeBSD по умолчанию).
Существует возможность указать дополнительные группы ©, к которым по умолчанию будет принадлежать новая учетная запись, а также класс доступа ©.
Укажите командный интерпретатор по умолчанию © для своих пользователей.
Ваш выбор местоположения домашних каталогов © пользователей может отличаться от устоявшегося стандарта, принятого в системе Free- BSD. В данном примере я указал, что домашние каталоги пользователей будут размещаться на разделе NFS, где находятся домашние каталоги пользователей, имеющих учетные записи на нескольких компьютерах.
В заключение определяется порядок установки пароля © для нового пользователя.
Эти параметры по умолчанию помогут уберечь вас от ручного ввода с клавиатуры, но как только будет создан файл с базовыми настройками, у вас появляется возможность добавить в него более изощренные функции. В табл. 7.1 приводятся дополнительные параметры для файла adduser.conf, которые я считаю наиболее полезными.
Таблица 7.1. Полезные параметры настройки для файла adduser.conf
|
Параметр |
Назначение |
|
defaultGroup |
Имя группы по умолчанию, к которой будут добавляться новые пользователи (если значение не определено, для каждого пользователя будет создаваться его собственная группа) |
|
defaultclass |
Класс доступа по умолчанию |
|
passwdtype |
Может иметь значения по (учетная запись останется заблокированной, пока root не назначит пароль), попе (пароль не установлен), yes (пароль устанавливается при создании учетной записи) или random (будет назначен случайный пароль) |
|
homeprefix |
Каталог, где будут размещаться домашние каталоги пользователей (например, /home) |
|
defaultshell |
Командная оболочка, назначаемая по умолчанию (здесь можно указать любую командную оболочку из /etc/shells) |
|
udotdi г |
Каталог, где находятся заготовки файлов пользователя, имена которых начинаются с символа «точка» |
|
msgfile |
Файл, содержащий текст электронного письма, отправляемого каждому пользователю сразу после создания учетной записи. |
Используя эти параметры, вы сможете изменять поведение по умолчанию программы adduser, чтобы оно наиболее точно соответствовало вашим потребностям.
Источник: ЛукасМ. FreeBSD. Подробное руководство, 2-е издание. – Пер. с англ. – СПб.: Символ- Плюс, 2009. – 864 е., ил.

November 14th, 2011
admin
Опубликовано в рубрике