Все операции проводим под авторизацией root (администратора системы).
Распакуем пакет samba-2.2.5.tar.gz в каталог /usr/src/redhat/SOURCES:
Еще одно ее достоинство - возможность восстановления предыдущей версии файла пользователем самостоятельно, без привлечения администратора сети. Но здесь сразу же стоит сделать некоторые замечания:
Распакуем пакет samba-2.2.5.tar.gz в каталог /usr/src/redhat/SOURCES:
# cat samba-2.2.5.tar.gz | gzip -d | tar xvpf -
Теперь установим поддержку "сетевой корзины". Зачем нужна "сетевая корзина"? Все операционные системы, имеющие GUI, предоставляют пользователям (в той или иной мере) так называемую "корзину", которая служит для временного хранения файлов, удаленных пользователем на своей рабочей станции. При работе в сети эти функции обычно недоступны для сетевых ресурсов, поэтому администраторам системы приходиться делать периодический BackUp файлов пользователей. Но это перестает быть эффективным, если удаленный файл не был сохранен с помощью программ, организующих BackUp. Именно для такого случая и нужна "сетевая корзина".
- "сетевая корзина" - это обычная папка, которую можно размещать как на текущем (классический вид), так и на специализированном ресурсе. Причем в последнем случае на этом же диске могут находиться и корзины других пользователей - в виде так называемого Online Backup ресурса;
- по умолчанию в патче атрибуты доступа на корзину - 0700. То есть в эту папку может зайти и что-либо с ней делать только владелец этого ресурса. Это не вызывает проблем, если пользователь использует сетевой ресурс один,- но обычно одним ресурсом пользуется несколько пользователей, и в этом случае возникает ситуация, когда только один пользователь может удалять файлы. Для решения этой проблемы предлагаю в файле reply.c.patch изменить строку №15 с "+ int dir_mask=0700;" на "+ int dir_mask=0777;" - это позволит всем пользователям данного ресурса корректно работать с данной папкой;
- если в системе используются квоты (quota), то их установки влияют и на корзину - так что при расчете квот нужно учитывать этот момент;
- в ходе эксплуатации была обнаружена проблема, заключающаяся в том, что, если в конфигурационном файле указать полный, а не относительный путь к корзине на ресурсе, то при попытке пользователя удалить файл в корзине происходило следующее: файл не удалялся, а переименовывался по формату "имя файла. (Copy #N).расширение" (где N - номер файла с одинаковыми именами). То есть срабатывал алгоритм, по условиям которого, если файл с определенным именем есть в корзине, то происходит не замена старого файла новым, а добавление дополнительного суффикса и инкрементация его номера. Для решения данной проблемы необходимо в файле reply.c.patch изменить строку № 38 с "+ if (strcmp (fname,bin)){" на "+ if (access (bin, F_OK)!=-1) {".
По окончанию описанных мероприятий переходим к компиляции пакета и его установке, для чего устанавливаем патч:
# patch /usr/src/redhat/SOURCES /samba-2.2.5/source/include/proto.h /usr/src/readhat/SOURCES/proto.h.patch # patch /usr/src/redhat/SOURCES /samba-2.2.5/source/param/loadparm.c /usr/src/readhat/SOURCES/loadparm.c.patch # patch /usr/src/redhat/SOURCES /samba-2.2.5/source/smbd/reply.c /usr/src/readhat/SOURCES/reply.h.patch
И выполняем конфигурацию пакета инсталляции (полный перечень всех параметров можно получить по команде./configure --help):
# cd /usr/src/redhat/SOURCES/samba-2.2.5/source # ./configure --prefix=/usr --with-quota --with-smbmount --with-msdfs --with-privatedir=/etc/samba --with-configdir=/etc/samba --with-lockdir=/var/lock/samba --with-piddir=/var/run/samba --with-logfilebasedir=/var/log/samba
Этим мы дали команду включить в сборку smbmount, который служит для монтирования SMB-ресурсов в файловую структуру Linux, включили поддержку квот (quota), а также поддержку Microsoft DFS, и приказали устанавливаться в каталог /usr;
# make; make install копируем файл smb.init: # cp /usr/packaging/RedHat/smb.init /etc/init.d/smbделаем симлинк на это файл (чтобы при старте сервера у нас всегда запускалась служба): # ln -s /etc/init.d/smb /etc/rc3.d/S99sambaи, на всякий случай,- для init 5: # ln -s /etc/init.d/smb /etc/rc5.d/S99samba
В результате получаем установленный пакет. Начинаем его настраивать. Основной файл конфигурации и файл паролей пользователей будет находиться в /etc/samba.
|
Комментариев нет:
Отправить комментарий