С помощью какой команды можно добавить пользователя
Перейти к содержимому

С помощью какой команды можно добавить пользователя

  • автор:

Описание команды NET USER

Команда NET USER предназначена для добавления, редактирования или просмотра учетных записей пользователей на компьютерах. При выполнении команды в командной строке без параметров отображается список учетных записей пользователей Windows, присутствующих на компьютере (эта команда также хорошо работает и в Windows 10). Информация об учетных записях пользователей хранится в базе данных Windows.

Возможности команды Net User

Давайте перечислим какие операции мы можем сделать с помощью команды Net User

  1. Добавить учетную запись;
  2. Добавить пароль учетной записи;
  3. Изменить пароль учетной записи;
  4. Отключить учетную запись;
  5. Удалить учетную запись.

Видео — Полное ознакомление с NET USER (примеры, вопросы на ответы)

Синтаксис команды NET USER

net user [имя_пользователя [пароль | *] [параметры]] [/domain]

net user имя_пользователя /add [параметры] [/domain]

net user имя_пользователя [/delete] [/domain], где

  • имя_пользователя — Указывает имя учётной записи пользователя, которую можно добавить, удалить, отредактировать или просмотреть. Имя может иметь длину до 20 символов.
  • пароль — Присваивает или изменяет пароль пользователя. Введите звездочку (*) для вывода приглашения на ввод пароля. При вводе с клавиатуры символы пароля не выводятся на экран.
  • /domain — Выполняет операцию на контроллере основного для данного компьютера домена.
  • параметры — Задает параметр командной строки для команды.
  • net help команда — Отображение справки для указанной команды net.
  • /delete — Удаление учетной записи пользователя.

Примеры команды NET USER

  • Для вывода списка всех пользователей данного компьютера служит команда: net user;
  • Для добавления учетной записи пользователя User1 с полным именем пользователя и паролем 123 используется следующая команда: net user User1 123 /add /fullname:»User1 » /comment:»Для тестов»;
  • Для вывода информации о пользователе » User1″ служит следующая команда: net user User1;
  • Для изменения пароля пользователя User1 на пароль 890 служит команда net user User1 890;
  • Для отключения учетной записи необходимо ввести команду: net user User1 /active:no;
  • Для удаления учетной записи необходимо ввести команду: net user User1 /delete.

Вопросы от подписчиков и примеры использования Net User

  1. Как включить встроенную учетную запись Администратора? Как получить права администратора в Windows? Для этого нужно ввести команду — net user администратор /active:yes и учетная запись Администратор будет включена (по умолчанию в системе эта учетная запись отключена);
  2. Как создать с помощью net user пользователя с правами администратора? Заранее скажу, используя дополнительно команду Net Localgroup можно добавлять учетные записи в нужную группу – Администраторы, Опытные пользователи или просто в группу Пользователи;
  3. Net user сменить пароль, net user изменить пароль, net user имя_пользователя сделать новый_пароль – эти все моменты мы показали net user User1 890;
  4. Net user отказано в доступе, net user команда выполнена с ошибками. Так, уважаемый пользователь все дело в правах, если вы запускаете командную строку без административных прав (т.е. под обычным пользователем), консоль выведет ошибку;
  5. Net user не найдено имя пользователя – тут еще проще, в системе нету такого пользователя, т.е. скорее всего логин написан с ошибками;
  6. Net user как сделать пустой пароль — Чтобы скинуть пароль пользователя на пустой введем команду net user User1 «»;
  7. Net user как переименовать пользователя? Очень интересный вопрос! Командой net user переименовать не получится, но мы предлагаем вам воспользоваться командой — wmic useraccount where name=’currentname’ rename newname.

Дополнительные параметы команды NET USER

Также рекомендуем ознакомиться с дополнительными параметрами команды Net User:

