Управление учетными записями. Создание и использование групп пользователей в ОС Linux, страница 5

Для команды usermod некоторые опции приобретают другое значение. Например -m теперь копирует не из скелетного каталога, а из предыдущего домашнего в новый домашний каталог, если он был изменен опцией -d. Как следствие, -m нельзя использовать без -d. Также опция -o теперь используется только совместно с -u. При этом в случае изменения UID файлы в домашнем каталоге автоматически будут изменены, чтобы соответствовать новому UID. Остальные файлы необходимо будет изменить вручную, например, командой:

find / -uid {старый UID} | xargs chown {новый UID}

Также добавилось несколько новых параметров:

-l {логин}: поменять имя пользователя на новое

-L: заблокировать учётную запись

-U: разблокировать учётную запись

Опции -L , -U и -p взаимоисключающие. Приведу несколько примеров:

создать пользователя student и создать ему домашний каталог

useradd -m student

сменить ему UID на 1001

usermod -u 1001 student

дать ему доступ в группы cdrw, audio, video

usermod -G cdrw,audio,video student

удалить его

userdel student

В ASPLinux также есть интерактивный скрипт adduser, который задает вопросы по новому пользователю и выполняет useradd на основании полученных ответов.

Изменение данных о пользователе: chfn, chsh

Команда chfn позволяет изменять отдельные поля в поле комментария. Если в качестве параметра ей передать только имя пользователя, то она будет работать в интерактивном режиме, запрашивая значение всех полей подряд (если просто нажимать Enter, то будет оставлено предыдущее значение). Если не передавать ей имя пользователя, то она работает как если бы ей было передано имя текущего пользователя. Также можно с её помощью сразу менять значения полей в командном режиме. Если указана хоть одна из нижеуказанных опций, то ничего запрашиваться не будет, а заданному пользователю будет изменено значение соответствующего поля на указанное в опции

-f {полное имя}: помните, что если необходимо передать несколько слов одним параметром, надо их брать в кавычки или ставить обратный слэш перед пробелами.

-r {номер комнаты}

-w {рабочий телефон}

-h {домашний телефон}

-o {прочая информация}

Во всех полях запрещены двоеточия и во всех, кроме последнего запрещены запятые. Поля -f и -o может менять только суперпользователь, остальные поля каждый пользователь может менять сам себе. Аналогично команде chfn работает команда chsh, но она изменяет поле командного интерпретатора. Пользователь имеет право сменить свой командный интерпретатор, но должен выбрать его из списка, находящегося в файле /etc/shells.

Управление паролями: passwd

Единой утилитой управления паролями является команда passwd. Будучи вызванной с опциями -s или -f, она выполняет chsh или chfn соответственно, при этом можно в качестве параметра передать имя пользователя. Если в качестве параметра передано только имя пользователя, то запрашивается новый пароль и происходит его смена. Если имени пользователя нет, то используется имя текущего пользователя. Для обычных пользователей перед сменой пароля требуется ввести текущий пароль. Также есть несколько опций по управлению учётной записью:

-S: выдает текущий статус учётной записи в формате:

{login} {статус} {дата последней смены пароля} {минимальный возраст} {максимальный возраст} {за сколько дней предупреждать} {после скольки дней блокировать}

это единственная опция в этом списке, которую можно использовать без указания имени пользователя и которую может использовать обычный пользователь. В поле статус пишется P, если пароль есть, NP, если пароля нет и L, если запись заблокирована.

-x {число}: максимальный возраст пароля в днях

-n {число}: минимальный возраст пароля в днях (до этого возраста его нельзя менять)

-w {число}: за сколько дней предупреждать об истечении срока

-i {число}: то же, что -f в useradd/usermod. Через сколько дней блокируется запись

-e: установить, что срок действия пароля истек

-d: удалить пароль. Не рекомендуется! Так как пользователь сможет войти без пароля, что является дырой в безопасности.

-l: заблокировать учетную запись

-u: разблокировать учетную запись

Если установить первый ключ -g, то можно установить пароль для группы. Тогда требуется имя группы и можно указать один из двух ключей -r или -R. Ключ -r позволяет удалить пароль у группы, а -R запретить доступ по паролю. Срок действия пароля также можно изменять командой chage.