Пользователь LDAP, не присутствующий в желаемой группе

Поскольку другие ответы уже определили, ${f%.*} расширен оболочкой, прежде чем она будет работать xargs команда. Вам нужно это расширение для случая однажды для каждого имени файла с переменной оболочки f набор к имени файла (передача -I f не делает этого: xargs не имеет никакого понятия переменной оболочки, она ищет строку f в команде, поэтому если Вы использовали, например. xargs -I e echo … это выполнило бы команды как ./somedir/somefile.wmacho .mp3).

При продолжении этого подхода сказать xargs вызвать оболочку, которая может выполнить расширение. Лучше, сказать findxargs в основном устаревший инструмент и тверд использовать правильно, поскольку современные версии находки имеют конструкцию, которая делает то же задание (и больше) с меньшим количеством трудностей с инфраструктурой. Вместо find … -print0 | xargs -0 command …, выполненный find … -exec command … {} +.

find . -name '*.wma' -type f -exec sh -c 'for f; do echo "${f%.*}.mp3"; done' _ {} +

Аргумент _ $0 в оболочке; имена файлов передаются как позиционные параметры который for f; do … циклы. Более простая версия этой команды выполняет отдельную оболочку для каждого файла, который эквивалентен, но немного медленнее:

find . -name '*.wma' -type f -exec sh -c 'echo "${0%.*}.mp3"' {} \;

Вы не должны на самом деле использовать find здесь, принятие, Вы выполняете довольно недавнюю оболочку (ksh93, колотите ≥4.0, или zsh). В ударе, помещенном shopt -s globstar в Вашем .bashrc активироваться **/ шаблон шарика для рекурсивного вызова в подкаталогах (в ksh это set -o globstar). Затем можно работать

for f in **/*.wma; do
  echo "${f%.*}.mp3"
done

(Если Вам назвали каталоги *.wma, добавить [ -f "$f" ] || continue в начале цикла.)

2
11.10.2013, 00:45
2 ответа

Это происходило из-за неправильного присваиваемого идентификатора группы. Когда система была установлена недавно, система произвольно присвоила идентификатор 501 группы другой группе.

Во всех остающихся машинах лаборатории нам присвоили идентификатор 501 группы vboxusers. Это было причиной, пользователи LDAP не могли получить доступ к VirtualBox в той конкретной машине.

0
27.01.2020, 22:14
How can this be possible, as I copied the LDAP and NFS configuration
files from the working machines in the lab and used the same files in
the newly installed machine?

Поскольку я понимаю, что Вам нужна Та же Установка Сервера LDAP в Вашем LAB, ТАКИМ ОБРАЗОМ, мы должны экспортировать базу данных Master LDAP Server, и затем импортировать в Новый Сервер LDAP. если я корректен затем, можно следовать за этой установкой.

Установка

Примечание: это Руководство на основе RHEL5.x/CentOS 5.x

Установка использование Пакетов OpenLDAP:

yum install openldap

Настройте сервер, Редактирование /etc/openldap/slapd.conf, можно настроить это настройки то же как Ведущее устройство

database        bdb
suffix          "dc=example,dc=com"
rootdn          "cn=Manager,dc=example,dc=com"
rootpw          secrete # or you can use encrypted pass using slappasswd

скопируйте требуемый файл

install -o ldap -g ldap /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

На Вашем Главном сервере экспортируйте все детали в файл LDIF.

slapcat -l master.ldif

Копия master.ldif в новый сервер LDAP.

Теперь на Вашем Новом Сервере LDAP.

Для импорта записей, указанных в файле master.ldif в базу данных LDAP, дают команду:

slapadd -l ldif

Теперь Запустите Сервисное использование LDAP:

/etc/init.d/ldap start

На Клиентской Машине: Смонтируйте NFS на ДОМЕ, включите требуемые записи /etc/fstab

Затем включите Подлинное использование LDAP:

authconfig --enableldap --enableldapauth --ldapserver=NEW_LDAPSERVER_IP --
ldapbasedn="dc=example,dc=com" –update

Стрельба проблемы

По умолчанию Журналы ldap отключены, можно Включить Входу в систему LDAP использование Сервера LDAP:

Править /etc/syslog.conf

local4.*    /var/log/ldap.log

Однажды перезапуск syslog сервис

/etc/init.d/syslog restart
2
27.01.2020, 22:14
  • 1
    Привет Rahul, большое спасибо за то, что ответил. Я относительно плохо знаком с системным администрированием. Я не уверен, следую ли я за Вами. У меня есть сервер LDAP (централизованный сервер), который аутентифицирует всех пользователей, регистрирующихся в клиенте, использующем NFS. Для этой установки я должен изменить вышеупомянутые файлы также? Поскольку, мы никогда не встречались с таким странным сценарием прежде. Еще раз спасибо! –  Ramesh 11.10.2013, 02:20
  • 2
    Мы не можем скопировать файлы один сервер в другой сервер, чтобы заставить вещь работать, так как по умолчанию ldap сохраняют DIT в burkly базе данных, таким образом, мы должны экспортировать и импортировать в новом сервере. Таким образом, если у Вас есть тестовый сервер затем, можно протестировать, это ступает, нет никакого влияния на выполнение ldap сервера. –  Rahul Patil 11.10.2013, 03:17

Теги

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