net user

  • /active: — Активирует или деактивирует учетную запись. Если учетная запись не активирована, пользователь не может получить доступ к серверу. По умолчанию учетная запись активирована.
  • /comment:»текст» — Позволяет добавить описание учетной записи пользователя
  • /countrycode:nnn — Использует код страны, указанный для операционной системы, для реализации соответствующих языковых файлов
  • /expires: — Дата истечения срока действия учетной записи. Значение never соответствует неограниченному сроку действия.
  • /fullname:»имя» — Полное имя пользователя (в отличии от имени учетной записи пользователя).
  • /homedir:путь — Указывает путь к домашнему каталогу пользователя. Указанное место должно существовать.
  • /passwordchg: — Указывает, может ли пользователь изменять свой пароль (по умолчанию может).
  • /passwordreq: — Указывает, должна ли учетная запись пользователя иметь пароль (по умолчанию должна).
  • /profilepath[:путь] — Указывает путь к профилю входа в систему пользователя.
  • /scriptpath:путь — Путь к сценарию, используемому пользователем для входа в систему.
  • /times: — Время для входа в систему. Параметр время указывается в формате день[-день][,день[-день]],час [-час][,час [-час]], причем приращение равняется 1 часу. Название дней недели могут указываться полностью или в сокращенном виде. Часы могут указываться в 12- или 24-часовом представлении. Для 12-часового представления используются обозначения am, pm, a.m. или p.m. Значение all соответствует отсутствию ограничений на время входа в систему, а пустое значение обозначает полный запрет на вход в систему.
  • /usercomment:»текст» — Позволяет администратору добавить или изменить комментарий к учетной записи.
  • /workstations: <имя_компьютера[. ] | *>— Позволяет указать до 8 компьютеров, с которых пользователь может войти в сеть. Если для параметра/workstations не указан список компьютеров или указано значение *, пользователь может войти в сеть с любого компьютера.

Рекомендуем для просмотра:

  • CACLS — управление доступом к файлам — 06/07/2010 04:19
  • NET LOCALGROUP — управление локальными группами компьютера — 06/07/2010 04:16
  • NET ACCOUNTS — учетные данные пользователей — 06/07/2010 04:12

С помощью какой команды можно добавить пользователя

Местоположение домашней директории определяется администратором при «создании» пользователя, а почтовые ящики все расположены в одной директории, имя которой зависит от типа ОС — например, во FreeBSD это /var/mail/ .

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

Кроме того, при использовании сетевых информационных систем NIS или NIS+ часть содержимого файлов /etc/passwd и /etc/group может быть распределена по сети.

Необходимым и достаточным условием «существования» пользователя в системе является его наличие в файле /etc/passwd .

Это текстовый файл, в каждой строке которого находится информация об одном пользователе. Каждая строка состоит из 7 полей, разделенных двоеточиями:

Поля имеют следующий смысл: account Имя пользователя. encpassword Зашифрованный пароль. UID Числовой идентификатор пользователя (User IDentifier). GID Числовой идентификатор первичной группы этого пользователя (Group IDentifier). GECOS Информация о пользователе — полное имя, телефон, комната и т.д. homedir Домашняя директория. shell Интерпретатор команд — программа, запускаемая для данного пользователя при входе в систему.

В «свежеустановленной» системе всегда есть пользователь » root » и некоторое количество псевдопользователей, необходимых для работы системы — » bin «, » mail «, » daemon » и т.д. У специальных пользователей UID всегда меньше 100.

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

Во многих ОС информация из /etc/passwd «размазана» по нескольким файлам (в том числе в Linux — /etc/shadow ), поэтому просто редактировать /etc/passwd «руками» нельзя!

Зашифрованный пароль. При записи паролей в Unix применяется необратимое шифрование по алгоритму DES. Поэтому даже имея доступ к зашифрованному паролю, нельзя узнать сам пароль. Система же, когда надо проверить пароль, зашифровывает строку, введенную пользователем и сравнивает ее с той, что содержится в /etc/passwd .

Однако эта схема не защищает от так называемых «словарных атак» (dictionary attacks), когда берется, например словарь, и все слова из него последовательно зашифровываются и сравниваются с тем, что записано в /etc/passwd .

Поэтому в большинстве современных систем применяются так называемые «теневые файлы паролей» (shadow passwords) — в /etc/passwd вместо пароля стоит «*» или «x», а сам шифрованный пароль содержится в файле /etc/shadow или подобном, доступ к которому есть только у пользователя » root «.

