Файловый сервер для Windows Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
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
 ===== Ссылки ===== ===== Ссылки =====