Работа с пользователями и группами в Linux

Информация пользователей

В системе присутствует следующая информация о каждом пользователе:

  • Имя пользователя (user name) – в рамках системы имя должно быть уникальным. В именах должны использоваться только английские буквы, числа и символы _ и . (точка).
  • Идентификационный номер пользователя (UID) – является уникальным идентификатором пользователя в системе. Система отслеживает пользователей по UID, а не по именам.
  • Идентификационный номер группы (GID) – обозначает группу, к которой относится пользователь. Каждый пользователь может принадлежать к одной или нескольким группам. Принадлежность пользователя к группе устанавливает системный администратор, чтобы иметь возможность ограничивать доступ пользователей к тем или иным ресурсам системы.
  • Пароль (password) – пароль пользователя в зашифрованном виде.
  • Полное имя (full name) – помимо системного имени может присутствовать полное имя пользователя, например фамилия и имя.
  • Домашний каталог (home directory) – каталог, в который попадает пользователь после входа в систему. Подобный каталог имеется у каждого пользователя, все пользовательские каталоги хранятся в директории /home.
  • Начальная оболочка (login shell) – командная оболочка, которая будет запускаться при входе в систему. Например, /bin/bash.

Вся информация о пользователях хранится в следующих файлах:

passwd (etc/passwd) – содержит информацию о пользователях, имеет следующий формат записи – “user_name:password:UID:GID:full_name:home_directory:login_shell”. Элементы записи должны разделяться символом – “:” (двоеточие) и записываются без пробелов. Если пароль хранится в зашифрованном виде в файле /etc/shadow, то вместо пароля указывается – “x”.

group (etc/group) – информация о группах, формат – “group_name:password:GID:user1,user2,user3”. Элементы записи должны разделяться символом – “:” (двоеточие) записываются без пробелов. Имена пользователей записываются через запятую.

У файлов /etc/passwd и /etc/group всегда определенные права доступа: чтение и запись для root, для остальных только чтение.

shadow (etc/shadow) – в этом файле хранятся так называемые “теневые пароли”, информация о паролях пользователей в зашифрованном виде. Cделано это для безопасности, так как файл /etc/passwd может читаться кем угодно, а файл /etc/shadow может прочитать только root.

gshadow (etc/gshadow) – то же самое что и shadow, только для паролей групп.

Помимо основных, в системе присутствуют дополнительные файлы.

useradd (etc/default/useradd) – файл задающий свойства “по умолчанию” для всех добавляемых пользователей. Можно просмотреть командой – useradd -D.

useradd -D

GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no

login.defs (/etc/login.defs) – содержит настройки для создания новых пользователей.

/etc/skel – каталог с дефолтными файлами, которые копируются в домашний каталог каждого пользователя при его создании.

Настя и сборник весёлых историй

Настя и сборник весёлых историй

В этом руководстве мы расскажем, как добавить пользователя в группу в системах Linux. Мы также покажем вам, как удалить пользователя из группы и как создавать, удалять и перечислять группы.

Linux группы

Группы Linux – это организационные единицы, которые используются для организации и администрирования учетных записей пользователей в Linux. Основная цель групп – определить набор привилегий, таких как чтение, запись или выполнение разрешения для данного ресурса, которые могут быть общими для пользователей в группе.

В операционных системах Linux существует два типа групп:

Основная группа – когда пользователь создает файл, для группы файла устанавливается основная группа пользователя. Обычно имя группы совпадает с именем пользователя. Информация о первичной группе пользователя хранится в /etc/passwd .
Вторичная или дополнительная группа – полезно, если вы хотите предоставить определенные права доступа к файлам группе пользователей, которые являются членами группы. Например, если вы добавите определенного пользователя в группу docker, он унаследует права доступа от группы и сможет выполнять команды Docker.

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

Только root или пользователи с доступом могут добавить пользователя в группу.

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

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

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

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

В случае успеха команда не отображает никаких выходных данных. Он предупреждает вас, только если пользователь или группа не существует.

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

В следующем примере мы удаляем из группы :

Как изменить основную группу пользователя

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

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

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

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

Показать группы пользователей

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

Из вышеприведенных выводов мы видим, что основная группа пользователей – это и она относится к дополнительным группам , , , и .

Используйте команду для отображения дополнительных групп пользователя:

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

Вывод

В этом уроке мы показали, как добавить пользователя в группу.

Те же команды применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.

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

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

В CentOS у вас есть два варианта предоставления доступа sudo пользователю. Первый – добавить пользователя в файл sudoers. Второй вариант – добавить пользователя в группу wheel.

Файл sudoers содержит набор правил, которые определяют, каким пользователям или группам предоставляются привилегии sudo, а также уровень привилегий.

В Ubuntu самый простой способ предоставить пользователю права sudo – добавить пользователя в группу sudo. Члены этой группы смогут выполнять любую команду от имени root через sudo.

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

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

  • Команда — это зарезервированное слово, «приказ» системе выполнить то или иное действие.
  • Ключ — под ключом мы имеем ввиду некий переключатель, используемый в команде и расширяющий ее возможности. Ключ может принимать значение, а может и не принимать.
  • Аргумент или значение ключа — это некий логический набор данных, который обрабатывается командой.

Для создания пользователя в Linux используется команда useradd, если вы откроете ее справку командой useradd –help, где –help является ключом, то в терминале будет выведен полный набор поддерживаемых данной командой ключей.

Назначение домашнего каталога по умолчанию, блокировка учетной записи по истечении указанной даты, добавление пользователя в другие группы, создание пользователя без GUI и домашней папки, смена папки с конфигурационными файлами пользователя и назначение ему уникального ID и шелла — всё это и многое другое можно сделать с помощью терминала.

Добавляется новый пользователь в Ubuntu командой useradd имя-юзера. Перед выполнением команды мы запрашиваем разрешение у root, поэтому вначале ставим sudo. Если вы хотите в рамках сессии постоянно работать с правами суперпользователя, выполните sudo su -. Если увидите на скриншотах такую конструкцию, это значит мы переключились в режим root.

При выполнении команды useradd автоматически будет создана новая группа и домашняя папка юзера. В процессе система попросит придумать и ввести для нового пользователя пароль и указать дополнительные сведения, которые, в отличие от пароля, можно проигнорировать. Это будет самый обычный пользователь с домашней папкой в каталоге /home и командной строкой bash. Получить базовые сведения о пользователе можно командой id имя-юзера. Для примера мы только что создали нового пользователя ludos и вывели командой id ludos о нём сведения. В результате получили строку из трех частей.

  1. uid — это идентификатор пользователя.
  2. gid — идентификатор его группы (по умолчанию равен ID юзера).
  3. группы — перечень групп, в которые входит пользователь.

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

Да очень просто: используя ключи -o, -u, -g и -s Первый ключ разрешает создание пользователя с неуникальным ID, второй назначает ему идентификатор пользователя, а третий — идентификатор группы, которые совпадают с идентификаторами рута (0). Четвёртый ключ назначает командную оболочку. Сама же команда будет выглядеть следующим образом, где newroot — новый рутовый пользователь.

useradd -o -u 0 -g 0 -s /bin/bash newroot

Только вот делать так не рекомендуем.

Во-первых, этот дубль-root не отображается на экране входа в систему (нужно нажать “нет в списке” и ввести его имя и пароль), не отображается он и в графической утилите управления пользователями. Во-вторых, у вас могут возникнуть проблемы с его удалением. Ubuntu советует использовать для удаления рутового пользователя ключ –force, но когда мы выполняем команду удаления deluser –force newroot, система сообщает об ошибке из-за использования newroot процесса с ID 1, принадлежащего пользователю root! То есть newroot стал как-бы зеркалом рута.

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

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

При помощи команды id смотрим, в каких группах состоит пользователь (опция -n нужна для вывода названий групп, а не их ID).

id -nG quincy

Предположим, мы увидели, что пользователь quincy состоит в группах «editors» и «writers». Если мы хотим удалить его из группы «writers», мы можем воспользоваться следующей командой:

usermod -G editors quincy

Эта команда очень похожа на ту, которой мы установили для пользователя quincy вторичную группу «editors». Но поскольку мы сейчас не использовали флаг -a, предыдущий список групп просто перезаписался, и теперь в нем нет группы «writers».

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

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

usermod -h

