TGViewer
BashTex | Linux BashTex | Linux @bash_tex · 2.51K subscribers
Post #479 1.22K
Поиск пользователей без пароля и с заблокированным shell

Со временем в системе накапливаются сервисные, забытые или некорректные аккаунты. Часть из них может быть: без пароля, с истекшим паролем
или с заблокированным shell. Быстрый аудит можно сделать обычным bash.

▪️ Пользователи без пароля. Пароль хранится в /etc/shadow, но факт его отсутствия легко проверить:


sudo awk -F: '($2==""){print $1}' /etc/shadow


Если вывод не пустой - это повод проверить, зачем аккаунт существует.

▪️ Пользователи с заблокированным паролем


sudo awk -F: '($2 ~ /^!|^\*/){print $1}' /etc/shadow


! или * в поле пароля значит, что вход запрещен
Обычно это нормально для сервисных аккаунтов.

▪️ Пользователи с отключенным shell


awk -F: '($7 ~ /(nologin|false)$/){print $1, $7}' /etc/passwd


Типично для:

www-data
nginx
backup

Если обычный пользователь с таким shell - стоит проверить.

▪️ Проверка статуса пароля через chage


sudo chage -l username


Полезно для поиска:

истекших паролей;
аккаунтов без политики смены.

▪️ Массово:


for u in $(cut -d: -f1 /etc/passwd); do
chage -l "$u" 2>/dev/null | grep -q "never" && echo "$u"
done


▪️ Быстрый отчет:


awk -F: '{print $1 ":" $7}' /etc/passwd


BashTex 📱 #bash #utils
  • 👍 8
More from @bash_tex
  1. Oct 8, 2026Bridge FDB - как Linux bridge узнаёт, где находится MAC Linux bridge не знает заранее, за…
  2. Oct 7, 2026/dev/tcp - сетевое соединение средствами Bash В Bash есть малоизвестная возможность работа…
  3. Oct 6, 2026Ephemeral ports - почему заканчиваются исходящие TCP-порты Когда приложение устанавливает…
  4. Oct 5, 2026name_to_handle_at() - как получить файловый объект без обычного пути В Linux обычно обраща…
  5. Oct 2, 2026madvise() - как процесс подсказывает ядру, как он собирается использовать память Когда про…
  6. Oct 1, 2026flock vs fcntl - почему две блокировки одного файла могут вести себя совершенно по-разному…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →