воскресенье, 7 сентября 2008 г.

Внутренности FreeNAS, тонкая настройка Samba

Предистория
Значит была мысль, потом она была отвергнутам по некоторым причинам, от меня не зависящим. Но была. Поставить на работе Backup server, для того чтобы пользователи время от времени скидывали туда свои файлы, некая централизованная мера безопасности. Для этой цели я предложил использовать операционную систему FreeNAS, построенную на основе FreeBSD 6.3. Вся информация и собственно сам FreeNAS тут.
Для тех кто не знает - FreeNAS это дистрибутив заточенный под сетевое хренение данных. Имеет в своем составе SMB FTP HTTP NFS файловые сервера. Также дистрибутив имеет интуитивно понятный Web интерфейс (во всяком случае мне понятный). Но как оказалось не все он позваляет сделать. Тут и начинается наш рассказ :)

Суть проблемы
Значит Backup сервер.. Ведь пользователи не должны видеть чужих файлов? Или безопасность как бы никакая. Были все локально и один человек мог вынести только свою, может секретную, информацию, но только свою. Он к ней "допущен". А если на нашем сервере нет прав доступа - все анонимусы, то любой пользователь может взять и забрать всю информацию о фирме. Неслабо?
Разумеется все пользватели под Windows, что вы хотите от бугалтеров. Значит нам путь к Samba share. Обыкновенные "расшаренные диски виндоус".
Только вот нету у FreeNAS явного разгранечения прав доступа к этим самым share.

Решение
(Считаем что у вас FreeNAS уже установлен, если нет - к компетентным органам)
1) Ну первое, самое первое действие лезем во вкладку "SSH" Ставим галочку "enable". Нам понадобиться SSH и точка. Хотя может вы будете делать все это с локальной консоли.. вам никто не мешает, но я бы не советовал. Всеже Web интерфейс тоже пригодиться. Проще работать удаленно, с соседнего компа.
Еще поставте галочку "Permit root login" Потом снимите, если вы маньяк безопасности :)

2)Далее на вкладке CIFS/SMB галочку "enable" воткнуть (помните, мы именно для этого тут), и из выпадающего списка "Authentication" выбираем пункт "Local User".
Ключевой момент - предположение что в этом случае права локальных пользователей на папки переходят и применимы к пользователям Samba.

3) На вкладке CIFS/SMB выбираем "Shares" Там щелкаем плюсик.
Name: Backup
Comment: backup
Path: /mnt/data
Read only - по желанию - нет
Browseable - да
Inherit permissions - да

Эти настройки естественно взяты только для примера - у вас могут быть и другие

4) В разделе "Users and Groups" создаем пользователей напрмер kel и uss Как - разберетесь, это не сложно :) естественно с паролями.

5)Собственно с оболочкой все. Проверим доступность SMB share и коннектимся к SSH.
ssh root@xxx.xxx.xxx.xxx
потом пароль
(всем понятно что ххх.ххх.ххх.ххх это Ip адрес нашего нового сервера?)
если наш комп для удаленной работы на Windows нужно обзавестись маленькой, бесплатной, но дико нужной утилиткой putty. Или она у вас уже есть? Нету - качайте где то тут. Опять же разберетесь, простая как танк утилита.
Так или иначе у нас консоль сервера.

6)Набираем следующие команды:
# cd /mnt/data
# mkdir kel_dir
# mkdir uss_dir
# chown kel kel_dir
# chown uss uss_dir
# chmod 700 kel_dir
# chmod 700 uss_dir

Надеюсь кристально ясно? Ладно немного поясню: сначала переходим в папку которую мы указывали в Shares. Потом создаем (mkdir) необходимые директории, отдаем (chown) их предпологаемым владельцам. И в довершении всего делаем их нераздельными владельцами (chmod) этих директорий.
По этим командам вам поможет man команда (man chown напимер).

7)Собственно и все. Делаем
# exit
и идем проверять как все это работает ;)

Заключение
Я считаю что свою задачу я выполнил и создал сервер, подходящий под требования безопасности. Конечно для безопасности необходимо выполнить некоторые иные действия, не описанные тут, такие как смена пароля рута и тд, надеюсь вы понимаете ;) Но это опять из не сбывшихся проектов, ибо на работе ставим сервер на win2008server изза долбанного 1C. Но тут я уже ничего не могу сделать. Я был до последнего против.

Комментариев нет: