Настройка сервера самбы для совместного использования обычно сводиться к трем вещам:
1. создание общего доступа, без авторизации.
2. создание папок авторизированных пользователей с доступом только для чтения.
3. создание приватных зон требующих безусловную авторизацию.
Так же необходимо добиться совместимости всех операционных систем используемых в сети. Это известные всем три лидера: Windows, Linux, OSX.
Используя установку по умолчанию Fedora 9 вы к сожалению получаете не законченную для этих целей систему. В ней остается один недостаток, совместить все три условия в первый момент не получается. И начинающие администраторы могут открывать утративший силу механизм отмеченный в конфигурационном файле сервера samba как deprecated.
Для того чтобы избежать данных ошибок я приведу изменения файла настроек, которые необходимо внести перед запуском сервера в локальной сети.
Первое что необходимо отметить это использование SELINUX защиты, если вы планируете ее использовать то предупреждение в начале файла smb.conf будет вам полезно. Лично я сам использовал такую команду из этого файла:
setsebool -P samba_enable_home_dirs on
Далее, ниже по конфигурационному файлу, проверьте наличие строчки авторизации. Она означает, что для доступа к серверу перед любой операцией необходимо авторизироваться:
security = user
Следующая команда конфига означает возможность подключения пользователя с общими правами - Гостя.
guest ok = yes guest account = nobody
Особое внимание я хочу уделить строчке автоматической авторизации пользователя с общим доступом. Она имеет ключевую важность при настройке сервера по нашим требованиям, но к сожалению не включена в конфигурационный файл по умолчанию и ее необходимо добавить вручную. Задача данной настройки позволить автоматически входить пользователю который ввел неверные данные авторизации как гостю. Это имеет очень большую важность для Windows систем, которые чаще всего не отправляют guest/no password в качестве информации об аутентификации, а используют для этого имя пользователя гостя по умолчанию для данной операционной системы. Оно в свою очередь может иметь префикс в виде домена или другой лишней информации не понятной для сервера Samba. Поэтому для обеспечения доступа гостя с машин под управлением Windows такая настройка просто не обходима!
map to guest = bad user
Следующей параметр в файле настроек я задаю две папки с общим доступом, в которую идет запись от пользователей без имени (Гостей). Папку с доступом на запись, которая имеет разделения по правам записи от каждого авторизированного пользователя. А так же папку только для чтения.
[www]
path = /media/shared/www
writeable = yes
browseable = yes
guest ok = yes
force user = nobody
[tax.local]
path = /media/shared/tax.local
writeable = yes
browseable = yes
[company.ru]
path = /media/shared/company.ru
writeable = no
browseable = yes
После чего необходимо добавить samba пользователей через интерфейс system-config-samba.
Не мало важным моментом является то, что все мои папки находятся в пространстве /media, это скажется и на вашей системе если вы не отключите selinux и будете производить запись через разные службы такие как Samba, WebDAV и др. Дело в том, что каждый сервис имеет свои уникальные атрибуты присущие каждому сервису в отдельности. И если вы разместите папки общего доступа в другом месте они могут приобретать свойства того сервиса через который к ним происходит обращение. В результате чего созданный файл через самбу будет не доступен для пользователей WebDAV так, как система безопасности selinux заблокирует любые попытки чтения или записи в файл с другими атрибутами процесса. Создание правил selinux не входит в данную заметку и поэтому я рекомендую размещать все ваши дополнительные разделы в папке /media.
Ссылки по теме:


0 коммент.:
Отправить комментарий