Приведем некоторые из них:

  • -c — изменить комментарий
  • -d — новый домашний каталог
  • -g — новая основная группа
  • -G — новые дополнительные группы
  • -a — добавить пользователя в дополнительные группы, не удаляя из других групп, используется совместно с ключом -G
  • -l — новое имя учетной записи
  • -L — блокировать учетную запись
  • -m — переместить содержимое домашнего каталога, используется только вместе с -d
  • -U — разблокировать учетную запись

Например:

usermod -c «Ivanov Ivan» -aG sudo ivan

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

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

Для управления группами используется аналогичный набор команд: groupadd, groupmod и groupdel. Их ключи также можно посмотреть, запустив их с параметром -h.

Для создания группы используйте:

groupadd office

Из дополнительных ключей имеют практический смысл:

  • -g — использовать указанный GUID
  • -f — завершить команду без ошибки если группа с таким именем уже существует и отменить действие -g, если указанный GUID уже используется.

При помощи команды usermod мы можем изменить GUID и наименование группы, скажем:

groupmod -n sales office

Данная команда переименует группу office в группу sales. Используемые ключи:

  • -g — изменить GUID группы
  • -n — изменить наименование группы

Ну и наконец groupdel, который используется для удаления групп:

groupdel office

Из параметров можно использовать:

-f — удалить группу, даже если она является основной для пользователя

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

Sudo и su

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

Программа su служит для выполнения от имени указанного пользователя (по умолчанию — root) указанной команды/программы (по умолчанию — той программы, что определена в качестве оболочки (shell) для указанного пользователя) и запрашивает она пароль указанного пользователя.

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

  • Нет «программы по умолчанию». для запуска оболочки, определённой для указанного пользователя, надо передать программе опцию -i.
  • По умолчанию запрашивается не пароль указанного пользователя, а пароль пользователя, выполняющего программу sudo. какому пользователю, какие программы и от чьего имени можно запускать, определяется содержимым конфигурационного файла (редактируется с помощью программы visudo).

Системные команды Linux

Эти команды используются для просмотра информации и управления, связанной с системой Linux.

1. uname

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

Следующая команда uname с опцией  отображает всю информацию об операционной системе.

2. uptime

Информация о том, как долго работает система Linux, отображается с помощью команды uptime. Информация о времени безотказной работы системы собирается из файла ‘/proc/uptime‘. Эта команда также отобразит среднюю нагрузку на систему.

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

Полное руководство команды Uptime

3. hostname

Вы можете отобразить имя хоста вашей машины, введя  в своем терминале. С помощью опции  вы можете просмотреть ip-адрес компьютера. А с помощью параметра  вы можете просмотреть доменное имя.

4. last

Команда last в Linux используется для определения того, кто последним вошел в систему на вашем сервере. Эта команда отображает список всех пользователей, вошедших (и вышедших) из «/var/log/wtmp » с момента создания файла.

Вам просто нужно ввести «last» в своем терминале.

5. date

В Linux команда date используется для проверки текущей даты и времени системы. Эта команда позволяет задать пользовательские форматы для дат.

Рекомендуем статью Команда Date (Дата) в Linux с примерами использования

Например, используя «date +%D«, вы можете просмотреть дату в формате «ММ/ДД/ГГ«.

6. cal

По умолчанию команда cal отображает календарь текущего месяца. С помощью опции  вы можете просмотреть календарь на весь год.

9. reboot

Команда reboot используется для перезагрузки системы Linux. Вы должны запустить эту команду из терминала с правами суперпользователя sudo.

10. shutdown

Команда shutdown используется для выключения или перезагрузки системы Linux. Эта команда позволяет планировать завершение работы и уведомлять пользователей сообщениями о выключении и перезагрузке.

По умолчанию компьютер (сервер) выключится через 1 минуту. Вы можете отменить расписание, выполнив команду:

Немедленное отключение тоже возможно, для этого используется опция «now»

Команды Linux, для работы с файлами

Эти команды используются для обработки файлов и каталогов.

33. ls

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

34. pwd

Linux pwd — это команда для показывает имя текущего рабочего каталога. Когда мы теряемся в каталогах, мы всегда можем показать, где мы находимся.

Пример ример ниже:

35. mkdir

В Linux мы можем использовать команду mkdir для создания каталога.

По умолчанию, запустив mkdir без какой-либо опции, он создаст каталог в текущем каталоге.

36. cat

Мы используем команду cat в основном для просмотра содержимого, объединения и перенаправления выходных файлов. Самый простой способ использовать cat— это просто ввести » имя_файла cat’.

В следующих примерах команды cat отобразится имя дистрибутива Linux и версия, которая в настоящее время установлена на сервере.

37. rm

Когда файл больше не нужен, мы можем удалить его, чтобы сэкономить место. В системе Linux мы можем использовать для этого команду rm.

38. cp

Команда Cp используется в Linux для создания копий файлов и каталогов.

Следующая команда скопирует файл ‘myfile.txt» из текущего каталога в «/home/linkedin/office«.

39. mv

Когда вы хотите переместить файлы из одного места в другое и не хотите их дублировать, требуется использовать команду mv. Подробнее можно прочитать ЗДЕСЬ.

40.cd

Команда Cd используется для изменения текущего рабочего каталога пользователя в Linux и других Unix-подобных операционных системах.

41. Ln

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

Команда Ln использует следующий синтаксис:

42. touch

Команда Touch используется в Linux для изменения времени доступа к файлам и их модификации. Мы можем использовать команду touch для создания пустого файла.

44. head

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

45. tail

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

46. gpg

GPG — это инструмент, используемый в Linux для безопасной связи. Он использует комбинацию двух ключей (криптография с симметричным ключом и открытым ключом) для шифрования файлов.

50. uniq

Uniq — это инструмент командной строки, используемый для создания отчетов и фильтрации повторяющихся строк из файла.

53. tee

Команда Linux tee используется для связывания и перенаправления задач, вы можете перенаправить вывод и/или ошибки в файл, и он не будет отображаться в терминале.

54. tr

Команда tr (translate) используется в Linux в основном для перевода и удаления символов. Его можно использовать для преобразования прописных букв в строчные, сжатия повторяющихся символов и удаления символов.

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

Вся информация о пользователях находится в файле /etc/passwd. Мы могли бы создать пользователя linux просто добавив его туда, но так делать не следует, поскольку для этой задачи существуют специальные утилиты. Одна из таких утилит, это useradd. Рассмотрим ее подробнее.

Команда useradd

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

$ useradd опции имя_пользователя

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

  • -b – базовый каталог для размещения домашнего каталога пользователя, по умолчанию /home;
  • -c – комментарий к учетной записи;
  • -d – домашний каталог, в котором будут размещаться файлы пользователя;
  • -e – дата, когда учетная запись пользователя будет заблокирована, в формате ГГГГ-ММ-ДД;
  • -f – заблокировать учетную запись сразу после создания;
  • -g – основная группа пользователя;
  • -G – список дополнительных групп;
  • -k – каталог с шаблонами конфигурационных файлов;
  • -l – не сохранять информацию о входах пользователя в lastlog и faillog;
  • -m – создавать домашний каталог пользователя, если он не существует;
  • -M – не создавать домашнюю папку;
  • -N – не создавать группу с именем пользователя;
  • -o – разрешить создание пользователя linux с неуникальным идентификатором UID;
  • -p – задать пароль пользователя;
  • -r – создать системного пользователя, не имеет оболочки входа, без домашней директории и с идентификатором до SYS_UID_MAX;
  • -s – командная оболочка для пользователя;
  • -u – идентификатор для пользователя;
  • -D – отобразить параметры, которые используются по умолчанию для создания пользователя. Если вместе с этой опцией задать еще какой-либо параметр, то его значение по умолчанию будет переопределено.

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

Как видите, по умолчанию домашний каталог пользователя будет создан в /home и будет использоваться оболочка /bin/sh. Теперь создадим минимального пользователя с минимальными настройками:

Был создан самый простой пользователь, без оболочки и пароля, а также без групп. Теперь немного усложним задачу и создадим пользователя с паролем и оболочкой /bin/bash:

Для того чтобы получать доступ к системным ресурсам пользователю нужно быть участником групп, у которых есть доступ к этим ресурсам. Дополнительные группы пользователя задаются с помощью параметра -G. Например, разрешим пользователю читать логи, использовать cdrom и пользоваться sudo:

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

Некоторых пользователей интересует создание пользователя с правами root linux, это очень просто делается с помощью useradd, если комбинировать правильные опции. Нам всего лишь нужно разрешить создавать пользователя с неуникальным uid, установить идентификатор в 0 и идентификатор основной группы тоже в 0. Команда будет выглядеть вот так:

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

Создание нового пользователя linux в GUI

