Через пару недель я наконец нашел правильный решение! Я понял, что проблема была в групповой синхронизации, поэтому правильный конфиг для групповой синхронизации должен выглядеть следующим образом для вашей конфигурации FreeIPA:
ldap.group.baseDn=cn=groups,cn=compat,dc=company,dc=com
ldap.group.request=(&(objectClass=posixGroup)(memberUid={uid}))
ldap.group.idAttribute=cn
Разница в cn=groups,cn=compat,dc=company,dc =ком.
Вы не можете использовать фильтр memberUid
с cn=accounts
, на самом деле вы можете, но он не найдет uids
пользователей.
sed 's|//\(.*\)|/*\1 */|'
Но имейте в виду, что есть ряд случаев, когда это не сработало бы правильно, как в:
char *url = "http://host/";
/*
comment with // nested C++-syle comment
*/
// comment \
continued on the next line
Чтобы учесть эти и другие случаи, вы можете адаптировать код в других вопросах и ответах как:
perl -0777 -pe '
BEGIN{
$bs=qr{(?:\\|\?\?/)};
$lc=qr{(?:$bs\n|$bs\r\n?)}
}
s{
/$lc*\*.*?\*$lc*/
| /$lc*/((?:$lc|[^\r\n])*)
| "(?:$bs$lc*.|.)*?"
| '\''$lc*(?:$bs$lc*(?:\?\?.|.))?(?:\?\?.|.)*?'\''
| \?\?'\''
|.[^'\''"/?]*
}{defined($1)?"/*$1 */":$&}exsg'
Что на приведенном выше образце дает:
char *url = "http://host/";
/*
comment with // nested C++-syle comment
*/
/* comment \
continued on the next line */
Вам нужно только это:
's+//+/*+g' file | sed 's+\/\*.*+& */+'
/*this is a thest of how this works */
#include <stdio.h>
int main()
{
/* declare some variables here */
int num1 = 4;
float num2 = 3.5;
/* print the result */
printf("The result is %f\n", num1 * num2); /* this does it */
/* does it work? */ */
return 0;
}