Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:файловый_сервер_для_windows [2010/08/18 16:20] |
wiki:файловый_сервер_для_windows [2016/01/29 23:31] (текущий) [Расшаривание папки в windows 8] |
||
---|---|---|---|
Строка 5: | Строка 5: | ||
В любом случае вам потребуется как минимум Samba, установить которую можно через менеджер пакетов Synaptic или командой | В любом случае вам потребуется как минимум Samba, установить которую можно через менеджер пакетов Synaptic или командой | ||
- | sudo aptitude install samba | + | <code bash> |
- | + | sudo apt-get install samba | |
- | <note tip>Основная статья о настройке и параметрах Samba находится [[samba|здесь]].</note> | + | </code> |
+ | |||
+ | <note tip> | ||
+ | Основная статья о настройке и параметрах Samba находится [[samba|здесь]]. | ||
+ | </note> | ||
===== Файловый сервер в составе домена Active Directory ===== | ===== Файловый сервер в составе домена Active Directory ===== | ||
Строка 26: | Строка 30: | ||
<note important>Важно, чтобы каталог, который вы хотите расшарить через Samba, лежал на диске, смонтированном с опцией acl. Иначе вы не сможете нормально использовать механизм разграничения прав доступа к файлам на шарах.</note> | <note important>Важно, чтобы каталог, который вы хотите расшарить через Samba, лежал на диске, смонтированном с опцией acl. Иначе вы не сможете нормально использовать механизм разграничения прав доступа к файлам на шарах.</note> | ||
+ | |||
+ | Есть и ещё один весьма немаловажный момент: POSIX ACL не поддерживают наследование прав доступа от родительских каталогов, а в Windows эта возможность присутствует. Поэтому в Samba реализован дополнительный механизм сохранения информации о наследовании прав доступа, который использует расширенные атрибуты файловой системы. Поэтому чтобы Samba могла корректно обрабатывать наследование прав кроме ''acl'' к опциям монтирования файловой системы необходимо добавлять параметр ''user_xattr'', который как раз и отвечает за включение поддержки расширенных атрибутов. | ||
Например, я всегда использую для организации расшаренных ресурсов отдельные [[LVM]] диски и у меня строчки в [[fstab]] для них выглядят примерно так: | Например, я всегда использую для организации расшаренных ресурсов отдельные [[LVM]] диски и у меня строчки в [[fstab]] для них выглядят примерно так: | ||
<file> | <file> | ||
- | /dev/mapper/data-profiles /var/data/profiles ext3 defaults,noexec,acl 0 2 | + | /dev/mapper/data-profiles /var/data/profiles ext3 defaults,noexec,acl,user_xattr 0 2 |
</file> | </file> | ||
Строка 49: | Строка 55: | ||
На всякий случай хочу обратить внимание на то, что механизм POSIX ACL не имеет никакого отношения к Samba - это просто надстройка над стандартным механизмом разграничения прав в Linux. Соответственно Samba может его использовать, но не может как-либо изменить или обойти. | На всякий случай хочу обратить внимание на то, что механизм POSIX ACL не имеет никакого отношения к Samba - это просто надстройка над стандартным механизмом разграничения прав в Linux. Соответственно Samba может его использовать, но не может как-либо изменить или обойти. | ||
- | Итак, будем считать что у вас есть в системе каталог, который вы хотите расшарить через Samba (и он находится на диске, подмонтированном с поддержкой acl). Теперь необходимо собственно настроить его расшаривание. Для этого нужно внести соответствующую информацию в файл ''/etc/samba/smb.conf''. | + | Для работы с расширенными атрибутами ФС потребуется очень похожий на ''acl'' пакет утилит - ''attr'', поставить который можно командой |
- | Начнём с общих настроек, которые можно добавить в секцию ''[global]'' этого файла: | + | sudo aptitude install attr |
+ | |||
+ | Для просмотра расширенных атрибутов можно использовать команду | ||
+ | |||
+ | getfattr file | ||
+ | |||
+ | А для установки | ||
+ | |||
+ | setfattr [options] file | ||
+ | |||
+ | Однако тут есть одна небольшая загвоздка. Дело в том, что Samba хранит всю информацию о наследовании в бинарном виде в единственном расширенном атрибуте ''user.SAMBA_PAI''. Поэтому поменять что-то с помощью ''setfattr'' вам не удастся, только разве что полностью удалить расширенные атрибуты (иногда такое может потребоваться сделать). | ||
+ | |||
+ | Ну а управлять наследованием прав вам придётся с Windows машины с помощью штатных инструментов этой системы. Либо же с помощью утилиты ''smbcacls'', если вы разберётесь, как ей пользоваться. | ||
+ | |||
+ | <note tip>Существует так же экспериментальный VFS модуль acl_xattr, который позволяет хранить NT ACL полностью в расширенных атрибутах. К сожалению, документации по нему нет, поэтому что-то вразумительное сказать по его поводу сложно. Ожидается, что в Samba 4 будет полная интегрированная поддержка NT ACL, а пока что можно пользоваться тем, что есть.</note> | ||
+ | |||
+ | <note important>Если вам есть что добавить по поводу расширенных атрибутов в Samba и методах работы с ними - обязательно напишите в [[http://forum.ubuntu.ru/index.php?topic=106486|эту]] тему на форуме. Буду благодарен за любые ссылки, статьи и комментарии по теме.</note> | ||
+ | |||
+ | Кроме того, расширенные атрибуты файловой системы позволяют включить в Samba полную поддержку файловых атрибутов DOS, таких как скрытый, архивный и пр. | ||
+ | |||
+ | Итак, будем считать что у вас есть в системе каталог, который вы хотите расшарить через Samba (и он находится на диске, подмонтированном с поддержкой acl и user_xattr). Теперь необходимо собственно настроить его расшаривание. Для этого нужно внести соответствующую информацию в файл ''/etc/samba/smb.conf''. | ||
+ | |||
+ | Начнём с общих настроек, которые можно добавить в секцию ''[global]'' этого файла (это далеко не все возможные параметры, просто несколько достаточно полезных из них): | ||
<file> | <file> | ||
# Отключить расшаривание принтеров. Если вы конечно и вправду не хотите их расшаривать. | # Отключить расшаривание принтеров. Если вы конечно и вправду не хотите их расшаривать. | ||
+ | # Для полного отключения нужно указывать все 4 строки, приведённых ниже | ||
load printers = no | load printers = no | ||
+ | show add printer wizard = no | ||
+ | printcap name = /dev/null | ||
+ | disable spoolss = yes | ||
# Сделать скрытыми при просмотре с Windows файлы со следующими именами | # Сделать скрытыми при просмотре с Windows файлы со следующими именами | ||
- | hide files = /$RECYCLE.BIN/desktop.ini/lost+found/thumbs.db/ | + | hide files = /$RECYCLE.BIN/desktop.ini/lost+found/Thumbs.db/ |
# Использовать для шар с публичным доступом следующего UNIX пользователя в качестве Guest | # Использовать для шар с публичным доступом следующего UNIX пользователя в качестве Guest | ||
guest account = nobody | guest account = nobody | ||
# Воспринимать как guest незарегистрированных пользователей | # Воспринимать как guest незарегистрированных пользователей | ||
map to guest = Bad User | map to guest = Bad User | ||
+ | |||
+ | ## Настройки, использующие расширенные атрибуты файловой системы | ||
+ | |||
+ | # Обрабатывать наследования прав с помощью расширенных атрибутов ФС | ||
+ | map acl inherit = yes | ||
+ | # Использовать расширенные атрибуты ФС для хранения атрибутов DOS | ||
+ | store dos attributes = yes | ||
+ | # Отключить маппинг DOS атрибутов на UNIX права, включённый по умолчанию | ||
+ | # Согласно man smb.conf при использовании расширенных атрибутов эти опции обязаны быть отключены | ||
+ | map archive = no | ||
+ | map system = no | ||
+ | map hidden = no | ||
+ | map readonly = no | ||
</file> | </file> | ||
Строка 85: | Строка 130: | ||
# Отключение блокировок - лучше отключить | # Отключение блокировок - лучше отключить | ||
locking = no | locking = no | ||
- | # Обработка наследования прав - лучше включить | ||
- | map acl inherit = yes | ||
</file> | </file> | ||
Строка 128: | Строка 171: | ||
<note tip>**Подробнее настройка простого файлового сервера описана в основной статье про [[Samba]].**</note> | <note tip>**Подробнее настройка простого файлового сервера описана в основной статье про [[Samba]].**</note> | ||
+ | ===== Автономный файловый сервер без авторизации ===== | ||
+ | Для дома удобно чтобы все видели всех. Это можно сделать если добавить 4 строчки в секцию [global] файла /etc/samba/smb.conf. Некоторые могут уже существовать. | ||
+ | <code bash>[global] | ||
+ | workgroup = WORKGROUP | ||
+ | map to guest = Bad User | ||
+ | netbios name = NOTEBOOK | ||
+ | security = user | ||
+ | </code> NOTEBOOK - имя компьютера которое будет в сети. | ||
+ | Кроме этого надо установить дополнительные программы : <code bash>sudo apt-get install samba </code> | ||
+ | Для kubuntu надо еще установить smb4k . | ||
+ | После редактирования конфигов надо перезапустить службы. В systemd (начиная с 15.04) перезапуск выглядит так: <code bash>sudo systemctl restart smbd.service nmbd.service</code> | ||
+ | Посмотреть "шары" можно через файловый броузер nautilus, konkueror или так: <code bash>smbclient -L 127.0.0.1</code> . [[https://wiki.samba.org/index.php/Anonymous_Share|Официальная документация]] на английском. | ||
+ | ==== Расшаривание папки на ubuntu ==== | ||
+ | Cоздайте папку для обмена файлов. <code bash>mkdir ~/share</code> | ||
+ | Добавьте в конец файла /etc/samba/smb.conf следующие строки, yuraku1504 замените на имя пользователя компьютера с самбой:<code bash> | ||
+ | [MyShareWork] | ||
+ | comment = Anonymous Samba Share | ||
+ | path = /home/yuraku1504/share | ||
+ | guest ok = yes | ||
+ | browsable =yes | ||
+ | writable = yes | ||
+ | read only = no | ||
+ | force user = yuraku1504 | ||
+ | force group = yuraku1504 | ||
+ | </code> | ||
+ | Папка будет открыта для чтения и записи. | ||
+ | ==== Расшаривание папки в windows 8 для ubuntu==== | ||
+ | FIXME | ||
===== Ссылки ===== | ===== Ссылки ===== | ||