Linux также поддерживает /etc/shadow (стабильная поддержка в RedHat есть с версии 5.0, в 4.2 она несколько «кривая»), но это при необходимости надо отдельно включить, один раз выполнив команду pwconv .

Если шифрованный пароль (при наличии /etc/shadow — в нем, иначе — в /etc/passwd ) начинается с символа «*», то он не соответствует никакому реальному паролю. Поэтому такой пароль означает «вход пользователя заблокирован» — такие пароли стоят, к примеру, у псевдопользователей » bin «, » mail «, » daemon » и т.д.

Числовые идентификаторы — UID и GID. В ядре Unix для идентификации пользователя служит не имя, а 16-битное число — так называемый UID.

Имя же может быть практически любым — оно используется только при входе в систему, а также тогда, когда нужно именно имя пользователя (в адресах электронной почты, в finger , talk ) и в программах rsh , rlogin , ssh и им подобных.

Пользователь с UID=0 — супервизор, он имеет имя » root «.

В принципе, ничто не мешает создать нескольких пользователей с разными именами, паролями и home-директориями, но с одинаковыми UID — у всех у них будут одинаковые права. Но при создании Unix этот фокус не предусматривался, так что некоторые программы могут работать не совсем корректно.

Аналогично группа пользователя определяется числовым идентификатором GID. Но, в отличие от UID, один и тот же GID может быть присвоен нескольким пользователям — все они будут принадлежать к одной группе.

UID и GID должны совпадать на всех машинах. Аналогично тому, как имена пользователей используются в протоколах RLOGIN и SSH, и должны совпадать у одного пользователя на разных машинах, числовые идентификаторы используются сетевой файловой системой NFS. И если в rlogin и т.п. можно указать другое имя пользователя, в NFS такой возможности нет.

Поэтому для того, чтобы пользователь » vasya » на машине Bobby считался «эквивалентом» пользователя » vasya » на машине Garry, и имел по NFS доступ с правильными правами, числовые идентификаторы на обеих машинах должны совпадать . (Что интересно, одинаковость имен для NFS неважна.)

Поскольку каждый пользователь в ИЯФ «существует» на машине Sky (информация на которой берется из общеинститутской базы данных), лучше всего на всех компьютерах использовать идентификаторы оттуда.

Файл /etc/group по формату очень похож на /etc/passwd , но в нем перечислен список групп, существующих на машине, и пользователи, к ним принадлежащие.

Для работы с ним служат команды groupadd , groupdel и groupmod .

Манипуляции с пользователями

Хотя в принципе пользователей можно создавать «руками», путем редактирования файла /etc/passwd и еще некоторых действий, этого никогда не надо делать.

В разных ОС (и даже в разных версиях одной ОС) для манипуляций с пользователями зачастую служат разные команды. Пожалуй, единственной «универсальной» командой является passwd . Поэтому рассмотрим команды, используемые в RedHat Linux 5.2.

Создание пользователя. Для создания пользователя служит команда useradd . Самый простой вариант — useradd имя , при этом будут подобраны «первые попавшиеся» UID и GID, а в качестве home-директории и shell будут уставлены значения по умолчанию.

Лучше же всегда пользоваться такой формой команды:

Это позволяет создать пользователя «с нужными свойствами».

Ключ » -m » указывает useradd , что надо создать home-директорию данного пользователя (по умолчанию она может быть прописана в /etc/passwd , но не создана на диске) и сделать его ее владельцем. В нее будут скопированы файлы из директории /etc/skel/ («скелет» home-директории).

В случае, если домашняя директория имеет вид » /home/group/user «, то директория /home/group/ должна уже существовать — useradd делает только саму home-директорию, а все промежуточные директории (в данном случае /home и /home/group ) должны уже существовать.

Удаление пользователя. Для удаления служит команда userdel . Ей надо указать имя пользователя и ключ » -r » (для удаления home-директории). Пример:

Изменение «свойств» пользователя. Первое, что надо сделать после создания пользователя — назначить ему пароль. Для этого служит команда passwd .

Будучи запущена без параметров, она позволяет сменить пароль запустившего ее пользователя (предварительно спросив текущий пароль):

