Мені потрібна команда, щоб перелічити всіх користувачів у терміналі. І як додавати, видаляти, змінювати користувачів з терміналу.
Це може допомогти легко керувати своїми рахунками терміналом.
awk -F: '{ print $1 }' /etc/passwd
Мені потрібна команда, щоб перелічити всіх користувачів у терміналі. І як додавати, видаляти, змінювати користувачів з терміналу.
Це може допомогти легко керувати своїми рахунками терміналом.
awk -F: '{ print $1 }' /etc/passwd
Відповіді:
Щоб перелічити всіх місцевих користувачів, якими ви можете скористатися:
cut -d: -f1 /etc/passwd
Щоб перерахувати всіх користувачів, здатних до автентичності (певним чином), включаючи немісцеві, дивіться цю відповідь .
Ще кілька корисних команд управління користувачем (також обмежено для місцевих користувачів):
Щоб додати нового користувача, ви можете використовувати:
sudo adduser new_username
або:
sudo useradd new_username
Дивіться також: Яка різниця між прихильником і useradd?
Щоб видалити / видалити користувача, спочатку можна скористатися:
sudo userdel username
Потім ви можете видалити домашній каталог для видаленого облікового запису користувача:
sudo rm -r / home / ім'я користувача
Будь ласка, використовуйте обережно вищевказану команду!
Щоб змінити ім’я користувача користувача:
usermod -l new_username old_username
Щоб змінити пароль для користувача:
sudo passwd username
Щоб змінити оболонку для користувача:
sudo chsh username
Щоб змінити реквізити користувача (наприклад, справжнє ім’я):
sudo chfn username
Щоб додати користувача до sudo
групи:
adduser username sudo
або
usermod -aG sudo username
І, звичайно ж , дивись також: man adduser
, man useradd
, man userdel
... і так далі.
sudo chfn <username>
що змінює реквізити користувача (наприклад, справжнє ім’я). Я спробував додати це як коментар, але у мене з’явилася помилка, сказавши, що я повинен мати +50 репутацію для цього.
Просто натисніть клавішу Ctrl+ Alt+ Tна клавіатурі, щоб відкрити термінал. Коли він відкриється, запустіть команди (и) нижче:
cat /etc/passwd
АБО
less /etc/passwd
more /etc/passwd
Ви також можете використовувати awk: awk
awk -F':' '{ print $1}' /etc/passwd
adduser
замість використання командного рядка useradd
слід обмежитися сценаріями, де автор дійсно знає, що робить.
Найпростіший спосіб отримати цю інформацію 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
видалить користувача та всі файли, що належать цьому користувачеві, у всій системі.
getent passwd
правильною командою
Ви також можете використовувати compgen
вбудований GNU bash :
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 традиційно зарезервовані для спеціальних користувачів системи (іноді їх називають псевдокористувачами), таких як колесо, демон, lp, оператор, новини, пошта тощо. Ці користувачі - адміністратори, які не потребують загальних повноважень root, але які виконують деякі адміністративні завдання і тому потребують більше привілеїв, ніж ті, які надаються звичайним користувачам.
Деякі дистрибутиви Linux (тобто версії) починають UID для непривілейованих користувачів на 100. Інші, наприклад Red Hat, починають їх з 500, а інші, такі як Debian, починають їх з 1000. Через різницю між дистрибутивами посібник втручання може бути необхідним, якщо в мережі використовується декілька розповсюджень.
Крім того, може бути зручно резервувати блок UID-кодів для місцевих користувачів, таких як 1000 - 9999, та інший блок для віддалених користувачів (тобто користувачів в інших мережах), таких як 10000 - 65534. Важливим є рішення за схемою і дотримуватися її.
Серед переваг цієї практики резервування блоків чисел для певних типів користувачів є те, що це робить більш зручним пошук через системні журнали для підозрілої діяльності користувачів.
Всупереч поширеній думці, не обов'язково кожен запис у полі UID бути унікальним. Однак не унікальні UID можуть спричинити проблеми із безпекою, і, таким чином, UID повинні залишатися унікальними для всієї організації. Так само слід уникати переробки UID від колишніх користувачів якомога довше.
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 тощо)
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
adduser
і useradd
. Також додайте sudo
-префікс до першої команди. Файл тіньового пароля можна читати лише як root.
awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow
показав мені всіх користувачів, включаючи бін, демон і т. д. і кинув це попередження: послідовність втечі \$' treated as plain
$ 'Я знайшов це повідомлення stackoverflow.com/a/25867768/847954 і додав ще одну зворотну косу рису, і вона спрацювала нормально:awk -F':' '$2 ~ "\\$" {print $1}' /etc/shadow
Ось ось хитрість, яка допоможе вам розібратися в цьому. Термінал має автоматичне завершення, якщо ви введете користувача та натисніть клавішу Tab двічі, він перелічить усі команди, які існують у користувача, як перші 4 символи.
user (tab tab)
дає мені як можливі варіанти useradd userdel usermod користувачів users-admin,
якщо ви хочете дізнатися більше про команду google it або тип man man useradd дає useradd - створити нового користувача або оновити нову інформацію про користувача за замовчуванням ... ...
Щоб перерахувати користувачів, вам слід піти з тим, що сказав Мітч.
Сподіваюся, що це допоможе мені подобатися заповнення вкладок у башті, рятує мене від запам'ятовування речей.
Щоб дізнатися користувачів, які мають домашні каталоги в папці / home на папці, виконайте наступні команди
cd /home
ls
Потім можна побачити користувачів, які мають авторизацію входу на сервер. Якщо ми хочемо вивчити файли будь-яких користувачів, ви повинні бути користувачем root.
/home
. Хоча Ubuntu за замовчуванням розміщує там каталоги користувачів, це ні в якому разі не є обов'язковим.
ls /home
можуть також містити користувацькі каталоги видалених користувачів.
sed 's/:.*//' /etc/passwd