Как подсчитать количество /etc/password
записей без пароля?
Я думаю, что для нахождения записей без пароля установило, необходимо будет использовать /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
просто распечатайте подобранную часть'^[^:]*'
от запуска строки к первому :
echo $(($(cat /etc/passwd | egrep "^*:x" | wc | awk '{print $1}')-$(cat /etc/passwd | wc | awk '{print $1}')))
Это просто считает записи, которые не имеют пароля во всем
sudo apt-get install -t "$(lsb_release -sc)" --reinstall wget
.
– David Foerster
6 September 2018 в 06:49