Archive for February, 2010
Samba и опция copy
Feb 26
Нашел, на мой взгляд, интересную возможность в конфиге Самбы. Оригинал тут.
Одной из директив, доступных в smb.conf, является опция copy. Которая обеспечивает возможность клонирования записей и аттрибутов общих ресурсов Samba. Используя эту директиву, можно создать шаблон службы со всеми необходимыми опциями вместо указания одних и тех же опций для каждой отдельной расшарки.
Чтобы было проще, можно взглянуть на пример файла /etc/samba/smb.conf:
[template1]
browseable = yes
writable = yes
valid users = gpalis mnapolis rcamacho
[template2]
browseable = yes
writable = no
valid users = gpalis rcamacho peting
[backup]
path = /mnt/backup
copy = template1
[workfiles]
path = /share
copy = template1
[csfiles]
path /mnt/cs
copy = template2
После изменения файла перезапустите службу smb:
service smb restart
Samba+LDAP: slapd: <= bdb_equality_candidates: (sambaSID) not indexed
Feb 26
Поскольку мне по работе периодически приходится сталкиваться со связкой Samba+LDAP, то решил поместить сюда решение проблемы, вынесеной в название поста.
А проблема, если чуть потише взглянуть. такова. В логах slapd появляются следующие ошибки:
Feb 25 20:23:53 dc02 slapd[5677]: <= bdb_equality_candidates: (gidNumber) not indexed
Feb 25 20:23:53 dc02 slapd[5677]: <= bdb_equality_candidates: (sambaSID) not indexed
Feb 25 20:23:53 dc02 slapd[5677]: <= bdb_equality_candidates: (sambaSID) not indexed
Feb 25 20:23:55 dc02 slapd[5677]: <= bdb_equality_candidates: (uid) not indexed
Feb 25 20:23:55 dc02 slapd[5677]: <= bdb_equality_candidates: (uid) not indexed
Для решения сей проблемы необходимо в конфиг /etc/ldap/slapd.conf в раздел в директивами database добавить следующее:
# Indices to maintain for this database
index objectClass eq,pres
index ou,cn,sn,mail,givenname eq,pres,sub
index uidNumber,gidNumber,memberUid eq,pres
index loginShell eq,pres
# I also added this line to stop warning in syslog ..
index uniqueMember eq,pres
## required to support pdb_getsampwnam
index uid pres,sub,eq
## required to support pdb_getsambapwrid()
index displayName pres,sub,eq
# These attributes don't exist in this database ..
#index nisMapName,nisMapEntry eq,pres,sub
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
index default sub
После этого:
# /etc/init.d/slapd stop
# slapindex
WARNING!
Runnig as root!
There's a fair chance slapd will fail to start.
Check file permissions!
# chown openldap:openldap /var/lib/ldap/*
# /etc/init.d/slapd start
Starting OpenLDAP: slapd
Добавляемые в конфиг строки примерны, поскольку наличие дополнительных строк или их отсутствие зависит от конфигурации.
Информация взята отсюда.
Yum. Установка и обновление пакетов из собственного репозитория
Feb 25
Оригинал заметки на Red Hat Knowledgebase.
Решение
Чтобы использовать yum для установки или обновления пакетов из файла ISO, необходимо будет создать свой собственный репозиторий. Сделать это можно двумя способами:
Способ 1.
1. Необходимо создать директорию, в которой и будет хранится репозиторий:
# mkdir -p /usr/share/repository
2. Для создания репозитория скопируйте в этот каталог все пакеты RPM, которые необходимо использовать:
# cd /usr/share/repository
# createrepo .
# yum clean all
Заметка: Прежде, чем эта команда будет выполнена, пакет createrepo уже должен быть установлен в системе.
3. Создайте файл /etc/yum.repos.d/file.repo со следующим содержимым:
# cat /etc/yum.repos.d/file.repo
[RHEL_5_Repository]
baseurl=file:///usr/share/repository
enabled=1
4. Получите список пакетов:
# yum list
5. Теперь можно будет установить необходимый пакет. Например:
# yum install httpd
Способ 2.
Здесь описывается другой способ создания репозитория, при котором нет необходимости копировать файлы RPM на жесткий диск. Файл ISO уже содержит в себе директории с данными, и ими можно пользоваться напрямую.
1. Смонтируйте файл ISO:
# mount -o loop,ro rhel-5.2-server-i386-dvd.iso /mnt/iso
2. Создайте файл /etc/yum.repos.d/file.repo:
# cat /etc/yum.repos.d/file.repo
[RHEL_5_Server_Repository]
baseurl=file:///mnt/iso/Server
enabled=1
[RHEL_5_VT_Repository]
baseurl=file:///mnt/iso/VT
enabled=1
3. Теперь можно установить необходимый пакет:
# yum install httpd
