yes
- это команда, которая многократно выводит строку (по умолчанию "y") до тех пор, пока не будет уничтожена. См. man yes
cat
- это команда, которая выводит в STDOUT все, что он получает на STDIN, или объединение всех файлов, перечисленных в качестве параметров. См. man cat
Канал ( |
) перенаправляет STDOUT с предыдущей команды на STDIN следующей команды.
Следовательно, подключение к cat
является пустой тратой циклов ЦП.
Назначение переменной позволяет временно сохранить строку в памяти.
Пример:
$ test="this is a string!"
$ echo $test
this is a string!
Если вы хотите сохранить результат команды в переменной, вам нужно будет использовать подоболочку.
Пример:
$ echo "file contents :)" > test.file
$ test="$(cat test.file)"
$ echo $test
file contents :)
Подробнее об использовании bash см. https://www.gnu.org/software/bash/manual/bash.html
Во-первых, я рекомендую протестировать соединение с getent passwd
перед изменением конфигурации PAM.
Используя вашу конфигурацию, я также страдал от длительного ожидания и случайных тайм-аутов. Я думаю, это происходит потому, что вы определяете base dc=kelamayi,dc=com
только как базу поиска, а не конкретные карты -.
Согласно man 5 nslcd.conf
base [MAP] DN
Specifies the base distinguished name (DN) to use as search base. This option may
be supplied multiple times and all specified bases will be searched.
A global search base may be specified or a MAP-specific one. If no MAP-specific
search bases are defined the global ones are used.
Таким образом, чтобы ускорить поиск и предотвратить тайм-ауты, вы могли бы (и, вероятно, должны )определить (как минимум )следующие базы в/etc/nslcd.conf
:
base passwd CN=Users,DC=kelamayi,DC=com
base group CN=unixGrp,DC=kelamayi,DC=com
base shadow CN=Users,DC=kelamayi,DC=com
См. также:https://arthurdejong.org/nss-pam-ldapd/setupдля получения дополнительной информации о настройке PAM с LDAP.
Обновление (2020 -03 -20 ):Узнав больше о PAM и LDAP, проблема, вероятно, заключалась в том, что pam_unix.so
попытается аутентифицировать пользователя (через средство nss )до того, как будет проведена консультация с pam_ldap.so
.Порядок имеет значение в конфигурации PAM, поэтому pam_ldap.so
, вероятно, должен быть либо перед pam_unix.so
, либо вы можете использовать pam_localuser.so
, чтобы пропустить pam_unix.so
, если пользователь находится в /etc/passwd
. Я не знаю, почему сайт nss -pam -ldapd предложил такой порядок. Переключение на SSSD , вероятно, является хорошей идеей.