Мне нужна команда для вывода списка всех пользователей в терминале. А как добавлять, удалять, изменять пользователей из терминала.
Это может помочь в администрировании ваших учетных записей с помощью терминала.
Чтобы составить список всех локальных пользователей, вы можете использовать:
cut -d: -f1 /etc/passwd
Для перечисления всех пользователей, способных к аутентификации (каким-либо образом), включая нелокальных см. этот ответ: https://askubuntu.com/a/414561/571941
Некоторые более полезные команды управления пользователями (также ограничены локальными ] пользователей):
Чтобы добавить нового пользователя, вы можете использовать:
sudo adduser new_username
или:
sudo useradd new_username
См. Также: Что такое разница между adduser и useradd?
Чтобы удалить / удалить пользователя, сначала вы можете использовать:
sudo userdel username
Затем вы можете удалить домашний каталог для удаленного пользователя. account:
sudo rm -r /home/username
(пожалуйста, используйте с осторожностью указанную выше команду!) sup>
Чтобы изменить имя пользователя:
usermod -l new_username old_username
Чтобы изменить пароль для пользователя:
sudo passwd username
Чтобы изменить оболочку для пользователя:
sudo chsh username
Чтобы изменить данные для пользователя (например, настоящее имя):
sudo chfn username
И, конечно, см. Также: man adduser
, man useradd
, man userdel
... и т. Д.
Чтобы добавить пользователя в группу sudo
:
usermod -aG sudo username
Просто нажмите Ctrl kbd> + Alt kbd> + T kbd> на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду (ы) ниже:
cat /etc/passwd
ИЛИ
less /etc/passwd
more /etc/passwd
Вы также можете использовать awk: awk sup >
awk -F':' '{ print $1}' /etc/passwd
/var/log/wtmp
создается каждый новый месяц, и last
просто чтения это оттуда тогда, первый вход в систему в течение месяца состоит в том если last
дисплеи только 1 запись (или 2? не уверенный, потому что мой всегда отображает 2 каждых входа в систему). Подтвердите, понял ли я правильно
– krato
15 July 2015 в 15:56
Самый простой способ получить такую информацию - getent
- см. Справочную страницу для команды getent
. Хотя эта команда выдает тот же вывод, что и cat /etc/passwd
, ее полезно запомнить, поскольку она выдаст вам списки нескольких элементов в ОС.
Чтобы получить список всех пользователей, которых вы вводите (поскольку пользователи перечислены в /etc/passwd
)
getent passwd
Чтобы добавить пользователя newuser в систему, вы должны набрать
]sudo adduser newuser
для создания пользователя, к которому применены все настройки по умолчанию.
Бонус: для добавления любого пользователя (например, anyuser ) в группу (например, cdrom ) введите
sudo adduser anyuser cdrom
Вы удаляете пользователя (для экземпляр устарел ) с
sudo deluser obsolete
Если вы также хотите удалить его домашний каталог / почту, вы набираете
sudo deluser --remove-home obsolete
И
sudo deluser --remove-all-files obsolete
удалит пользователя и все файлы, принадлежащие этому пользователю во всей системе.
Вы также можете использовать compgen
встроенный:
compgen -u
Будет список всех пользователей.
Это должно получить в большинстве нормальных ситуаций всех нормальных (не системных, не странных и т. Д.) Пользователей:
awk -F'[/:]' '{if ($3 >= 1000 && $3 != 65534) print $1}' /etc/passwd
Это работает:
/etc/passwd
:
в качестве разделителя Это потому, что во многих системах Linux имена пользователей выше 1000 зарезервированы для непривилегированных (можно сказать, обычных) пользователей. Некоторая информация об этом здесь :
Идентификатор пользователя (UID) - это уникальное положительное целое число, назначаемое Unix-подобной операционной системой каждому пользователю. Каждый пользователь идентифицируется в системе по его UID, а имена пользователей обычно используются только как интерфейс для людей.
UID хранятся вместе с соответствующими именами пользователей и другой пользовательской информацией в файле / etc / passwd ...
Третье поле содержит UID, а четвертое поле содержит идентификатор группы (GID), который по умолчанию равен UID для всех обычных пользователей.
В ядрах Linux 2.4 и выше UID представляют собой 32-разрядные целые числа без знака, которые могут представлять значения от нуля до 4 294 967 296. Тем не менее, рекомендуется использовать значения только до 65 534, чтобы поддерживать совместимость с системами, использующими более старые ядра или файловые системы, которые могут поддерживать только 16-битные UID.
UID 0 имеет особую роль: это всегда корневая учетная запись (то есть всемогущий административный пользователь). Хотя имя пользователя может быть изменено для этой учетной записи и дополнительные учетные записи могут быть созданы с тем же UID, ни одно из действий не является разумным с точки зрения безопасности.
UID 65534 обычно зарезервирован ни для кого, для пользователя без системных привилегий, в отличие от обычного (то есть непривилегированного) пользователя. Этот UID часто используется для удаленного доступа к системе через FTP (протокол передачи файлов) или HTTP (протокол передачи гипертекста).
UID с 1 по 99 традиционно зарезервированы для специальных пользователей системы (иногда называемых псевдопользователями), таких как wheel, daemon, lp, operator, news, mail и т. Д. Эти пользователи являются администраторами, которым не нужны общие полномочия root, но которые выполняют некоторые административные задачи и, следовательно, нуждаются в большем количестве привилегий, чем те, которые предоставляются обычным пользователям.
В некоторых дистрибутивах Linux (т.е. версиях) UID для непривилегированных пользователей начинаются с 100. Другие, например Red Hat, начинают с 500, а третьи, например Debian, начинают с 1000. Из-за различий между В распределениях может потребоваться ручное вмешательство, если в организации используются несколько распределений.
Кроме того, может быть удобно зарезервировать блок UID для локальных пользователей, например от 1000 до 9999, и другой блок для удаленных пользователей (то есть пользователей в других местах сети), например от 10000 до 65534. Важная вещь это выбрать схему и придерживаться ее.
Среди преимуществ этой практики резервирования блоков чисел для определенных типов пользователей является то, что она делает более удобным поиск в системных журналах для подозрительной активности пользователей.
Вопреки распространенному мнению, необязательно, чтобы каждая запись в поле UID была уникальной. Однако неуникальные идентификаторы UID могут вызвать проблемы с безопасностью, и поэтому идентификаторы UID следует сохранять уникальными во всей организации. Аналогичным образом следует избегать повторного использования идентификаторов UID от прежних пользователей.
список всех пользователей, которые могут войти (нет системных пользователей, таких как: bin, deamon, mail, sys и т. Д.)
awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow
добавить new пользователь
sudo adduser new_username
или
sudo useradd new_username
удалить / удалить имя пользователя
sudo userdel username
Если вы хотите удалить домашний каталог (по умолчанию directory / home / username)
sudo deluser --remove-home username
или
sudo rm -r /path/to/user_home_dir
Если вы хотите удалить все файлы из системы от этого пользователя (не только домашняя директория)
sudo deluser --remove-all-files
Хорошо, вот трюк, который поможет вам разобраться в этом. Терминал имеет автоматическое завершение, если вы наберете пользователя и дважды нажмете клавишу Tab, он перечислит все команды, которые существуют с пользователем в качестве первых 4 символов.
user (tab tab)
дает мне в качестве возможных опций useradd userdel usermod users users-admin
, если вы хотите узнать больше о команде google it или набрать man, то man useradd дает useradd - создать нового пользователя или обновить информацию о новом пользователе по умолчанию ... ...
Чтобы составить список пользователей, вы должны следовать словам Митча.
Надежда, которая помогает мне любить завершение табуляции в bash, спасает меня от запоминания вещей.
Чтобы узнать пользователей, у которых есть домашние каталоги в папке / home-на машине, выполните следующие команды
cd /home
ls
Затем вы сможете увидеть пользователей, которые имеют полномочия для входа на сервер. , Если мы хотим просмотреть файлы любых пользователей, вы должны быть пользователем root.
Первый ответ рекомендует:
cut -d: -f1 /etc/passwd
, Но использующий это и целое число пользователей Вы добираетесь:
$ cut -d: -f1 /etc/passwd | wc -l
46
46 пользователей для портативного компьютера много!. Так используйте это вместо этого:
$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync)' | cut -d: -f1
root
rick
guest-atkb2q
guest-u4sf2i
guest-rmlbtg
guest-mz53vp
Для удаления гостевых учетных записей (у кого нет сохраненных файлов так или иначе), использование:
$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync|guest-)' | cut -d: -f1
root
rick
Некоторые демонстрационные пользователи, удаленные из списка:
systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/false
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
sync:x:4:65534:sync:/bin:/bin/sync
guest-atkb2q:x:999:999:Guest:/tmp/guest-atkb2q:/bin/bash
оказывается, что большинство пользователей в системе отдельного пользователя является на самом деле программами, которые собрались как пользователи.