bobby:~% passwd Changing password for mickey (current) UNIX password: New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully bobby:~% _

Root же может сменить пароль любого пользователя, что и надо сделать сразу после его создания:

bobby:~# passwd mickey New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully bobby:~# _

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

Используя команду passwd из-под root, надо не забывать указать имя пользователя — иначе будет изменен пароль пользователя » root «. Это довольно распространенная ошибка.

Изменить shell пользователя можно командой chsh , которая спросит полное имя shell (с директорией). В Linux и BSD-системах пользователь может сам менять свой shell, а в ОС клона SystemV — только супервизор. Примеры:

bobby:~% chsh Changing shell for mickey. Password: New shell [/bin/zsh]: /bin/bash Shell changed. bobby:~% _
bobby:~# chsh -s /bin/zsh mickey Changing shell for mickey. Shell changed. bobby:~# _

Пользователь не может поставить в качестве своего shell произвольную программу — только одну из тех, что перечислены в файле /etc/shells .

Где еще брать информацию о работе с пользователями

Следует посмотреть man-страницы passwd(5), group(5), useradd(8), userdel(8), usermod(8), groupadd(8), groupdel(8), groupmod(8), passwd(1), chsh(1), shells(5), chfn(1) .

Кроме того, много полезной информации содержится в главах 3, 5 и 6 книги «UNIX: руководство системного администратора» .

Управление пользователями

url image

Каждый пользователь имеет свой уникальный идентификатор, UID . Он отличается в зависимости от типа пользователя:

  • администратор — 0
  • обычный — от 100
  • системный — от 1 до 100

Чтобы упростить процесс настройки прав для новых пользователей, их объединяют в группы. Каждая группа имеет свой набор прав и ограничений. Любой пользователь, создаваемый или добавляемый в такую группу, автоматически их наследует. Если при добавлении пользователя для него не указать группу, то у него будет своя, индивидуальная группа — с его именем. Один пользователь может одновременно входить в несколько групп.

Информацию о каждом пользователе сервера можно посмотреть в файле /etc/passwd . Они в нём перечислены в следующем формате:

test-user:x:1000:1000::/home/test-user:/bin/bash

говорит о том, что пароль зашифрован (хранится в /etc/shadow )

идентификатор пользователя ( UID ) и идентификатор группы ( GID ), к которой он принадлежит

тут может быть ваша реклама комментарий к пользователю и его контакты. Например, имя сотрудника или название службы. Т.н. GECOS -поле

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

Если вам известно имя пользователя и вы хотите узнать о нём побольше, необязательно читать /etc/passwd . Всё то же самое в человекочитаемом виде можно посмотреть с помощью команды pinky -l :

pinky -l test-user

Эта же команда без аргументов покажет вам всех авторизованных в текущий момент пользователей сервера, включая информацию о времени и источнике входа:

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

Узнать UID можно с помощью команды id :

id test-user

Для именования пользователей в Linux есть набор стандартных правил:

  • может содержать только английские буквы [a-z] в верхнем и нижнем регистре, цифры, символ «_» , тире «-» и точку;
  • может оканчиваться символом «$» ;
  • не может начинаться с тире, содержать только цифры или состоять из «.» или «..» ;
  • Не рекомендуется использовать точку в начале имени;
  • может включать до 32 символов.

Теперь перейдём непосредственно к управлению пользователями.

  • Создание пользователей
  • Изменение данных
  • Удаление
  • Группы пользователей
  • Привилегии суперпользователя. Sudo

Создание пользователей

Процесс добавления пользователя состоит из двух шагов: создание и настройка пароля.

На первом шаге используется команда useradd c набором опций для настройки нового пользователя и его именем (логином):

useradd [как создать] [как назвать]

Эта команда имеет ряд настроек по умолчанию, которые задаются с помощью файлов /etc/default/useradd и /etc/login.defs Увидеть основные можно с помощью команды:

useradd -D

GID группы, в которую пользователь будет добавлен

базовый каталог, в котором будет размещена директория

указывает время до блокировки пользователя, когда его пароль станет недействителен. Значение «-1» отключает опцию

дата, до которой действителен аккаунт. По умолчанию не установлена — то есть без ограничений

используется для настройки доступа к командной оболочке

содержит путь к директории, в которой хранятся файлы по умолчанию. После создания пользователя они будут автоматически скопированы в его домашнюю папку

определяет, нужно ли создать папку для писем этого пользователя в /var/spool/mail/

Все эти настройки применяются, если использовать самый простой вариант команды создания пользователя без параметров:

useradd test-user

Но обычно нам требуется добавить пользователя со специфическими настройками — для этого используется расширенный вариант этой команды. Перечислим основные опции:

создаёт указанную домашнюю директорию, если она ещё не существует

устанавливает /home/test-user в качестве домашней директории

-c «Евграф Шматкунос»

указывает группу, в которую попадёт пользователь после создания. Можно использовать с GID или именем группы. Указанная группа должна существовать. Используется в сочетании с ключом -N (отменяет автоматическое создание группы с именем пользователя)

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

позволяет настроить доступ к shell

создаёт системного пользователя. Используется, когда вам нужно настроить службу на работу из-под конкретного пользователя. По умолчанию данные таких пользователей не вносятся в /etc/shadow , для них не создаётся домашняя папка

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

указывает дату, до которой аккаунт будет активен. Дата задаётся в формате YYYY-MM-DD

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

В итоге получится вот такая сборная солянка из настроек:

useradd -m -u 666 -d /home/users/test-user -c "Тестовый пользователь" -e 2060-01-01 -s /bin/bash test-user

В примере мы создаём тестового пользователя test-user с идентификатором 666 , домашней папкой в /home/users/test-user , комментарием «Тестовый пользователь» и доступом к командной оболочке. Учётная запись будет действительна до конца света по Ньютону.

Более подробную информацию о доступных опциях для useradd можно увидеть с помощью команды man useradd .

Очень важно также настроить для пользователя надёжный пароль. Для этого нужно ввести следующую команду:

passwd test-user

Система предложит ввести и подтвердить пароль. На этом процесс создания пользователя можно считать завершённым.

Изменение данных пользователей

Смена настроек для активного пользователя может привести к сбою системы. Поэтому перед изменением данных важно убедиться, что в текущий момент редактируемый пользователь не авторизован, под ним отсутствуют запущенные процессы, редактируемые файлы. Посмотреть список запущенных процессов пользователя user можно следующим образом:

pgrep -l -u user

Проверить, авторизован ли пользователь, можно с помощью уже известной команды:

pinky user

Отредактировать данные существующего пользователя можно с помощью команды usermod . По структуре она похожа на предыдущую команду:

usermod [что поменять] [для какого пользователя]

Набор параметров расширен дополнительными опциями:

создаёт новую директорию, указанную в качестве домашней (если её не существует), и переносит туда данные из старой

меняет домашнюю директорию пользователя на /home/users/new-test-user

меняет комментарий к пользователю

добавляет пользователя в дополнительные группы

меняет командную оболочку пользователя

меняет дату, до которой аккаунт будет активен

меняет количество дней до блокировки пользователя, когда его пароль станет недействителен

меняет имя пользователя на new-test-user

блокирует аккаунт. Для этого в файле /etc/shadow перед хэшем пароля ставится символ «!»

снимает блокировку с аккаунта (удаляет символ «!» из пароля в /etc/shadow )

То есть если мы захотим отредактировать данные пользователя test-user , созданного в примере выше, это будет выглядеть так:

usermod -l new-test-user -m -d /home/new-test-user -c "Чак Норрис" -u 100500 -e 3000-01-01 -f -1 test-user

В примере мы меняем логин — имя на new-test-user , изменяем домашнюю папку на /home/new-test-user с копированием файлов, меняем комментарий, UID , срок жизни аккаунта и отменяем блокировку в случае устаревания пароля.

При изменении данных пользователя система предпримет попытку автоматически указать новые данные для всех файлов и папок. Тем не менее, после редактирования нужно всё перепроверить и исправить права доступа, где они не изменились автоматически.

Удаление пользователей

