33.5. Использование командной строки

Если вы предпочитаете средства командной строки, или у вас не установлена система X Window, этот раздел расскажет, как управлять пользователями и группами в командной строке.

33.5.1. Добавление пользователя

Чтобы добавить в систему пользователя:

  1. Выполните команду useradd, чтобы создать заблокированную учётную запись пользователя:

    useradd <username>
  2. Разблокируйте эту учётную запись, выполнив команду passwd, чтобы назначить пароль и задать политику устаревания пароля:

    passwd <username>

Параметры командной строки для утилиты useradd описаны в таблице 33-1.

ПараметрОписание
-c commentКомментарий пользователя
-d home-dirДомашний каталог, который следует использовать вместо стандартного /home/username/
-e dateДата, когда учётная запись должна быть отключена, в формате ГГГГ-ММ-ДД
-f daysЧисло дней после истечения срока действия пароля до отключения учётной записи. (Если указано число 0, учётная запись отключается сразу, как только истекает срок действия пароля. (Если указано число -1, учётная запись не отключается после истечения срока действия пароля.
-g group-nameИмя или номер группы, которая должна стать основной группой пользователя (здесь должна указываться уже существующая группа.)
-G group-listСписок разделённых запятыми имён или номеров дополнительных групп (помимо основной), членом которых является пользователь. (Здесь должны указываться существующие группы.)
-mСоздаёт домашний каталог, если он не существует
-MНе создаёт домашний каталог
-nНе создаёт личную группу для пользователя
-rСоздаёт системную учётную запись с кодом, меньшим 500, и без домашнего каталога
-p passwordПароль, зашифрованный с помощью crypt
-sОболочка входа в систему, по умолчанию /bin/bash
-u uidКод пользователя (UID), это должно быть уникальное число больше 499

Таблица 33-1. Параметры командной строки useradd

33.5.2. Добавление группы

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

groupadd <group-name>

Параметры командной строки для утилиты groupadd описаны в таблице 33-2.

ПараметрОписание
-g gidКод группы (GID), это должно быть уникальное число больше 499
-rСоздаёт системную группу с кодом меньше 500
-fПрерывает работу программы, если группа уже существует (При этом группа не изменяется). Если указаны параметры -g и -f, но группа уже существует, параметр -g игнорируется

Таблица 33-2. Параметры командной строки groupadd

33.5.3. Срок действия пароля

В целях безопасности рекомендуется требовать, чтобы пользователи периодически меняли свои пароли. Это можно сделать при добавлении или редактировании пользователя на вкладке Сведения о пароле (Password Info) программы Менеджер пользователей (User Manager).

Чтобы настроить устаревание пароля пользователя в приглашении оболочки, воспользуйтесь командой chage, передав ей параметр из таблицы 33-3 и имя пользователя.

ВажноВажно
 

Чтобы можно было использовать команду chage, необходимо включить скрытые пароли.

ПараметрОписание
-m daysОпределяет минимальный срок (в днях), по истечении которого пользователь должен менять пароль. Если это значение равно 0, срок действия пароля не будет истекать.
-M daysОпределяет максимальный срок (в днях), в течение которого будет действовать пароль. Если количество дней, заданное этим параметром, и количество дней, заданное параметром -d, в сумме определяют день в прошлом, пользователь должен сменить пароль, чтобы использовать эту учётную запись.
-d daysОпределяет дату смены пароля (число дней, прошедших после 1 января 1970 г.).
-I daysОпределяет, через сколько дней после истечения срока действия пароля учётная запись будет заблокирована. Если значение равно 0, учётная запись не будет блокироваться.
-E dateОпределяет дату блокирования учётной записи, в формате ГГГГ-ММ-ДД. Вместо такого формата даты можно также указать число дней, прошедших после 1 января 1970 г.
-W daysОпределяет, за сколько дней до истечения срока действия пароля будет предупреждаться пользователь.

Таблица 33-3. Параметры командной строки chage

ПодсказкаПодсказка
 

Если команде chage передаётся только имя пользователя (без параметров), она выводит текущие настройки устаревания пароля и позволяет вам изменить их.

Если системный администратор хочет, чтобы пользователь задал пароль при первом входе в систему, он может назначить пустой или какой-то исходный пароль, который истечёт немедленно, и, таким образом, пользователь должен будет сменить его при первом входе.

Чтобы настроить принудительную смену пароля при первом входе пользователя на консоли, выполните следующие действия. Заметьте, что это не будет работать, если пользователь подключается, используя протокол SSH.

  1. Заблокируйте пароль пользователя — Если пользователь не существует, воспользуйтесь командой useradd для создания учётной записи пользователя, но не назначайте пароль, чтобы она осталась заблокированной.

    Если пароль уже назначен, заблокируйте её, выполнив команду:

    usermod -L username
  2. Сделайте так, чтобы потребовалась немедленная смена пароля — Введите следующую команду:

    chage -d 0 username

    Эта команда задаёт в качестве даты последней смены пароля точку отсчёта эпохи (1 января 1970 г.). При этом значении пароль требуется сменить немедленно, вне зависимости от политики устаревания паролей, если она действует.

  3. Разблокируйте учётную запись — Выполнить это действия можно двумя распространёнными способами. Администратор может назначить пустой или какой-то начальный пароль.

    ПредупреждениеПредупреждение
     

    Не используйте для назначения пароля команду passwd, так как как она отменит только что настроенное требование смены пароля.

    Чтобы назначить начальный пароль, выполните следующие действия:

    • Запустите интерпретатор командной строки Python с помощью команды python. Он выводит следующие сообщения:

      Python 2.2.2 (#1, Dec 10 2002, 09:57:09)
      [GCC 3.2.1 20021207 (Red Hat Enterprise Linux 4 3.2.1-2)] on linux2
      Type "help", "copyright", "credits" or "license" for more information.
      >>>
    • В приглашении оболочки введите следующее (замените password паролем шифрования, а salt комбинацией ровно 2 больших или маленьких букв, цифр, символов точка (.) или косая черта slash (/), например, ab или 12):

      import crypt; print crypt.crypt("password","salt")

      На выходе вы полусите зашифрованный пароль, вроде 12CsGd8FRcMSM.

    • Нажмите [Ctrl]-[D], чтобы выйти из интерпретатора Python.

    • Скопируйте и вставьте показанный зашифрованный пароль, без начальных или конечных пробельных символов, в следующую команду:

      usermod -p "encrypted-password" username

    Вместо назначения начального пароля, с помощью следующей команды можно назначить пустой пароль:

    usermod -p "" username

    ВниманиеВнимание
     

    Хотя назначение пустого пароля удобно и для пользователя, и для администратора, существует небольшая угроза того, что кто-то третий сможет зарегистрироваться первым и получить доступ к системе. Чтобы сократить эту угрозу, администратору рекомендуется убедиться в том, что пользователь готов войти в систему, в момент разблокирования учётной записи.

    В любом случае при первом входе пользователю предлагается ввести новый пароль.