getent показывает только некоторых пользователей из ldap

В определении класса символов ]воспринимается буквально, если непосредственно следует за ^. Так что не избегайте этого. Также вам не хватает квантификатора, такого как +, чтобы сказать «один или несколько символов», или *, чтобы сказать «ноль или более символов». Кроме того, в вашей командной строке на один sedслишком много.

$ echo 'a [test] b' | sed 's/\[[^]]\+\]/x/'
a x b

(\+будучи расширением GNU (, теперь также поддерживается несколькими другими реализациями ), стандартный эквивалент —\{1,\})

или более читаемый:

$ echo 'a [test] b' | sed -E 's:\[[^]]+\]:x:'
a x b

(-Eявляется расширением BSD, теперь также поддерживаемым GNU sedи некоторыми другими реализациями; используйте -rв старых версиях GNUsed).

0
03.12.2019, 15:08
1 ответ

Я проверил атрибуты Active Directory пользователя, который появлялся, и другого пользователя, который не появлялся.

Я обнаружил, что у пользователей, которые не отображались, отсутствовали gid, uid и uidNumber.

Если ввести эти значения и подождать несколько секунд, пока пользователь заполнит поля, отображается пользователь, когда на рядовом сервере используется команда getent passwd.

0
28.01.2020, 03:03

Теги

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