Затем откройте “Пользователи”:

Поскольку утилита запущена от имени обычного пользователя вы ничего не можете сделать. Поэтому нажмите кнопку “Разблокировать”:

Только после этого используйте кнопку со знаком плюс для создания нового пользователя Linux:

В открывшемся окне нужно заполнить все поля. Но тут намного больше ограничений, чем в методе через терминал. Вы не можете задать слишком простой пароль, а также нельзя настроить группы. Можно только указать будет ли пользователь включен в группу wheel с помощью выбора типа пользователя – администратор или обычный:

После этого создание пользователя linux завершено, новый пользователь появится в списке.

Новые способы управления разрешениями в Ubuntu

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

Помимо прочего, в Ubuntu 19.10 добавлена ​​версия 3.32 для Gnome, в которую добавлен контроль прав доступа к приложениям. Это позволит вам использовать разрешения приложения в стиле смартфона. Хотя эта функция все еще находится в зачаточном состоянии, она может сделать рабочий стол Linux более безопасным.

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

Просмотр

Вся информация о пользователях хранится в файле .

Каждый аккаунт занимает одну строку, в формате

  • — имя пользователя.
  • — зашифрованный пароль пользователя.
  • — идентификационный номер пользователя.
  • — идентификационный номер основной группы пользователя.
  • — необязательное поле, используемое для указания дополнительной информации о пользователе (например, полное имя пользователя).
  • — домашний каталог ($HOME) пользователя.
  • — командный интерпретатор пользователя (обычно /bin/sh).

Получение информации о пользователях

  • – вывод информации (имя пользователя, рабочий терминал, время входа в систему, информацию о потребленных ресурсах CPU и имя запущенной программы) о всех вошедших в систему пользователях.
  • – вывод информации (имя пользователя, рабочий терминал, время входа в систему) о всех вошедших в систему пользователях.
  • или или – вывод вашего имени пользователя.
  • – вывод имен пользователей, работающих в системе.
  • – вывод о идентификаторах пользователя: его uid, имя_пользователя, gid и имя первичной группы и список групп в которых состоит пользователь
  • – вывод списка групп в которых состоит пользователь.

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

Добавление пользователя осуществляется при помощи команды useradd.

Ключи:

  • Базовый каталог. Это каталог, в котором будет создана домашняя папка пользователя. По умолчанию /home.
  • Комментарий. В нем вы можете напечатать любой текст.
  • Название домашнего каталога. По умолчанию название совпадает с именем создаваемого пользователя.
  • Дата, после которой пользователь будет отключен. Задается в формате ГГГГ-ММ-ДД. По умолчанию отключено.
  • Количество дней, которые должны пройти после устаревания пароля до блокировки пользователя, если пароль не будет изменен (период неактивности). Если значение равно 0, то запись блокируется сразу после устаревания пароля, при -1 – не блокируется. По умолчанию -1.
  • Первичная группа пользователя. Можно указывать как GID, так и имя группы. Если параметр не задан будет создана новая группа название которой совпадает с именем пользователя.
  • Список вторичных групп в которых будет находится создаваемый пользователь
  • Каталог шаблонов. Файлы и папки из этого каталога будут помещены в домашнюю папку пользователя. По умолчанию /etc/skel.
  • Ключ, указывающий, что необходимо создать домашнюю папку. По умолчанию домашняя папка не создается.
  • Зашифрованный пароль пользователя. По умолчанию пароль не задается, но учетная пользователь будет заблокирован до установки пароля.
  • Оболочка, используемая пользователем. По умолчанию /bin/sh.
  • Вручную задать UID пользователю.

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

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

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

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

Изменить пароль пользователю можно при помощи утилиты passwd.

Утилита passwd может использоваться и обычным пользователем для смены пароля.

Основные ключи passwd:

  • Удалить пароль пользователю. После этого пароль будет пустым, и пользователь сможет входить в систему без предъявления пароля.
  • Сделать пароль устаревшим. Это заставит пользователя изменить пароль при следующем входе в систему.
  • Заблокировать учетную запись пользователя по прошествии указанного количества дней после устаревания пароля.
  • Минимальное количество дней между сменами пароля.
  • Максимальное количество дней, после которого необходимо обязательно сменить пароль.
  • Заблокировать учетную запись пользователя.
  • Разблокировать учетную запись пользователя.

Установка пустого пароля пользователя

Супер пользователь с помощью утилит командной строки passwd и usermod или путем редактирования файла /etc/shadow может удалить пароль пользователь, дав возможность входить в систему без указания пароля.

или

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

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

Для того, чтобы удалить пользователя воспользуйтесь утилитой userdel.

Пример использования:

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

База данных пользователей

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

account:password:UID:GID:GECOS:directory:shell

По порядку:

— имя пользователя. Это поле не может быть пустым. Применяются стандартные для *NIX правила именования.

— пароль пользователя

Важно: Файл доступен на чтение для всех пользователей в системе, поэтому хранить в нём пароли (в виде хэш-сумм или как-то иначе) небезопасно. Вместо этого в Arch Linux используются : поле содержит всего лишь символ , а хэшированный пароль хранится в файле , доступ к которому ограничен

По этой причине менять пароли лучше командой passwd.

— численное значение идентификатора пользователя. В Arch Linux нумерация обычных пользователей (отличных от root) начинается с UID 1000.

— численное значение идентификатора основной группы пользователя. Идентификаторы групп можно найти в файле .

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

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

— командная оболочка пользователя. Это поле является необязательным, и если в нём ничего не указано, то используется оболочка .

Пример:

jack:x:1001:1003:Jack Smith,some comment here,,:/home/jack:/bin/bash

Смысл строки следующий: пользователь , пароль хранится в , идентификатор пользователя — 1001, идентификатор его основной группы 1003. Полное имя — Jack Smith, также имеется некоторый комментарий. Домашний каталог , используемая командная оболочка — Bash.

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

# pwck -s

Важно: Arch Linux при обновлении пакетов создаёт резервные файлы с суффиксом .pacnew. За исключением случая, когда pacman выводит сообщение с требованием что-то предпринять, при появлении файла базы данных с таким суффиксом его необходимо удалить

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

Файлы конфигурации

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

/etc/passwd

В файле /etc/passwd хранится вся информация о пользователях кроме пароля. Одна строка из этого файла соответствует описанию одного пользователя. Примерное содержание строки таково:

vasyapupkin:x:1000:1000:Vasya Pupkin:/home/vpupkin:/bin/bash

Строка состоит из нескольких полей, каждое из которых отделено от другого двоеточием. Значение каждого поля приведено в таблице.

ПолеОписание
1vasyapupkinИмя пользователя для входа в систему.
2xНеобязательный зашифрованный пароль.
31000Числовой идентификатор пользователя (UID).
41000Числовой идентификатор группы (GID).
5Vasya PupkinПоле комментария
6/home/vpupkinДомашний каталог пользователя.
7/bin/bashОболочка пользователя.

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

/etc/group

В /etc/group, как очевидно из названия хранится информация о группах. Она записана в аналогичном /etc/passwd виде:

vasyapupkin:x:1000:vasyapupkin,petya
ПолеОписание
1vasyapupkinНазвание группы
2xНеобязательный зашифрованный пароль.
31000Числовой идентификатор группы (GID).
4vasyapupkin,petyaСписок пользователей, находящихся в группе.

В этом файле второе и четвертое поля могут быть пустыми.

/etc/shadow

Файл /etc/shadow хранит в себе пароли, по этому права, установленные на этот файл, не дают считать его простому пользователю. Пример одной из записей из этого файла:

vasyapupkin:$6$Yvp9VO2s$VfI0t.o754QB3HcvVbz5hlOafmO.LaHXwfavJHniHNzq/bCI3AEo562hhiWLoBSqxLy7RJJNm3fwz.sdhEhHL0:15803:0:99999:7:::

Здесь:

ПолеОписание
1vasyapupkinИмя пользователя для входа в систему.
2$6$Yvp9VO2s$VfI0t.o754QB3HcvVbz5hlOafmO.LaHXwfavJHniHNzq/bCI3AEo562hhiWLoBSqxLy7RJJNm3fwz.sdhEhHL0Необязательный зашифрованный пароль.
315803Дата последней смены пароля.
4Минимальный срок действия пароля.
599999Максимальный срок действия пароля.
67Период предупреждения о пароле.
7Период неактивности пароля.
9Дата истечения срока действия учётной записи.
Поделитесь в социальных сетях:FacebookXВКонтакте
Напишите комментарий