Просмотр процессов пользователя
Мы можем использовать команду ps для вывода списка процессов, запущенных этим пользователем. Параметр -u (пользователь) позволяет нам указать ps ограничить его вывод процессами, выполняемыми под владельцем этой учётной записи.
ps -u eric
Связанная статья: Как использовать команду ps для мониторинга процессов Linux
Мы можем увидеть те же процессы с дополнительной информацией, используя команду top. top также имеет опцию -U (пользователь), чтобы ограничить вывод процессами, принадлежащими одному пользователю
Обратите внимание, что на этот раз это заглавная буква «U».
top -U eric
Связанная статья: Как пользоваться командой top для наблюдения за процессами в Linux
Мы можем видеть использование памяти и ЦП каждой задачей и можем быстро найти что-либо с подозрительной активностью. Мы собираемся принудительно завершить все его процессы, поэтому безопаснее всего воспользоваться моментом, чтобы быстро просмотреть процессы, а также проверить и убедиться, что другие пользователи не будут испытывать неудобств, если вы завершите процессы учётной записи пользователя eric.
Не похоже, что он немного что делает, просто использует less для просмотра файла. Мы можем продолжить. Но прежде чем мы убьём его процессы, мы заблокируем учётную запись, заблокировав пароль.
Групповая политика автоматического удаления старых профилей
В Windows есть встроенная групповая политика для автоматического удаления старых профилей пользователей старше xx дней. Эта политика находится в разделе Конфигурация компьютера -> Административные шаблоны -> Система -> Профили пользователей (Computer Configuration -> Administrative Templates -> System -> User Profiles) и называется “Удалять при перезагрузке системы профили пользователей по истечении указанного числа дней” (Delete user profiles older than a specified number days on system restart). Вы можете включить этот параметр в локальном редакторе политик (gpedit.msc) или с помощью доменных политик из консоли GPMC.msc.
Включите политику и укажите через сколько дней профиль пользователя считается неактивным и “Служба профилей пользователей Windows” можно автоматически удалить такой профиль при следующей перезагрузке. Обычно тут стоит указать не менее 45-90 дней.
При использовании этой политики нужно быть уверенным, что при выключении/перезагрузки сервера нет проблем с системным временем (время не сбивается), иначе могут быть удалены профили активных пользователей.
Основные проблемы такого способа автоматической очистки профилей – ожидание перезагрузки сервера и неизбирательность (вы не можете запретить удаление определенных профилей, например, локальных учетных записей, администраторов и т.д.). Также эта политика может не работать, если некоторое стороннее ПО (чаще всего это антивирус) обращается к файлу NTUSER.DAT в профилях пользователей и обновляет дату последнего использования.
Конфигурация
Файл /etc/adduser.conf содержит значения по умолчанию для программ Добавить пользователя, Добавить группу, обманщик и delgroup. Каждая строка содержит одну пару значений в форме «вариант=значение«. Допускаются двойные или одинарные кавычки вокруг значения, а также пробелы вокруг знака равенства. Строки комментариев должны иметь знак решетки («#») в первом столбце.
Допустимые варианты конфигурации:
DSHELL
Оболочка входа, которая будет использоваться для всех новых пользователей. По умолчанию / bin / bash.
DHOME
Каталог, в котором должны быть созданы новые домашние каталоги. По умолчанию /Главная.
ДОМА
Если это установлено на да, домашние каталоги будут созданы как «/Главная// пользователь». По умолчанию нет.
ПИСЬМА
Если это установлено на да, то в созданные домашние каталоги будет вставлен дополнительный каталог, который является первой буквой имени пользователя. Например: / home / u / пользователь. По умолчанию нет.
СКЕЛ
Каталог, из которого следует скопировать скелетные файлы конфигурации пользователя. По умолчанию / etc / skel.
FIRST_SYSTEM_UID, LAST_SYSTEM_UID
укажите включающий диапазон UID, из которых системные UID могут быть динамически выделены. По умолчанию 100 — 999
Обратите внимание, что системное программное обеспечение, такое как пользователи, назначенные пакетом base-passwd, может предполагать, что UID менее 100 не распределены.
FIRST_UID, LAST_UID
укажите включающий диапазон UID, из которых UID обычного пользователя могут быть динамически выделены. По умолчанию 1000 — 29999.
FIRST_SYSTEM_GID, LAST_SYSTEM_GID
укажите включающий диапазон GID, из которых системные GID могут быть динамически выделены
По умолчанию 100 — 999.
FIRST_GID, LAST_GID
укажите включающий диапазон GID, из которых GID обычных групп могут быть динамически выделены. По умолчанию 1000 — 29999.
ГРУППЫ ПОЛЬЗОВАТЕЛЕЙ
Если это установлено на да, то каждому созданному пользователю будет предоставлена собственная группа для использования. Если это нет, то каждый созданный пользователь будет помещен в группу, GID которой USERS_GID (см. ниже). По умолчанию да.
USERS_GID
Если ГРУППЫ ПОЛЬЗОВАТЕЛЕЙ является нет, тогда USERS_GID GID, предоставляемый всем вновь созданным пользователям. Значение по умолчанию — 100.
DIR_MODE
Если установлено допустимое значение (например, 0755 или же 755), созданные каталоги будут иметь указанные разрешения как umask. В противном случае, 0755 используется по умолчанию.
SETGID_HOME
Если это установлено на да, затем домашние каталоги для пользователей с их собственной группой ( USERGROUPS = да ) будет установлен бит setgid. Это была настройка по умолчанию для Добавить пользователя версии до 3.13. К сожалению, у него есть плохие побочные эффекты, поэтому мы больше не делаем этого по умолчанию. Тем не менее, если вы хотите, можете активировать его здесь.
ПОЛЬЗОВАТЕЛЬ
Если установлено непустое значение, квоты для новых пользователей будут скопированы у этого пользователя. По умолчанию пусто.
NAME_REGEX
Имена пользователей и групп проверяются по этому регулярному выражению. Если имя не соответствует этому регулярному выражению, создание пользователя и группы в adduser будет отклонено, если только —force-badname установлен. С участием —force-badname установлен, выполняются только слабые проверки. По умолчанию — самый консервативный ^ * $. когда —система указано, вместо него используется NAME_REGEX_SYSTEM.
NAME_REGEX_SYSTEM
Имена пользователей системы проверяются по этому регулярному выражению. Если —система предоставляется, и имя не соответствует этому регулярному выражению, создание пользователя в adduser будет отклонено, если —force-badname установлен. С участием —force-badname установлен, выполняются только слабые проверки. По умолчанию такое же, как и по умолчанию. NAME_REGEX но также допускается использование заглавных букв.
SKEL_IGNORE_REGEX
Файлы в / etc / skel / проверяются на соответствие этому регулярному выражению и не копируются во вновь созданный домашний каталог, если они совпадают. По умолчанию это установлено для файлов сопоставления регулярных выражений, оставшихся от неслитных файлов конфигурации (dpkg-(старый|новый|расстояние)).
ADD_EXTRA_GROUPS
Установка этого значения, отличного от (по умолчанию) заставит adduser добавлять вновь созданных несистемных пользователей в список групп, определенных EXTRA_GROUPS (ниже).
EXTRA_GROUPS
Это список групп, в которые будут добавлены новые несистемные пользователи. По умолчанию этот список — «dialout cdrom floppy audio video plugdev users games».
Получение списка всех пользователей с помощью команды getent
Команда getent отображает записи из баз данных, настроенных в файле /etc/nsswitch.conf, включая базу данных passwd, которую можно использовать для запроса списка всех пользователей.
Чтобы получить список всех пользователей Linux, введите следующую команду:
getent passwd
Как видите, вывод такой же, как и при отображении содержимого файла /etc/passwd. Если вы используете LDAP для аутентификации пользователей, getent будет отображать всех пользователей Linux как из файла /etc/passwd, так и из базы данных LDAP.
Вы также можете использовать awk или cut для печати только первого поля, содержащего имя пользователя:
getent passwd | awk -F: '{ print $1}' # ИЛИ getent passwd | cut -d: -f1
Аналогичный результат можно получить с помощью команды compgen:
compgen -u
Удаление пользователей
Для удаления пользователей в Linux существуют две команды userdel и deluser, команда userdel используется в RedHat — подобных системах, а deluser в Debian и производных системах. Помимо deluser в Debian можно использовать и userdel.
userdel
синтаксис команды: userdel options username
Для того чтобы удалить пользователя, выполняем команду userdel. Команда userdel не удаляет пользователя если он работает в системе, сначала необходимо завершить все связанные с ним процессы. Для просмотра дополнительных опций команды userdel, используется ключ -h.
userdel -h -f, --force force some actions that would fail otherwise e.g. removal of user still logged in or files, even if not owned by the user -h, --help показать данное сообщение и закончить работу -r, --remove удалить домашний каталог и почтовый ящик -R, --root КАТ_CHROOT каталог, в который выполняется chroot -Z, --selinux-user удалить все пользовательские сопоставления SELinux для пользователя
-f — позволяет удалить залогиненного т.е. работающего в системе пользователя. Рекомендуется использовать только в самых крайних случаях, данная опция может привести к краху системы.
deluser
синтаксис команды: deluser options username
Для просмотра справки используется команда deluser -h.
deluser -h deluser ПОЛЬЗОВАТЕЛЬ удаляет обычного учётную запись пользователя из системы пример: deluser mike --remove-home удалить домашний каталог пользователя и почтовый ящик --remove-all-files удалить все файлы принадлежащие пользователю --backup сделать резервные копии файлов перед удалением. --backup-to <КАТ> каталог для резервных копий файлов. По умолчанию используется текущий каталог. --system удалить только если учётная запись системная delgroup ГРУППА deluser --group ГРУППА удаляет группу из системы пример: deluser --group students --system удалить только если группа системная --only-if-empty удалить, только если в ней нет пользователей deluser ПОЛЬЗОВАТЕЛЬ ГРУППА удаляет пользователя из группы пример: deluser mike students общие параметры: --quiet | -q не выводить информацию при работе в stdout --help | -h показать справку об использовании --version | -v показать версию и авторские права --conf | -c ФАЙЛ использовать ФАЙЛ в качестве конфигурационного
Настройки команды находятся в файле /etc/deluser.conf, здесь задается поведение утилиты при удалении пользователя.
Значения 0 или 1, нет или да соответственно. REMOVE_HOME = 0 Удаляет домашний каталог и почтовый ящик пользователя. REMOVE_ALL_FILES = 0 Удаляет все файлы принадлежащие пользователю. Если этот параметр включен то REMOVE_HOME бесполезен. BACKUP = 0 Если REMOVE_HOME или REMOVE_ALL_FILES активированы, то перед удалением делается резервная копия всех файлов. Утилита создаст архив username.tar в каталоге указанном в BACKUP_TO. BACKUP_TO = "." Если BACKUP активирован, то здесь указывается каталог куда будет производиться резервное копирование. ONLY_IF_EMPTY = 0 Удалять группу только если в ней нет пользователей. EXCLUDE_FSTYPES = "(proc|sysfs|usbfs|devpts|tmpfs|afs)" Список регулярных выражений задающих файловые системы которые нужно исключить из поиска при удалении пользовательских файлов.
Удаление ненужных юзеров
Перед тем как удалить того или иного пользователя на компьютере Windows 10, рекомендуется создать точку восстановления системы
Подобные меры предосторожности позволят легко и быстро вернуть данные в случае возникновения непредвиденных ситуаций (например, если владелец ПК случайно удалит не только профиль, но и папку локального пользователя Windows 10, в которой содержится важная информация). Для создания recovery point достаточно вбить в поисковике Виндовс ключ «Восстановление», перейти к «Настройке…» и нажать на кнопочку «Создать…»
Далее – следовать подсказкам «Мастера восстановления».
После создания recovery point можно приступить к удалению второго пользователя в Windows 10. Для этого необходимо выполнить следующие манипуляции:
При желании можно удалить или изменить имя пользователя в Windows 10. Для этого необходимо зажать сочетание Win + R, ввести ключ «netplwiz» без кавычек, затем тапнуть на кнопку «ОК», перейти в меню «Свойства» и изменить все необходимые сведения вручную, в т.ч. имя местного профайла, пользовательский нейм и описание. После внесения изменений останется лишь нажать на кнопочку «ОК» и осуществить рестарт компа.
Создание пользователя в терминале
Использование терминала для создания пользователя открывает как минимум на порядок больше возможностей. Чтобы не нагружать мало знакомого с Linux читателя избыточной информацией, мы намерено решили опустить тему синтаксиса приведенных ниже команд управления учетными записями, коснувшись только некоторых ее сторон, но посчитали нужным дать определение используемым в статье терминам.
- Команда — это зарезервированное слово, «приказ» системе выполнить то или иное действие.
- Ключ — под ключом мы имеем ввиду некий переключатель, используемый в команде и расширяющий ее возможности. Ключ может принимать значение, а может и не принимать.
- Аргумент или значение ключа — это некий логический набор данных, который обрабатывается командой.
Для создания пользователя в Linux используется команда useradd, если вы откроете ее справку командой useradd —help, где —help является ключом, то в терминале будет выведен полный набор поддерживаемых данной командой ключей.
Назначение домашнего каталога по умолчанию, блокировка учетной записи по истечении указанной даты, добавление пользователя в другие группы, создание пользователя без GUI и домашней папки, смена папки с конфигурационными файлами пользователя и назначение ему уникального ID и шелла — всё это и многое другое можно сделать с помощью терминала.
Добавляется новый пользователь в Ubuntu командой useradd имя-юзера. Перед выполнением команды мы запрашиваем разрешение у root, поэтому вначале ставим sudo. Если вы хотите в рамках сессии постоянно работать с правами суперпользователя, выполните sudo su -. Если увидите на скриншотах такую конструкцию, это значит мы переключились в режим root.
При выполнении команды useradd автоматически будет создана новая группа и домашняя папка юзера. В процессе система попросит придумать и ввести для нового пользователя пароль и указать дополнительные сведения, которые, в отличие от пароля, можно проигнорировать. Это будет самый обычный пользователь с домашней папкой в каталоге /home и командной строкой bash. Получить базовые сведения о пользователе можно командой id имя-юзера. Для примера мы только что создали нового пользователя ludos и вывели командой id ludos о нём сведения. В результате получили строку из трех частей.
- uid — это идентификатор пользователя.
- gid — идентификатор его группы (по умолчанию равен ID юзера).
- группы — перечень групп, в которые входит пользователь.
Используя ключи, можно создать нового пользователя с определённым набором прав и функций, например, очень часто приступающие к изучению 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 стал как-бы зеркалом рута.
Список пользователей
Посмотреть список пользователей можно в файле /etc/passwd:
cat /etc/passwd
Мы увидим что-то на подобие:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
…
Как правило, большая часть данных пользователей является системными — их UID меньше 1000 и больше 60000.
Более функциональная команда для отображения содержимого файла passwd — getent:
getent passwd
Можно найти пользователя по идентификатору:
getent passwd 1000
Получить список не системных пользователей:
getent passwd {1000..60000}
Получить только список логинов не системных учетных записей:
getent passwd {1000..60000} | awk -F: ‘{ print $1}’
Новые способы управления разрешениями в 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.
Пример использования:
- Принудительно удалить пользователя, даже если он сейчас работает в системе.
- Удалить домашний каталог пользователя.
Как добавить пользователя в Ubuntu
Создать новую учетную запись пользователя в Ubuntu можно двумя способами:
- Из командной строки.
- Через графический интерфейс.
Добавить нового пользователя из командной строки
В Ubuntu есть два инструмента командной строки, которые вы можете использовать для создания новой учетной записи: и .
— это низкоуровневая утилита для добавления пользователей, а также удобный интерактивный интерфейс, написанный на Perl.
Чтобы создать новую учетную запись пользователя с именем с помощью команды, которую вы должны выполнить:
Вам будет задан ряд вопросов. Пароль является обязательным, все остальные поля необязательны.
Наконец, подтвердите, что информация верна, введя .
Команда создаст домашний каталог нового пользователя и скопирует файлы из каталога в домашний каталог пользователя. В домашнем каталоге пользователь может писать, редактировать и удалять файлы и каталоги.
По умолчанию в Ubuntu членам группы sudo предоставляется доступ sudo.
Если вы хотите, чтобы у вновь созданного пользователя были права администратора, добавьте его в группу sudo :
Добавить нового пользователя через графический интерфейс
Если вам не нравится командная строка, вы можете добавить новую учетную запись пользователя через графический интерфейс.
-
На экране «Действия» найдите «пользователи» и нажмите «Добавить или удалить пользователей и изменить свой пароль».
-
В новом окне нажмите кнопку «Разблокировать» и введите свой пароль пользователя при появлении запроса.
После ввода пароля кнопка «Разблокировать» изменится на зеленую кнопку «Добавить пользователя».
-
Нажмите кнопку «Добавить пользователя», появится диалоговое окно «Добавить пользователя»:
-
Выберите, должен ли новый пользователь быть стандартным пользователем или администратором, и введите информацию. После этого нажмите кнопку «Добавить».
Основные правила управления доступом
Объекты (например, файлы и процессы) имеют владельцев. Владельцы обладают обширным (но необязательно неограниченным) контролем над своими объектами.
- Вы являетесь владельцами новых объектов, создаваемых вами.
- Пользователь root с особыми правами, известный как суперпользователь, может действовать как владелец любого объекта в системе.
- Только суперпользователь может выполнять административные операции особого значения.
Владельцем файла всегда является один человек, тогда как в группу владельцев могут входить несколько пользователей. По традиции информация о группах хранилась в файле .