Это старая версия документа.


Файловый сервер Samba

Один из наиболее стандартных способов взаимодействия по сети между компьютерами Ubuntu и Windows - это настройка Samba в качестве файлового сервера. Эта глава рассказывает как настроить Samba сервер для разделения файлов с клиентами Windows.

Сервер будет настроен на доступ к файлам для любого клиента в сети без запроса пароля. Если ваше окружение требует более строгого контроля доступа, смотрите раздел Защита серверов Samba.

Установка

Для начала установим пакет samba. Введите в терминале :

sudo apt-get install samba

Это все, что требуется. Теперь вы готовы настраивать Samba для разделения файлов.

Настройка

Основной файл настройки Samba - /etc/samba/smb.conf. Изначальный файл конфигурации имеет значительное количество комментариев для документирования различных директив настройки.

Не все возможные опции включены в файле настроек по умолчанию. Смотрите руководство man smb.conf или Сборник ЧаВо по Samba для уточнения деталей.
  First, edit the following key/value pairs in the [global] section of /etc/samba/smb.conf:
     workgroup = EXAMPLE
     ...
     security = user
  The security parameter is farther down in the [global] section, and is commented by default. Also, change EXAMPLE to better match your environment.
  Create a new section at the bottom of the file, or uncomment one of the examples, for the directory to be shared:
  [share]
      comment = Ubuntu File Server Share
      path = /srv/samba/share
      browsable = yes
      guest ok = yes
      read only = no
      create mask = 0755
      comment: a short description of the share. Adjust to fit your needs.
      path: the path to the directory to share.
      This example uses /srv/samba/sharename because, according to the Filesystem Hierarchy Standard (FHS), /srv is where site-specific data should be served. Technically Samba shares can be placed anywhere on the filesystem as long as the permissions are correct, but adhering to standards is recommended.
      browsable: enables Windows clients to browse the shared directory using Windows Explorer.
      guest ok: allows clients to connect to the share without supplying a password.
      read only: determines if the share is read only or if write privileges are granted. Write privileges are allowed only when the value is no, as is seen in this example. If the value is yes, then access to the share is read only.
      create mask: determines the permissions new files will have when created.
  Now that Samba is configured, the directory needs to be created and the permissions changed. From a terminal enter:
  sudo mkdir -p /srv/samba/share
  sudo chown nobody.nogroup /srv/samba/share/
  The -p switch tells mkdir to create the entire directory tree if it doesn't exist.
  Finally, restart the samba services to enable the new configuration:
  sudo restart smbd
  sudo restart nmbd

Once again, the above configuration gives all access to any client on the local network. For a more secure configuration see Securing a Samba File and Print Server.

From a Windows client you should now be able to browse to the Ubuntu file server and see the shared directory. If your client doesn't show your share automatically, try to access your server by its IP address, e.g. \\192.168.1.1, in a Windows Explorer window. To check that everything is working try creating a directory from Windows.

To create additional shares simply create new [dir] sections in /etc/samba/smb.conf, and restart Samba. Just make sure that the directory you want to share actually exists and the permissions are correct.

The file share named «[share]» and the path /srv/samba/share are just examples. Adjust the share and path names to fit your environment. It is a good idea to name a share after a directory on the file system. Another example would be a share name of [qa] with a path of /srv/samba/qa.

Ссылки

  For in depth Samba configurations see the Samba HOWTO Collection
  The guide is also available in printed format.
  O'Reilly's Using Samba is another good reference.
  The Ubuntu Wiki Samba page.