Подсчитать количество записей в / etc / passwd без пароля?

Как подсчитать количество /etc/password записей без пароля?

3
задан 26 November 2016 в 21:40

2 ответа

Я думаю, что для нахождения записей без пароля установило, необходимо будет использовать /etc/shadow:

sudo grep -Ec '\!|\*' /etc/shadow

! и * символы указывают, что нет никакого пароля UNIX для пользователя, например:

root:!:17092:0:99999:7:::
colord:*:17086:0:99999:7:::

Записи в /etc/shadow соответствуйте тем, которые в /etc/passwd

Вместо количества Вы могли получить чистый список просто имен пользователей:

sudo grep -E '\!|\*' /etc/shadow | grep -o '^[^:]*'

Можно использовать -v инвертировать соответствие и количество или перечислить пользователей с паролями, конечно:

sudo grep -vE '\!|\*' /etc/shadow | grep -o '^[^:]*'

Примечания:

  • -E используйте ДО, таким образом, мы можем использовать | для чередования
  • -c возвратите количество строк, не самих строк
  • -o просто распечатайте подобранную часть
  • '^[^:]*' от запуска строки к первому :
3
ответ дан 26 November 2016 в 21:40
  • 1
    Я don' t видят, как ссылка на страницу справочника Wget релевантна здесь, если Вы не связываетесь и с током и со страницей для 1,8. – darnir 6 September 2018 в 03:56
echo $(($(cat /etc/passwd | egrep "^*:x" | wc | awk '{print $1}')-$(cat /etc/passwd | wc | awk '{print $1}')))

Это просто считает записи, которые не имеют пароля во всем

0
ответ дан 26 November 2016 в 21:40
  • 1
    То же могло быть достигнуто в единственной команде Apt: sudo apt-get install -t "$(lsb_release -sc)" --reinstall wget. – David Foerster 6 September 2018 в 06:49

Другие вопросы по тегам:

Похожие вопросы: