Мне нужна команда, чтобы вывести список всех пользователей в терминале. А как добавлять, удалять, изменять пользователей из терминала.
Это может помочь в администрировании ваших учетных записей легко с помощью терминала.
Мне нужна команда, чтобы вывести список всех пользователей в терминале. А как добавлять, удалять, изменять пользователей из терминала.
Это может помочь в администрировании ваших учетных записей легко с помощью терминала.
sed 's/:.*//' /etc/passwd
awk -F: '{ print $1 }' /etc/passwd
Ответы:
Составлять список
Для просмотра списка всех локальных пользователей вы можете использовать:
Чтобы просмотреть список всех пользователей, способных к аутентификации (каким-либо образом), включая нелокальных, см. Этот ответ .
Некоторые более полезные команды управления пользователями (также ограниченные локальными пользователями):
Добавить
Чтобы добавить нового пользователя, вы можете использовать:
или же:
Смотрите также: В чем разница между adduser и useradd?
Удалить / удалить
Чтобы удалить / удалить пользователя, сначала вы можете использовать:
Затем вы можете удалить домашний каталог для удаленной учетной записи пользователя:
Пожалуйста, используйте с осторожностью вышеуказанную команду!
Модифицировать
Чтобы изменить имя пользователя:
Чтобы изменить пароль для пользователя:
Чтобы изменить оболочку для пользователя:
Чтобы изменить данные для пользователя (например, настоящее имя):
Чтобы добавить пользователя в
sudo
группу:или же
И, конечно же , смотри также:
man adduser
,man useradd
,man userdel
... и так далее.источник
sudo chfn <username>
какие изменения пользовательские данные (например, настоящее имя). Я попытался добавить это как комментарий, но я получил ошибку, сообщающую, что у меня должна быть +50 репутация, чтобы сделать это.Просто нажмите Ctrl+ Alt+ Tна клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду (ы) ниже:
ИЛИ ЖЕ
Вы также можете использовать awk: awk
источник
adduser
вместо использования командной строкиuseradd
следует ограничиться сценариями, где автор действительно действительно знает, что он делает.Самый простой способ получить такую информацию
getent
- см. Man-страницу дляgetent
команды . Хотя эта команда выдает тот же вывод,cat /etc/passwd
который полезно запомнить, поскольку она выдаст вам списки нескольких элементов в ОС.Чтобы получить список всех пользователей, которых вы вводите (поскольку пользователи перечислены в
/etc/passwd
)Чтобы добавить пользователя newuser в систему, вы должны набрать
создать пользователя, к которому применены все настройки по умолчанию.
Бонус: для добавления любого пользователя (например, anyuser ) в группу (например, cdrom ) введите
Вы удаляете пользователя (например, устаревшего ) с
Если вы хотите удалить его домашнюю директорию / mails, вы набираете
А также
удалит пользователя и все файлы, принадлежащие этому пользователю, во всей системе.
источник
getent passwd
правильной командойВы также можете использовать
compgen
встроенную в GNU bash :Будут списки всех пользователей.
источник
В большинстве нормальных ситуаций это должны получить все обычные (не системные, не странные и т. Д.) Пользователи:
Это работает:
/etc/passwd
:
в качестве разделителяЭто связано с тем, что во многих системах Linux имена пользователей выше 1000 зарезервированы для непривилегированных (можно сказать, обычных) пользователей. Некоторая информация об этом здесь :
источник
getent
вместо чтения прямо из/etc/passwd
и поискаUID_MIN
/UID_MAX
вместо жесткого кодирования значений:getent passwd | awk -F: "{if (\$3 >= $(awk '/^UID_MIN/ {print $2}' /etc/login.defs) && \$3 <= $(awk '/^UID_MAX/ {print $2}' /etc/login.defs)) print \$1}"
список всех пользователей, которые могут войти (без системных пользователей, таких как: bin, deamon, mail, sys и т. д.)
добавить нового пользователя
или же
удалить / удалить имя пользователя
Если вы хотите удалить домашний каталог (по умолчанию каталог / home / username)
или же
Если вы хотите удалить все файлы из системы от этого пользователя (не только домашняя директория)
источник
adduser
иuseradd
. Также добавьтеsudo
-prefix к первой команде. Теневой файл пароля может быть прочитан только как root.awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow
показал мне всех пользователей, включая bin, daemon и т. д. и выдал это предупреждение: escape sequence\$' treated as plain
$ 'Я нашел это сообщение stackoverflow.com/a/25867768/847954 и добавил еще один обратный слеш, и он работал нормально:awk -F':' '$2 ~ "\\$" {print $1}' /etc/shadow
Хорошо, вот трюк, который поможет вам разобраться в этом. Терминал имеет автоматическое завершение, если вы наберете пользователя и дважды нажмете клавишу Tab, он перечислит все команды, которые существуют с пользователем в качестве первых 4 символов.
дает мне в качестве возможных опций useradd userdel usermod пользователи users-admin,
если вы хотите узнать больше о команде google it или набрать man man, useradd дает useradd - создать нового пользователя или обновить информацию о новом пользователе по умолчанию ... ...
Чтобы составить список пользователей, вы должны идти с тем, что сказал Митч.
Надеюсь, что это помогает мне любить завершение вкладок в bash, спасает меня от запоминания вещей.
источник
Чтобы узнать пользователей, у которых есть домашние каталоги в папке / home-на машине, выполните следующие команды
Затем вы можете увидеть пользователей, которые имеют разрешение на вход на сервер. Если мы хотим просмотреть файлы любых пользователей, вы должны быть пользователем root.
источник
/home
. Хотя Ubuntu по умолчанию помещает туда пользовательские каталоги, это никоим образом не является обязательным.ls /home
может также содержать пользовательские каталоги удаленных пользователей.