Есть ли команда для перечисления всех пользователей? Также добавлять, удалять, изменять пользователей в терминале?

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

Чтобы перечислить

Чтобы перечислить все местный пользователи, которых вы можете использовать:

cut -d: -f1 /etc/passwd

Чтобы перечислить всех пользователей, способных к аутентификации (каким-либо образом), включая нелокальных, см. этот ответ.

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

Добавить

Чтобы добавить нового пользователя, вы можете использовать:

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

или:

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

Смотрите также: В чем разница между adduser и useradd?

Чтобы удалить/удалить

Чтобы удалить / удалить пользователя, сначала вы можете использовать:

sudo userdel имя пользователя

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

sudo rm -r /главная/имя пользователя

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

Чтобы изменить

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

usermod -l новое имя пользователя старое имя пользователя

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

sudo passwd имя пользователя

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

sudo chsh имя пользователя

Чтобы изменить данные пользователя (например, настоящее имя):

sudo chfn имя пользователя

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

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

или

usermod -aG sudo имя пользователя

И, конечно же, смотрите также: man adduser, man useradd, man userdel.....и так далее.

Просто нажмите Ctrl+Alt+T на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните приведенные ниже команды:

cat /etc/passwd

операционная

less /etc/passwdmore /etc/passwd

Вы также можете использовать awk:awk

awk -F':' '{ print $1}' /etc/passwd

Самый простой способ получить такого рода информацию - это getent - видишь справочная страница для getent команда Manpage icon. В то время как эта команда выдает тот же результат, что и cat /etc/passwd это полезно запомнить, потому что это даст вам списки нескольких элементов в операционной системе.

Чтобы получить список всех введенных вами пользователей (поскольку пользователи перечислены в /etc/passwd)

getent passwd

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

sudo adduser newuser

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

Бонус: Добавить любого пользователя (например любой пользователь) в группу (например компакт-диск) тип

sudo adduser anyuser cdrom

Вы удаляете пользователя (например устарелый) с

sudo deluser obsolete

Если вы также хотите удалить его домашний каталог / почту, вы вводите

sudo deluser --remove-home obsolete

И

sudo deluser --remove-all-files obsolete

удалит пользователя и все файлы, принадлежащие этому пользователю во всей системе.

Вы можете использовать compgen Встроенный GNU bash тоже:

compgen -u

Будет список всех пользователей.

Это должно получить, в большинстве обычных ситуаций, все нормальные (несистемные, не странные и т.д.) Пользователи:

awk -F'[/:]' '{if ($3 >= 1000 && $3 != 65534) print $1}' /etc/passwd

Это работает за счет:

  • считывание из /etc/passwd
  • с помощью : в качестве разделителя
  • если третье поле (идентификационный номер пользователя) больше 1000, а не 65534, печатается первое поле (имя пользователя пользователя).

Это связано с тем, что во многих системах Linux имена пользователей выше 1000 зарезервированы для непривилегированных (можно сказать, обычных) пользователей. Некоторая информация об этом здесь:

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

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

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

В ядрах Linux 2.4 и выше UID представляют собой 32-разрядные целые числа без знака, которые могут представлять значения от нуля до 4 294 967 296. Однако рекомендуется использовать значения только до 65 534, чтобы поддерживать совместимость с системами, использующими более старые ядра или файловые системы, которые могут поддерживать только 16-разрядные UID.

Идентификатор пользователя, равный 0, играет особую роль: это всегда учетная запись root (т.Е. всемогущий пользователь с правами администратора). Хотя в этой учетной записи можно изменить имя пользователя и создать дополнительные учетные записи с тем же идентификатором пользователя, ни то, ни другое действие не является разумным с точки зрения безопасности.

UID 65534 обычно зарезервирован для nobody, пользователя без системных привилегий, в отличие от обычного (т.е. непривилегированного) пользователя. Этот UID часто используется для пользователей, получающих удаленный доступ к системе через FTP (протокол передачи файлов) или HTTP (протокол передачи гипертекста).

Идентификаторы с 1 по 99 традиционно зарезервированы для специальных системных пользователей (иногда называемых псевдопользователями), таких как wheel, daemon, lp, operator, news, mail и т.д. Эти пользователи являются администраторами, которым не нужны полные права суперпользователя, но которые выполняют некоторые административные задачи и, следовательно, нуждаются в большем количестве привилегий, чем те, которые предоставляются обычным пользователям.

Некоторые дистрибутивы Linux (т.е. версии) начинают UID для непривилегированных пользователей с 100. Другие, такие как Red Hat, начинают их с 500, а третьи, такие как Debian, начинают их с 1000. Из-за различий между дистрибутивами может потребоваться ручное вмешательство, если в сети организации используется несколько дистрибутивов.

Кроме того, может быть удобно зарезервировать блок идентификаторов для локальных пользователей, например, с 1000 по 9999, и другой блок для удаленных пользователей (т.Е. пользователей в других местах сети), например, с 10000 по 65534. Главное - определиться со схемой и придерживаться ее.

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

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

список из всех пользователей, которые могут войти в систему (нет системных пользователей, таких как: bin, deamon, mail, sys и т.д.)

awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow

добавлять новый пользователь

sudo adduser new_username

или

sudo useradd new_username

удалить/удалить имя пользователя

sudo userdel username

Если вы хотите удалить домашний каталог (по умолчанию используется каталог /home/username)

sudo deluser --remove-home username

или

sudo rm -r /path/to/user_home_dir

Если вы хотите удалить все файлы из системы от этого пользователя (не только домашний каталог)

sudo deluser --remove-all-files

Хорошо, вот трюк, который поможет вам разобраться в этом. Терминал имеет автоматическое завершение, если вы введете user и дважды нажмете клавишу Tab, в нем будут перечислены все команды, которые существуют с пользователем в качестве первых 4 символов.

user (tab tab)

дает мне как возможные варианты useradd userdel usermod users пользователи-администратор
если вы хотите узнать больше о команде, погуглите ее или введите man man useraddgives useradd - создайте нового пользователя или обновите информацию о новом пользователе по умолчанию... ...

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

Надеюсь, это поможет мне полюбить завершение вкладок в bash, избавит меня от необходимости что-то запоминать.

Чтобы узнать пользователей, у которых есть домашние каталоги в папке /home на компьютере, выполните следующие команды

cd /homels 

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

Первый ответ рекомендует:

cut -d: -f1 /etc/passwd

Но используя это и подсчитывая количество пользователей, вы получаете:

$ cut -d: -f1 /etc/passwd | wc -l46

46 пользователей для портативного компьютера - это много!. Так что используйте это вместо этого:

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync)' | cut -d: -f1rootrickguest-atkb2qguest-u4sf2iguest-rmlbtgguest-mz53vp

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

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync|guest-)' | cut -d: -f1rootrick

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

systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/falsegnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/syncsync:x:4:65534:sync:/bin:/bin/syncguest-atkb2q:x:999:999:Guest:/tmp/guest-atkb2q:/bin/bash

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

sed ответит sed 's/:.*//' /etc/passwd

список пользователей: awk -F: '{ print $1 }' /etc/passwd