Мне нужна команда для перечисления всех пользователей, а также команды для добавления, удаления и изменения пользователей из терминала - любые команды, которые могли бы помочь в легком администрировании учетных записей пользователей с помощью терминала.
Чтобы перечислить
Чтобы перечислить все местный пользователи, которых вы можете использовать:
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
команда . В то время как эта команда выдает тот же результат, что и
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
удалит пользователя и все файлы, принадлежащие этому пользователю во всей системе.
Это должно получить, в большинстве обычных ситуаций, все нормальные (несистемные, не странные и т.д.) Пользователи:
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