Добавляем нового пользователя в Ubuntu
Вы можете создать нового юзера одним из двух способов, причем каждый метод имеет свои определенные настройки и будет полезен в разных ситуациях. Давайте подробно разберем каждый вариант осуществления поставленной задачи, а вы, исходя из своих потребностей, выберите наиболее оптимальный.
Способ 1: Терминал
Незаменимое приложение в любой операционной системе на ядре Linux — «Терминал». Благодаря этой консоли производится множество самых разнообразных операций, в том числе и добавление пользователей. Задействована при этом будет всего лишь одна встроенная утилита, но с разными аргументами, о которых мы расскажем ниже.
- Откройте меню и запустите «Терминал», либо же вы можете зажать комбинацию клавиш Ctrl + Alt + T.
Пропишите команду , чтобы узнать стандартные параметры, которые будут применены к новому пользователю. Здесь вы увидите домашнюю папку, библиотеки и привилегии.
Создать учетную запись со стандартными настройками поможет простая команда , где name — любое имя пользователя, введенное латинскими символами.
Такое действие будет произведено только после ввода пароля для доступа.
На этом процедура создания учетной записи со стандартными параметрами успешно завершена, после активации команды отобразится новое поле. Здесь вы можете ввести аргумент -p, указав пароль, а также аргумент -s, задав используемую оболочку. Пример такой команды выглядит так: , где passsword — любой удобный пароль, /bin/bash — расположение оболочки, а user — имя нового пользователя. Таким образом создается юзер с применением определенных аргументов.
Отдельно хотелось бы обратить внимание и на аргумент -G. Он позволяет внести учетную запись в соответствующую группу для работы с определенными данными
Из основных групп выделяются такие:
- adm — разрешение на прочтение логов из папки /var/log;
- cdrom — позволяется использовать привод;
- wheel — возможность использовать команду sudo для предоставления доступа к определенным задачам;
- plugdev — разрешение на монтирование внешних накопителей;
- video, audio — доступ к аудио и видеодрайверам.
На скриншоте выше вы видите, в каком именно формате вводятся группы при использовании команды useradd с аргументом -G.
Теперь вы ознакомлены с процедурой добавления новых учетных записей через консоль в ОС Ubuntu, однако мы рассмотрели не все аргументы, а лишь несколько основных. Другие популярные команды имеют следующие обозначения:
- -b — использование базовой директории для размещения файлов юзера, обычно это папка /home;
- -c — добавление комментария к записи;
- -e — время, через которое созданный юзер будет заблокирован. Заполнять следует в формате ГГГГ-ММ-ДД;
- -f — блокировка юзера сразу после добавления.
С примерами присвоения аргументов вы уже были ознакомлены выше, оформлять все следует так, как указано на скриншотах, используя пробел после введения каждой фразы. Стоит также отметить, что каждая учетная запись доступна для дальнейшего изменения через все ту же консоль. Для этого задействуйте команду , вставив между usermod и user (имя пользователя) необходимые аргументы со значениями. Не относится это только к изменению пароля, он заменяется через , где 12345 — новый пароль.
Способ 2: Меню «Параметры»
Далеко не всем удобно задействовать «Терминал» и разбираться во всех этих аргументах, командах, к тому же, это не всегда и требуется. Поэтому мы решили показать и более простой, однако менее гибкий метод добавления нового юзера через графический интерфейс.
- Откройте меню и через поиск отыщите «Параметры».
На панели снизу нажмите на «Сведения о системе».
Перейдите в категорию «Пользователи».
Для дальнейшего редактирования потребуется разблокировка, поэтому кликните на соответствующую кнопку.
Укажите свой пароль и щелкните на «Подтвердить».
Теперь активируется кнопка «Добавить пользователя».
Первоочередно заполните основную форму, указав тип записи, полное имя, название домашней папки и пароль.
Далее отобразится «Добавить», куда и следует нажать левой кнопкой мыши.
Перед выходом обязательно сверьте всю введенную информацию. После запуска операционной системы юзер сможет войти в нее под своим паролем, если он был установлен.
Приведенные выше два варианта работы с учетными записями помогут правильно настроить группы в операционной системе и выставить каждому юзеру свои привилегии. Что касается удаления ненужной записи, производится она через то же меню «Параметры» либо командой .
Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.
Получите список всех пользователей с помощью файла /etc/passwd
Информация о локальном пользователе хранится в . Каждая строка в этом файле представляет информацию для входа в систему для одного пользователя. Чтобы открыть файл, вы можете использовать или :
Каждая строка в файле содержит семь полей, разделенных двоеточиями, которые содержат следующую информацию:
- Имя пользователя.
- Зашифрованный пароль ( означает, что пароль хранится в ).
- Идентификационный номер пользователя (UID).
- Идентификационный номер группы пользователя (GID).
- Полное имя пользователя (GECOS).
- Домашний каталог пользователя.
- Оболочка входа (по умолчанию ).
Если вы хотите отображать только имя пользователя, вы можете использовать команды или для печати только первого поля, содержащего имя пользователя:
Информация пользователей
В системе присутствует следующая информация о каждом пользователе:
- Имя пользователя (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 — каталог с дефолтными файлами, которые копируются в домашний каталог каждого пользователя при его создании.
Создание
Синтаксис:
useradd <имя пользователя>
* опции не являются обязательными при создании пользователя.
Пример:
useradd dmosk
* в данном примере создается учетная запись dmosk.
Для учетной записи стоит сразу создать пароль:
passwd dmosk
* после ввода, система попросит ввести пароль дважды.
Ключи (опции)
Ключ | Описание и примеры |
---|---|
-b | Задает базовый каталог для домашнего каталогаuseradd dmosk -b /var/home |
-c | Создает комментарий для описания учетной записиuseradd dmosk -c «Пользователя для управления системой» |
-d | Полный путь к домашнему каталогу пользователяuseradd dmosk -d /home/newuser |
-D | Позволяет показать или изменить настройки по умолчанию, которые будут применяться при последующем создании пользователейuseradd dmosk -Ds /bin/bash |
-e | Дата, после которой учетная запись устареет.useradd dmosk -e 2017-12-31 |
-f | Число дней, после которого учетная запись с устаревшим паролем будет заблокированаuseradd dmosk -f 0 |
-g | Задает основную группуuseradd dmosk -g altternativegroup |
-G | Задает дополнительные группыuseradd dmosk -G wheel |
-k | Путь к источнику скелета (файлы с шаблонами для нового пользователя)useradd dmosk -k /var/skel |
-m | При создании пользователя создать домашний каталогuseradd dmosk -m |
-M | Не создавать домашний каталогuseradd dmosk -M |
-N | Не создавать основную группу с таким же именем, как у пользователяuseradd dmosk -N |
-o | Разрешает создание учетной записи с повторяющимся UIDuseradd dmosk -u 15 -o |
-p | Задает парольuseradd dmosk -p pass |
-r | Системная учетная запись (без домашнего каталога и с идентификаторами в диапазоне SYS_UID_MIN — SYS_UID_MAX из файла /etc/login.defs)useradd dmosk -r |
-R | Каталог, в который выполняется chrootuseradd dmosk -R /var/chroot/home |
-s | Путь до оболочки командной строкиuseradd dmosk -s /bin/csh |
-u | Задает UIDuseradd dmosk -u 666 |
-U | Имя группы будет таким же, как у пользователяuseradd dmosk -U |
Актуальный список ключей можно получить командой useradd -h.
Список всех групп
Для просмотра всех групп, присутствующих в системе, просто откройте файл. Каждая строка в этом файле представляет информацию для одной группы.
Другой вариант — использовать команду, которая отображает записи из баз данных, настроенных в файле, включая базу данных, которую мы можем использовать для запроса списка всех групп.
Чтобы получить список всех групп, введите следующую команду:
Вывод такой же, как при отображении содержимого файла. Если вы используете LDAP для аутентификации пользователя, отобразятся все группы из файловой базы данных и базы данных LDAP.
Вы также можете использовать или для печати только первое поле, содержащее название группы:
Управление пользователями
Просмотр
Вся информация о пользователях хранится в файле .
Каждый аккаунт занимает одну строку, в формате
- — имя пользователя.
- — зашифрованный пароль пользователя.
- — идентификационный номер пользователя.
- — идентификационный номер основной группы пользователя.
- — необязательное поле, используемое для указания дополнительной информации о пользователе (например, полное имя пользователя).
- — домашний каталог ($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.
Пример использования:
- Принудительно удалить пользователя, даже если он сейчас работает в системе.
- Удалить домашний каталог пользователя.
Общая информация о правах доступа
Всего предусмотрено три варианта прав:
- чтение, обозначаемое буквой ,
- запись, используется (w),
- запуск файла (x).
Но это касается только файлов. Если речь идет о каталогах, то под правом доступа подразумевается, что пользователь сможет его открыть и просмотреть содержимое.
Администратор сервера может разделять пользователей по группам и давать каждой из них (либо же индивидуально каждому по имени) отдельные права доступа. При этом нужно понимать, что root админа не касаются эти права, он имеет неограниченный доступ на просмотр и изменение файлов.
Узнать Linux права пользователя на папку очень просто. Для этого используется команда:
ls -l имя каталога
Наглядно её использование можно увидеть на следующем примере:
ls -l certs.xml
После введения такой команды вы получите в ответ:
-r-r-- 1 denis 2115693 Jun 11 12:11 certs.xml
Расшифровывается написанное так:
- — (1 символ) — символьное обозначение файла, если каталог, то буква d;
- r-(максимально 3 символа) — отображают непосредственно права доступа, то есть — чтение, запись и запуск на выполнение, в данном примере пользователь может лишь читать файл, внесение изменений и запуск запрещены;
- r- (максимум 3 символа) — аналогично предыдущему, но показывают права уже группы владельцев, куда входит данный пользователь, соответственно, они могут читать файл, но не могут его отправлять на выполнение или изменять;
- — (еще 3 символа) — показывают права доступа для других пользователей, то есть данный файл никто кроме администратора не сможет даже прочитать, при попытке зайти в него будет выведено на экран сообщение Access denied.
В операционной системе Linux права пользователя на папку можно задать при помощи команды chmod. Это можно сделать одним из двух способов — символьным или абсолютным. В первом случае задаются символы, которые обозначают для пользователя возможности работы с файлами — r, w, x (чтение, редактирование и запись). Но в UNIX намного практичнее использовать абсолютный метод. В чем он заключается можно детально разобраться на примере:
rw-r--
Этот набор символов означает, что пользователь может лишь читать и изменять файл (r и w). При этом члены его группы могут лишь открывать его для просмотра, а посторонние и вовсе не имеют к данным доступа.
Теперь давайте возьмем лишь права только владельца файла: rw-. Ему разрешено чтение, держим в памяти 1, а также редактирование, запоминаем ещё 1. Поскольку запуск запрещен, то добавляем 0 и получаем в итоге цифру 110. Если её перевести из двоичной системы в восьмеричную, то выйдет 6. Для перевода других чисел вы всегда сможете воспользоваться приведенной ниже таблицей.
Таблица 1. Преобразование из двоичной в восьмеричную систему
Двоичная система | Восьмеричная система | Двоичная система | Восьмеричная система |
000 | 100 | 4 | |
001 | 1 | 101 | 5 |
010 | 2 | 110 | 6 |
011 | 3 | 111 | 7 |
Если по подобию разобрать на числа права группы владельца, то выйдет 100. При его переводе в восьмеричную систему останется 4. У посторонних набор и вовсе прост — 000. При переводе останется просто 0. Итак, общие права доступа для данного файла — 640 и чтобы их установить, требуется лишь внести команду следующего формата:
chmod 640 имя_файла
Чаще всего в практике применяются следующие варианты чисел для команды:
- 644 — владелец читает и редактирует файл, в то время как другие лишь могут просмотреть содержимое;
- 666 — доступ для чтения и перезаписи для всех;
- 777 — полный допуск, включая запуск для выполнения, имеющийся у любого пользователя.
Если облака для вас
не просто теория
Широкий спектр услуг
по выделенным северам
и мультиклауд-решениям
Конфигурация VPS и бесплатный тест уже через 2 минуты
Сконфигурировать VPS
Организация вашей IT-инфраструктуры на основе мультиклауд-решения
Запросить КП
Символьный метод оптимальнее только в одном случае, если необходимо быстро сделать файл скрипта (script) исполнимым. Например, для этого потребуется лишь прописать команду:
chmod +x script
А если нужно запретить выполнение, то просто укажите -х, это будет выглядеть так:
chmod -x script
Получить все необходимые детали относительно применения символьного метода можно, вызвав инструкцию с помощью команды
man chmod.
Список групп
В этом разделе объясняется назначение важнейших групп из пакета . Существует множество других групп, которые создаются при установке пакетов с присвоением корректного GID. Подробности вы найдёте на страницах руководств соответствующих программ.
Примечание: Удаление пакета не приводит к удалению автоматически созданных пользователей и групп. Это сделано намеренно, потому что в противном случае созданные в процессе работы программы файлы могут остаться без владельца, что потенциально представляет угрозу безопасности.
Пользовательские группы
Часто возникает необходимость добавить обычного (не root) пользователя в одну из групп, обеспечивающих доступ к периферийным устройствам или упрощающих системное администрирование:
Группа | Файлы | Назначение |
---|---|---|
adm | Группа администрирования, обычно используется для чтения файлов защищённых логов. Позволяет читать файлы журнала. | |
ftp | Доступ к файлам . | |
games | Доступ к некоторым игровым программам. | |
http | Доступ к файлам . | |
log | Доступ к файлам логов в каталоге , созданным syslog-ng. | |
rfkill | Управление питанием беспроводных устройств (используется ). | |
sys | Администрирование принтеров с помощью CUPS. | |
systemd-journal | ||
uucp | , , , , | Последовательные порты RS-232 и подключенные к ним устройства. |
wheel | Группа администрирования, даёт необходимые права. Имеет доступ к файлам журнала и принтерам в CUPS. Также позволяет работать с утилитами sudo и su (по умолчанию их не использует). |
Системные группы
Следующие группы имеют значение для всей системы, и добавление в них пользователям производится только в указанных целях:
Группа | Файлы | Назначение |
---|---|---|
dbus | Используется в | |
kmem | , , | |
locate | , , , | См. locate. |
lp | , | Доступ к устройствам параллельного порта (принтеры и прочие). |
nobody | Непривилегированная группа. | |
proc | ||
root | Полный доступ к администрированис и управлению системой (root, admin). | |
smmsp | Группа sendmail. | |
tty | , , , | |
utmp | , , |
Группы, существовавшие до перехода на systemd
Есть несколько важных исключений, которые требуют добавления пользователей в группы ниже — например, если вы хотите разрешить неавторизованным пользователям доступ к устройствам. Тем не мнее, имейте в виду, что это может стать причиной определённых проблем (например, группа мешает быстрому переключению между пользователями, а также даёт приложениям возможность блокировать програмное микширование).
Группы | Файлы | Назначение |
---|---|---|
audio | , , | Прямой доступ к звуковому оборудованию для всех сеансов. По-прежнему требуется, чтобы ALSA и OSS работали в удаленных сеансах, см. . Также используется в JACK для выдачи пользователям разрешений на работу в режиме реального времени. |
disk | Доступ к блочным устройствам, не затронутым другими группами вроде , и . | |
floppy | Доступ к флоппи-дискам. | |
input | , | |
kvm | Доступ к виртуальным машинам с использованием KVM. | |
optical | , | Доступ к оптическим устройствам, таким как CD- и DVD-приводы. |
scanner | Доступ к оборудованию сканера. | |
storage | , | |
video | , | Доступ к устройствам захвата видео, аппаратное ускорение 2D/3D, framebuffer (X можно использовать без поддержки этой группы). |
Неиспользуемые группы
Следующие группы в настоящий момент никак не используются.
Группа | Файлы | Назначение |
---|---|---|
bin | Историческое наследие. | |
daemon | ||
lock | Использовалась для lockfile-доступа. Требовалась для AUR. | |
mem | ||
network | Не использовалась по умолчанию. Могла использоваться в NetworkManager (см. ). | |
power | ||
uuidd | ||
users | Основная группа для пользователей; использовалась, если приватные группы не были предусмотрены. Например, при создании с опцией в файле , или командой useradd с флагом / пользователь помещался именно в эту группу. |
Проверить, существует ли пользователь в системе Linux
Теперь, когда мы знаем, как составить список всех пользователей, чтобы проверить, существует ли пользователь в нашем Linux-сервере, мы можем просто отфильтровать список пользователей, передав его по конвейеру команде .
Например, чтобы узнать, существует ли в нашей системе Linux пользователь с именем мы можем использовать следующую команду:
Если пользователь существует, приведенная выше команда распечатает информацию для входа в систему. Нет вывода, что означает, что пользователь не существует.
Мы также можем проверить, существует ли пользователь, не используя команду как показано ниже:
Как и раньше, если пользователь существует, команда отобразит информацию для входа в систему.
Если вы хотите узнать, сколько учетных записей пользователей у вас в системе, вывод команде :
Как видно из вышеприведенного вывода, в моей системе Linux 33 учетных записи пользователей.
Какие группы используются в Linux
Группа в Linux — это как раз то, на что это похоже: группа пользователей. Они используются для управления разрешениями для нескольких пользователей вместо их изменения для каждого пользователя. Стоит разбираться в группах, так как эта концепция используется в Unix-подобных операционных системах в целом, а не только в Linux.
Пользователь должен принадлежать хотя бы к одной группе. Это основная группа пользователя. Пользователь может и обычно принадлежит к другим группам, известным как вторичные группы. Часто существует ограничение на количество вторичных групп, к которым может принадлежать пользователь, но это не то, с чем вы часто сталкиваетесь.
Как посмотреть список пользователей в терминале
Сперва рассмотрим как посмотреть пользователей ubuntu в терминале Linux, так как это наиболее универсальный способ, который работает почти во всех дистрибутивах. В операционной системе Linux есть специальный файл в котором хранится информация обо всех пользователях. Это /etc/passwd. Записи в файле имеют следующий синтаксис:
имя_пользователя пароль ид ид_группы группа домашний_каталог оболочка
Надо заметить, что вместо пароля теперь записывается буква X это было сделано для безопасности. Все пароли пользователей хранятся теперь в другом файле. Остается только набрать команду и вы узнаете список пользователей linux:
Пользователи с ID меньше 1000 — системные, они были созданы во время установки некоторых сервисов для более безопасной их работы. Этих пользователей трогать не следует. В этом примере в системе вручную зарегистрирован только один пользователь — Sergiy.
В файле /etc/passwd слишком много лишних данных, если вам нужны только имена пользователей, можно отфильтровать вывод:
sed ‘s/:.*//’ /etc/passwd
Так вы можете посмотреть всех пользователей Ubuntu. С зарегистрированными пользователями разобрались. Но намного интереснее посмотреть какие пользователи сейчас активны в системе, и какие команды они выполняют. Для этого есть утилита w:
Здесь выводятся все выполняемые пользователями команды. Если пользователь сейчас выполняет в терминале несколько команд, то будет отображено два пункта для одного пользователя.
Кроме того, вы можете посмотреть историю входов пользователей в систему. Для этого есть команда last, она выводит информацию на основе лога /var/wtmp:
Дату последнего входа для каждого пользователя вы можете посмотреть с помощью команды lastlog:
Если пользователь никогда не входил, команда так и скажет, в противном случае мы увидим дату последнего входа.
Пользователи и группы
Linux в целом и Ubuntu в частности — системы многопользовательские, т.е. на одном компьютере может быть несколько различных пользователей, каждый со своими собственными настройками, данными и правами доступа к различным системным функциям.
Кроме пользователей в Linux для разграничения прав существуют группы. Каждая группа так же как и отдельный пользователь обладает неким набором прав доступа к различным компонентам системы и каждый пользователь-член этой группы автоматически получает все права группы. То есть группы нужны для группировки пользователей по принципу одинаковых полномочий на какие-либо действия, вот такая тавтология. Каждый пользователь может состоять в неограниченном количестве групп и в каждой группе может быть сколько угодно пользователей.
Например, в Ubuntu есть одна очень полезная группа: . Любой член этой группы получает неограниченные административные привилегии. Я уже рассказывал про роль администратора в Ubuntu, так что если вы уже успели забыть кто это, можете освежить свои знания. Создаваемый при установке Ubuntu пользователь автоматически становится членом группы .
Управлять пользователями и группами можно с помощью специального инструмента, находящегося в меню Система→Администрирование→Пользователи и группы.
Вообще основной областью применения механизма пользователей и групп является не совсем разграничение доступа к различным функциям системы, а скорей разграничение доступа к файлам на винчестере. Вот об этом я и постараюсь рассказать дальше.
Как вывести в Linux список пользователей
Каким же образом решить задачу вывода существующих учетных записей? В системе Linux список пользователей выводится командой (допускается использовать различные параметры):
Почему это работает? Дело в том, что все необходимые данные содержит файл /etc/passwd. К нему непосредственно и обращается интересующийся учетными записями человек. После задания команды выводится перечень аккаунтов Linux. Список пользователей в системе может быть довольно обширным. Данные об имеющихся аккаунтах выводятся построчно.
Как это может выглядеть на экране? Каждая строка будет являть собой примерно следующее:
account (пользовательское имя):password (пароль, хранящийся в зашифрованном виде):UID (уникальный ID):GID (ID главной группы юзера):GECOS (дополнительные сведения):directory (пользовательский каталог):shell (используемый интерпретатор команд).
Управление группами юзера в Linux
Управлять группами можно и с помощью графического интерфейса. В KDE есть программа Kuser умышленно предназначенная для этого, в Gnome это выполняется с помощью настроек системы. Кроме того, в известных дистрибутивах есть отдельные инструменты, такие как YaST в OpenSUSE или Настройки Ubuntu. Но с графичным интерфейсом я думаю вы разберетесь. А мы рассмотрим управление группами linux через терминал. Для начала разберемся с файлами, а уже потом с пользователями.
При создании файла ему назначается основная группа юзера который его создал. Это просто например:
Здесь вы можете видеть, что владелец всех папок sergiy и группа также sergiy. Правильно, так как эти пользователи были созданы мной. Но давайте пойдем дальше:
Файлы конфигурации
Изменять параметры пользователей и групп можно не только при помощи специальных утилит, но и вручную. Все настройки хранятся в текстовых файлах. Описание каждого из них приведено ниже.
/etc/passwd
В файле /etc/passwd хранится вся информация о пользователях кроме пароля. Одна строка из этого файла соответствует описанию одного пользователя. Примерное содержание строки таково:
vasyapupkin:x:1000:1000:Vasya Pupkin:/home/vpupkin:/bin/bash
Строка состоит из нескольких полей, каждое из которых отделено от другого двоеточием. Значение каждого поля приведено в таблице.
№ | Поле | Описание |
---|---|---|
1 | vasyapupkin | Имя пользователя для входа в систему. |
2 | x | Необязательный зашифрованный пароль. |
3 | 1000 | Числовой идентификатор пользователя (UID). |
4 | 1000 | Числовой идентификатор группы (GID). |
5 | Vasya Pupkin | Поле комментария |
6 | /home/vpupkin | Домашний каталог пользователя. |
7 | /bin/bash | Оболочка пользователя. |
Второе и последнее поля необязательные и могут не иметь значения.
/etc/group
В /etc/group, как очевидно из названия хранится информация о группах. Она записана в аналогичном /etc/passwd виде:
vasyapupkin:x:1000:vasyapupkin,petya
№ | Поле | Описание |
---|---|---|
1 | vasyapupkin | Название группы |
2 | x | Необязательный зашифрованный пароль. |
3 | 1000 | Числовой идентификатор группы (GID). |
4 | vasyapupkin,petya | Список пользователей, находящихся в группе. |
В этом файле второе и четвертое поля могут быть пустыми.
/etc/shadow
Файл /etc/shadow хранит в себе пароли, по этому права, установленные на этот файл, не дают считать его простому пользователю. Пример одной из записей из этого файла:
vasyapupkin:$6$Yvp9VO2s$VfI0t.o754QB3HcvVbz5hlOafmO.LaHXwfavJHniHNzq/bCI3AEo562hhiWLoBSqxLy7RJJNm3fwz.sdhEhHL0:15803:0:99999:7:::
Здесь:
№ | Поле | Описание |
---|---|---|
1 | vasyapupkin | Имя пользователя для входа в систему. |
2 | $6$Yvp9VO2s$VfI0t.o754QB3HcvVbz5hlOafmO.LaHXwfavJHniHNzq/bCI3AEo562hhiWLoBSqxLy7RJJNm3fwz.sdhEhHL0 | Необязательный зашифрованный пароль. |
3 | 15803 | Дата последней смены пароля. |
4 | Минимальный срок действия пароля. | |
5 | 99999 | Максимальный срок действия пароля. |
6 | 7 | Период предупреждения о пароле. |
7 | Период неактивности пароля. | |
9 | Дата истечения срока действия учётной записи. |