Как и в случае с редактированием, перед удалением нужно убедиться, что под ним отсутствуют активные процессы, не редактируются файлы. Иначе существует риск сбоя системы. В программу встроен механизм защиты, поэтому она не позволит удалить пользователя, если он авторизован или под ним работают какие-то службы.

Для удаления пользователей используется команда userdel . Её структура аналогична предыдущим:

userdel [что удаляем] [кого удаляем]

Основных параметра два:

удаляет папки пользователя: домашнюю директорию, почтовую очередь

отключает механизм защиты. При использовании этой опции пользователь будет удалён даже при наличии запущенных процессов и пр. Используется на свой страх и риск, так как может привести к сбою системы

После удаления пользователей важно вручную проверить, что на сервере не осталось файлов или директорий, принадлежащих удалённому пользователю.

Группы пользователей

Информация о группах хранится в файле /etc/group . Работа с группами пользователей куда проще.

Группы применяются для делегирования прав доступа на определённые файлы, папки, скрипты сразу нескольким пользователям. Живой пример: работа с FTP-сервером. Вы выбираете какую-то директорию для работы с файлами, создаёте группу пользователей и присваиваете ей выбранную папку. Теперь вам не нужно отдельно настраивать права каждому новому пользователю — достаточно добавить его в эту группу, и он автоматически получит доступ к FTP-каталогу.

Создание

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

groupadd new-group

Из параметров можно выделить следующие:

если группа с указанным именем или GID уже существует, опция прерывает выполнение команды без соответствующей ошибки

позволяет назначить свой GID для создаваемой группы

создаёт системную группу

Устанавливает для группы пароль p@ssw0rd . Пароль запрашивается системой при попытке входа в группу с помощью команды newgrp .

Не рекомендуется к использованию из-за проблем с безопасностью. Настроенный таким образом пароль можно увидеть в истории команд.

Редактирование

Для редактирования групп используется команда groupmod . Список изменений задаётся с помощью параметров:

меняет GID группы на 100500

меняет имя группы на another-name

Например, если нам нужно изменить имя группы test-group на имя named-group , команда будет выглядеть так:

groupmod -n named-group test-group

Удаление

Нельзя удалить группу, если она указана в качестве основной для какого-то существующего пользователя. Сначала нужно предварительно удалить этого пользователя из группы.

Само удаление группы выполняется одной командой:

groupdel test-group

Как и в случае удаления пользователей, нужно вручную проверить, что на сервере не осталось данных, принадлежащих удалённой группе.

Управление пользователями в группе

Базовым инструментом для управления группами является утилита gpasswd . Она имеет несколько параметров, но с одной особенностью — в отличие от предыдущих примеров, здесь большинство параметров (кроме -A и -M ) не сочетаются. То есть в команде может быть только один параметр за раз.

Структура команды проста:

gpasswd [что сделать] [в какой группе]

Рассмотрим опции команды подробнее:

Добавляет new-user в группу

Удаляет bad-user из группы

Доступна для использования привилегированным пользователям (с правами root). Назначает список пользователей-администраторов группы

Доступна для использования привилегированным пользователям. Назначает список участников группы

Отключает пароль группы. После этого только члены группы смогут использовать команду newgrp для подключения к группе

Отключает внешний доступ к группе. После этого только члены группы смогут использовать команду newgrp для подключения к группе

Как добавить пользователя в группу

Если нам потребуется добавить пользователя в новую группу, достаточно будет использовать следующую команду:

gpasswd -a new-user test-group

Также для добавления пользователей в новую группу используется описанная выше команда usermod . Следующий пример добавляет пользователя test-user в группу new-group :

usermod -a -G new-group test-user

Или, если нужно указать группу new-group в качестве основной группы пользователя test-user :

usermod -g new-group test-user

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

newgrp new-group

Эта команда позволяет переключить группу пользователя в рамках текущей сессии, а также автоматически добавляет запрошенную группу в список групп пользователя.

Привилегии суперпользователя. Sudo

Итак, мы знаем, что на сервере есть три типа пользователей: администраторы (корневой пользователь root ), локальные (люди, которым мы предоставляем учётные записи для работы с сервером) и системные (сущности, от имени которых запускаются те или иные процессы). То есть реально для управления системой используются только первые два типа пользователей. Их основное различие — в объёме прав доступа.

По умолчанию после установки операционной системы на сервере присутствует только один пользователь — администратор root . Он имеет полные права доступа ко всем процессам и данным сервера.

Если создать локального пользователя, по умолчанию он будет иметь доступ только к тем файлам и каталогам, которые принадлежат ему либо группе пользователей, в которую он входит. Помимо прочего, при работе в командной оболочке ему будет закрыт доступ к ряду системных инструментов, необходимых для расширенной настройки или диагностики сервера. При попытке выполнить их под непривилегированным пользователем вы будете видеть ошибки, намекающие, что для работы с этими инструментами требуются права повыше:

Тем не менее, основная часть работы с конечными данными на сервере происходит именно под локальным пользователем — например, загрузка и изменение файлов сайтов. Если вы загрузите на сервер файл под root -ом, файл будет принадлежать ему, а не пользователю, в папку которого загружен. Соответственно, потом это может привести к ошибкам, если вручную не изменить владельца загруженного файла.

Когда вы полностью настроите ваш сервер, работа под root -ом вообще может стать опасной. Случайная ошибка в команде на удаление папки может запросто скосить все ваши труды по разворачиванию системы. Да и в целом сам факт наличия пользователя root на сервере при неправильном подходе к безопасности может стать фатальным — если злоумышленник получит к нему доступ, он получит неограниченный контроль над всем содержимым сервера.

С учётом всего этого при администрировании оптимальной считается следующая практика: пользователь root как он есть отключается, а его привилегии делегируются узкому кругу локальных пользователей. Это даёт сразу несколько преимуществ:

  • повышается уровень внешней безопасности (отсутствие root отсекает часть автоматических попыток взлома);
  • ограничивается объём административных прав — повышение привилегий используется для конкретных рабочих операций и действует ограниченное время.

Для делегирования прав суперпользователя локальные пользователи добавляются в специальную группу. Способ настройки отличается в зависимости от используемой операционной системы:

    Ubuntu и Debian: Для предоставления прав пользователи добавляются в группу sudo :

usermod -a -G sudo test-user
usermod -a -G wheel test-user

Можно делегировать права пользователям по отдельности — через файл /etc/sudoers Для работы с ним нужно вызвать специальный редактор:

visudo

В этом файле можно тонко настроить объём делегируемых прав — вплоть до списка команд, которые пользователям разрешено вызывать от имени администратора.

Проверить, может ли пользователь использовать sudo , можно с помощью команды:

sudo -l -U test-user

В примере пользователь test-user может выполнять через sudo любые команды ( ALL:ALL — символизирует, что команды могут исполняться от имени любых пользователей и групп, третий аргумент символизирует список доступных команд — в примере ALL , не ограничен)

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

sudo groupadd newgroup

Для подтверждения система запросит ввести пароль текущего пользователя (символы при вводе пароля не отображаются — введите пароль «вслепую» или скопируйте и вставьте кликом правой кнопки мыши). После ввода команда будет отправлена на исполнение. Также в течение пяти следующих минут (по умолчанию) вы сможете запускать команды от имени суперпользователя без использования sudo и повторного ввода пароля.

Количество времени, которое действуют права суперпользователя после вызова sudo , можно изменить через настройки в /etc/sudoers . Запрос пароля можно отключить там же.

Если вам нужно выполнить сразу несколько операций с повышенными привилегиями, можно временно войти в режим суперпользователя:

sudo -s

С управлением пользователями разобрались, идём дальше. Как было сказано выше, чтобы локальный пользователь мог начать работу на сервере, администратор ( root или пользователь c привилегиями sudo ) должен настроить права доступа к файлам и папкам, которые понадобятся этому пользователю. Рассмотрим этот вопрос подробнее.

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

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

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

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

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

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

Параметры командной строки для утилиты 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 описаны в таблице 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.

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

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

usermod -L username

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

chage -d 0 username

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

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

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

Не используйте для назначения пароля команду 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

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

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

Назад Начало Вперёд
Изменение свойств группы Вверх Объяснение процесса

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *