Поиск ключевого слова и получите его происшествие

Загляните в /etc/default/passwd. Там есть директива PASSLENGTH. По умолчанию она имеет значение 6, и изменение пароля дает:

# passwd root
New Password: 
passwd: Password too short - must be at least 6 characters.

Также проверьте содержимое /etc/pam. conf и проверьте, существуют ли разделы, подобные следующим:

#
# passwd command (explicit because of a different authentication module)
#
passwd  auth required           pam_passwd_auth.so.1

и

# Password construction requirements apply to all users.
# Remove force_check to have the traditional authorized administrator
# bypass of construction requirements.
other   password requisite      pam_authtok_check.so.1 force_check

Для получения дополнительной информации смотрите man -s 5 pam_authtok_check

При использовании truss для просмотра файлов, используемых бинарным passwd, будет получен следующий результат:

#  truss -t open passwd root
open("/var/ld/ld.config", O_RDONLY)             Err#2 ENOENT
open("/lib/libbsm.so.1", O_RDONLY)              = 3
open("/lib/libpam.so.1", O_RDONLY)              = 3
open("/lib/libnsl.so.1", O_RDONLY)              = 3
open("/usr/lib/passwdutil.so.1", O_RDONLY)      = 3
open("/lib/libc.so.1", O_RDONLY)                = 3
open("/lib/libsocket.so.1", O_RDONLY)           = 3
open("/lib/libmd.so.1", O_RDONLY)               = 3
open("/lib/libsecdb.so.1", O_RDONLY)            = 3
open("/lib/libcmd.so.1", O_RDONLY)              = 3
open("/platform/SUNW,SPARC-Enterprise-T5220/lib/libc_psr.so.1", O_RDONLY) = 3
open("/etc/pam_debug", O_RDONLY)                Err#2 ENOENT
open("/etc/pam.conf", O_RDONLY)                 = 3
open("/usr/lib/security/pam_passwd_auth.so.1", O_RDONLY) = 3
open("/etc/nsswitch.conf", O_RDONLY|O_LARGEFILE) = 3
open("/etc/passwd", O_RDONLY|O_LARGEFILE)       = 3
open("/usr/lib/security/pam_dhkeys.so.1", O_RDONLY) = 3
open("/usr/lib/security/pam_authtok_get.so.1", O_RDONLY) = 3
open("/usr/lib/security/pam_authtok_check.so.1", O_RDONLY) = 3
open("/usr/lib/security/pam_authtok_store.so.1", O_RDONLY) = 3
open("/dev/tty", O_RDWR)                        = 3
New Password: 
open("/etc/default/passwd", O_RDONLY)           = 3
open("/etc/shadow", O_RDONLY|O_LARGEFILE)       = 3
open("/etc/security/policy.conf", O_RDONLY)     = 3
passwd: Password too short - must be at least 6 characters.

Please try again
open("/dev/tty", O_RDWR)                        = 3
New Password:     Received signal #2, SIGINT, in read() [caught]
0
14.11.2018, 21:32
1 ответ

grep -cпечатает количество совпадающих строк , поэтому вы не получите правильный результат в сочетании с опцией -o. Я бы перенаправил вывод grep -oвuniq -c:

$ echo 'test1 test2 test3' >/tmp/file1
$ echo 'test1 test2 test3 test4' >/tmp/file2
$ grep -o test /tmp/file* | uniq -c
  3 /tmp/file1:test
  4 /tmp/file2:test

Вы можете передать его дальше, чтобы изменить вывод с помощью некоторых инструментов -обработки текста.

0
28.01.2020, 04:09

Теги

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