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

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

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

1
задан 2 July 2014 в 23:10

7 ответов

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

cat /etc/passwd

ИЛИ

less /etc/passwd
more /etc/passwd

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

awk -F':' '{ print $1}' /etc/passwd
69
ответ дан 24 May 2018 в 12:35
  • 1
    как добавить пользователей по команде? – nux 25 January 2014 в 01:31
  • 2
    Вы можете использовать команду useradd . – Mitch♦ 25 January 2014 в 01:32
  • 3
    @nux Немного поздно для вечеринки, но из командной строки используйте adduser вместо этого, useradd следует ограничить сценариями, где автор действительно действительно знает, что он делает. – flindeberg 24 July 2016 в 17:39

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

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

getent passwd

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

sudo adduser newuser

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

Бонус: для добавления любого пользователя (например, newuser ) в группу (например, cdrom) type

sudo adduser anyuser cdrom

Вы удаляете пользователя (например, [d9 ] cdrom ) с

sudo deluser obsolete

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

sudo deluser --remove-home obsolete

И

sudo deluser --remove-all-files obsolete

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

48
ответ дан 24 May 2018 в 12:35
  • 1
    Полезно помнить, что getent не просто печатает выходные данные в файле / etc / passwd, а все пользователи во всех настроенных бэкэндах userdb в данной системе, будь то / etc / passwd или LDAP и т. Д. – Marcin Kaminski 25 September 2014 в 21:34

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

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

Это работает:

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

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

Идентификатор пользователя (UID) - это уникальное положительное целое число, назначенное Unix-подобной операционной системой для каждого пользователя. Каждый пользователь идентифицируется системой по его UID, а имена пользователей обычно используются только как интерфейс для людей. UID хранятся вместе с их соответствующими именами пользователей и другой пользовательской информацией в файле / etc / passwd ... Третье поле содержит UID, а четвертое поле содержит идентификатор группы (GID), который по умолчанию равен равный UID для всех обычных пользователей. В ядрах Linux 2.4 и выше UID представляют собой неподписанные 32-битные целые числа, которые могут представлять значения от нуля до 4 294 967 296. Однако для поддержания совместимости с системами с использованием старых ядер или файловых систем, которые могут вмещать только 16-битные UID, рекомендуется использовать значения до 65534. Особую роль играет UID 0: это всегда учетная запись root (т. Е. Всемогущий административный пользователь). Хотя имя пользователя может быть изменено в этой учетной записи, а дополнительные учетные записи могут быть созданы с одинаковым UID, ни одно действие не является разумным с точки зрения безопасности. UID 65534 обычно зарезервирован для никого, пользователь без системных привилегий, в отличие от обычного (то есть, не привилегированного) пользователя. Этот UID часто используется для удаленного доступа пользователей к системе через FTP (протокол передачи файлов) или HTTP (протокол передачи гипертекста). UID с 1 по 99 традиционно зарезервированы для специальных пользователей системы (иногда называемых псевдопользователями), таких как колесо, демон, lp, оператор, новости, почта и т. Д. Эти пользователи - это администраторы, которым не нужны полные полномочия root, но которые выполняют некоторые административные задачи и, следовательно, нуждаются в большем количестве привилегий, чем обычные пользователи. Некоторые дистрибутивы Linux (т.е. версии) запускают UID для не-привилегированных пользователей на уровне 100. Другие, такие как Red Hat, начинают их на 500, а третьи, такие как Debian, начинают их на 1000. Из-за различий между дистрибутивами руководство вмешательство может потребоваться, если в сети в организации используются несколько распределений. Кроме того, может быть удобно зарезервировать блок UID для локальных пользователей, например от 1000 до 9999, и еще один блок для удаленных пользователей (т. Е. Пользователей в другом месте в сети), например от 10000 до 65534. Важно решить по схеме и придерживаться ее. Среди преимуществ этой практики резервирования блоков чисел для конкретных типов пользователей заключается в том, что это делает более удобным поиск в системных журналах для подозрительной активности пользователя. Вопреки распространенному мнению, нет необходимости, чтобы каждая запись в поле UID была уникальной. Однако неуникальные UID могут вызывать проблемы безопасности, и поэтому UID следует сохранять уникальными во всей организации. Аналогично, следует избегать повторного использования UID от бывших пользователей как можно дольше.
17
ответ дан 24 May 2018 в 12:35

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

compgen -u

Будет отображать всех пользователей.

15
ответ дан 24 May 2018 в 12:35

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

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

list новый пользователь [!d2 ]

sudo adduser new_username

или

sudo useradd new_username

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

sudo userdel username

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

sudo deluser --remove-home username

или

sudo rm -r /path/to/user_home_dir

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

sudo deluser --remove-all-files
12
ответ дан 24 May 2018 в 12:35
  • 1
    Возможно, вы должны объяснить разницу между adduser и useradd. Также добавьте параметр sudo -prefix в первую команду. Теневой файл пароля может быть прочитан только как root. – s3lph 26 September 2014 в 01:13

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

user (tab tab)

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

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

Надеюсь, что мне очень нравится, что вкладка заканчивается в bash, спасает меня от воспоминаний. [!d4 ]

7
ответ дан 24 May 2018 в 12:35

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

cd /home
ls 

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

3
ответ дан 24 May 2018 в 12:35
  • 1
    Это показывает только содержание /home. Хотя Ubuntu по умолчанию помещает каталоги пользователей по умолчанию, это никоим образом не является обязательным. – David Foerster 19 December 2014 в 04:57

Другие вопросы по тегам:

Похожие вопросы: