Whoa whoa whoa whoa whoa... Я знаю о чём вы думаете. "Я не системный администратор! Я даже не хочу быть системным администратором!"
Факт заключается в том, что вы являетесь администратором любого компьютера, для которого у вас есть пароль root'а. Это может быть ваша настольная рабочая станция с одним или двумя пользователями или же это может быть большой сервер с несколькими сотнями пользователей. В любом случае вам необходимо знать, как управлять пользователями и как безопасно завершить работу системы системы. Эти задачи выглядят простыми, однако касательно их есть несколько моментов, о которых нужно помнить постоянно.
Как упоминалось в Гл. 8, вам обычно не следует входить в систему под root'ом. Вместо этого вам следует создать учётную запись обычного пользователя для повседневного использования и использовать учётную запись root'а только для задач по обслуживанию системы. Для создания пользователя вы можете использовать либо утилиты, поставляемые со Slackware, либо отредактировать файл паролей вручную.
Самым простым способом для управления пользователями и группами является использование вспомогательных скриптов и программ. В состав Slackware входят следующие программы для работы с пользователями: adduser, userdel(8), chfn(1), chsh(1) и passwd(1). Команды groupadd(8), groupdel(8) и groupmod(8) предназначены для работы с группами. Эти программы, за исключением chfn, chsh и passwd, запускаются в основном только root'ом, и поэтому находятся они в /usr/sbin. chfn, chsh и passwd могут выполняться кем-угодно и находятся они в /usr/bin.
Пользователей можно добавлять при помощи утилиты adduser. Мы начнём рассмотрение этого вопроса с полной процедуры, показывая все задаваемые вопросы и давая краткие пояснения к ним. Ответ по умолчанию заключён в квадратные скобки, и его можно использовать почти во всех диалогах, если вы только не захотите изменить что-либо. (Для удобства под диалогами будет представлен их перевод. На самом деле их там нет, однако они вполне могут появиться в DeepStyle Linux, если Хоттаб поднапряжётся конечно :) - прим. переводчика.)
# adduser Login name for new user []: jellyd Логин для нового пользователя []: jellyd |
Это означает имя, которое пользователь будет использовать для входа в систему. Традиционно сложилось так, что логины состоят из восьми или менее символов в нижнем регистре. (Вы можете использовать использовать и большее количество символов, включая цифры, однако старайтесь не делать этого, если у вас нет на то серьёзной причины.)
Вы также можете указать логин в качестве аргумента сразу в командной строке:
# adduser jellyd |
В любом случае после ввода логина adduser попросит вас ввести идентификатор пользователя:
User ID ('UID') [ defaults to next available ]: ID пользователя ('UID') [ доступно значение по умолчанию ]: |
Идентификатор пользователя (user ID, UID) - это то, по чём на самом деле определяются права владения в Linux. Каждый пользователь имеет уникальный номер, начиная с 1000 (в Slackware). Вы можете сами указать UID для нового пользователя или же позволить программе самой назначить его из списка доступных.
Initial group [users]: Исходная группа [users]: |
По умолчанию все пользователи заносятся в группу users. Вы можете занести нового пользователя в другую группу, однако это не рекомендуется, если только вы не отдаёте себе отчёт в том, что делаете.
Additional groups (comma separated) []: Дополнительные группы (через запятую) []: |
Этот вопрос позволяет занести нового пользователя в дополнительные группы. Пользователь может быть членом нескольких групп одновременно. Это полезно в том случае, если вы определили отдельные группы для таких целей, как изменение веб-файлов, запуск игр, запись на оптические носители, прослушивание музыки и т.п. Например, в некоторых системах команду su могут использовать только члены группы wheel. В Slackware по умолчанию есть группа sys, членам которой разрешается воспроизводить звук через внутреннюю звуковую карту.
Home directory [/home/jellyd] Домашний каталог [/home/jellyd] |
По умолчанию домашние каталоги находятся в /home. Если у вас слишком большая система, вы можете перенести домашние каталоги в другое место (или даже в несколько других мест). Этот этап позволяет вам определить местонахождение домашнего каталога пользователя.
Shell [ /bin/bash ] Командный процессор [ /bin/bash ] |
В Slackware Linux командным процессором по умолчанию является bash, и его будет достаточно для большинства пользователей. Если ваш новый пользователь пришёл из мира Unix, он может быть уже хорошо знаком с различными шеллами. На этом этапе вы можете изменить шелл пользователя или же он позже может сам изменить его с помощью команды chsh.
Expiry date (YYYY-MM-DD) []: Дата окончания действия (YYYY-MM-DD) []: |
Для учётных записей можно установить дату истечения их действия. По умолчанию эта дата отсутствует. По желанию вы можете изменить это. Этот параметр может оказаться полезным для администраторов провайдеров услуг Интернета, которые могут пожелать, чтобы учётная запись была заблокирована по истечении некоторого срока, если не была получена оплата за следующий период.
New account will be created as follows: --------------------------------------- Login name: jellyd UID: [ Next available ] Initial group: users Additional groups: [ None ] Home directory: /home/jellyd Shell: /bin/bash Expiry date: [ Never ] Будет создана учётная запись со следующими данными: --------------------------------------- Логин: jellyd UID: [ следующий доступный ] Исходная группа: users Дополнительные группы: [ нет ] Домашний каталог: /home/jellyd Командный процессор: /bin/bash Дата окончания действия: [ никогда ] |
Перед вами представлена вся информация, которую вы ввели для новой учётной записи, и у вас есть возможность прервать создание этой учётной записи. Если вы где-то ошиблись, нажмите Control+C и начните всё сначала. В противном случае, если всё в порядке, нажмите Enter, и учётная запись будет создана.
Creating new account... Changing the user information for jellyd Enter the new value, or press return for the default Full Name []: Jeremy Room Number []: Smith 130 Work Phone []: Home Phone []: Other []: Создание новой учётной записи... Изменение информации о пользователе jellyd Введите новое значение или нажмите Enter Полное имя []: Jeremy Smith Офис []: 130 Рабочий телефон []: Домашний телефон []: Другая информация []: |
Вся эта информация является необязательной. Если не хотите, можете не указывать её. Пользователь сам может изменить её в любое время с помощью команды chfn. Однако может оказаться полезным указать по крайней мере полное имя и номер телефона, чтобы вы позже могли связаться с этим человеком.
Changing password for jellyd Enter the new password (minimum of 5, maximum of 127 characters) Please use a combination of upper and lower case letters and numbers. New password: Re-enter new password: Password changed. Account setup complete. Изменение пароля пользователя jellyd Введите новый пароль (минимум - 5, максимум - 127 символов) Пожалуйста, используйте комбинацию букв верхнего и нижнего регистров и цифры. Новый пароль: Новый пароль (повтор): Пароль изменён. Настройка учётной записи завершена. |
Вы должны будете ввести пароль для нового пользователя. Обычно, если этого пользователя в данный момент нет рядом с вами, вам просто нужно установить какой-то простой пароль, а затем сказать пользователю, чтобы он изменил его на что-то более безопасное.
Выбор пароля: выбор безопасного пароля является первой линией обороны против атак на взлом системы. Вам не следует использовать простые для угадывания пароли, потому что это облегчает задачу несанкционированного проникновения в вашу систему. В идеале пароль должен представлять собой строку из случайного набора символов, включая буквы верхнего и нижнего регистров, цифры и специальные символы. (Символ табуляции не следует использовать, поскольку у вас могу возникнуть проблемы со входом в систему с разного типа компьютеров.) Также не следует пытаться использовать кириллицу, поскольку, даже если вам удастся добиться этого (что, в принципе, возможно), результат может оказаться просто непредсказуемым (прим. переводчика). Есть много программ, генерирующих за вас случайные пароли; поищите их в Интернете. В общем случае просто придерживайтесь общепринятых рекомендаций: не выбирайте в качестве пароля дату чьего-либо дня рождения, общие фразы, что-то, что можно найти на вашем столе, или что-то такое, что можно легко ассоциировать с вами. Пароль наподобие "secure1" или любой другой пароль, который вы увидели в печатном издании или на веб-странице, также будет плохим выбором. |
Удалять пользователей довольно легко. Просто запустите userdel с именем удаляемой учётной записи в качестве аргумента. Вам следует сначала убедиться, что пользователь вышел из системы, и отсутствуют процессы, выполняемые от его имени. Также помните, что после того, как вы удалите пользователя, вся информация о его пароле также исчезнет.
# userdel jellyd |
Эта команда удалит из вашей системы упомянутого пользователя jellyd. Неплохая чистка :) Пользователь был удалён из файлов /etc/passwd, /etc/shadow и /etc/group, однако не был удалён его домашний каталог.
Если вы хотите удалить и его каталог, вам нужно было использовать команду со следующей опцией:
# userdel -r jellyd |
Временное отключение учётных записей будет рассмотрено в следующем разделе, посвящёном паролям, поскольку временные изменения влекут за собой изменение пароля пользователя. Изменение другой информации, касающейся учётной записи, рассматривается в Разд. 12.1.3.
Программы для добавления и удаления групп очень просты. groupadd добавляет в файл /etc/group ещё одну запись с уникальным идентификатором группы, а groupdel удаляет указанную группу. Вам остаётся только отредактировать /etc/group, чтобы добавить пользователей в нужную группу. Например, чтобы добавить группу с именем cvs:
# groupadd cvs |
А чтобы удалить её:
# groupdel cvs |