Samba as a file server
One of the most common ways to network Ubuntu and Windows computers is to configure Samba as a file server. It can be set up to share files with Windows clients, as we’ll see in this section.
The server will be configured to share files with any client on the network without prompting for a password. If your environment requires stricter Access Controls see Share Access Control.
Install Samba
The first step is to install the samba package. From a terminal prompt enter:
That’s all there is to it; you are now ready to configure Samba to share files.
Configure Samba as a file server
The main Samba configuration file is located in /etc/samba/smb.conf . The default configuration file contains a significant number of comments, which document various configuration directives.
Note:
Not all available options are included in the default configuration file. See the smb.conf man page or the Samba HOWTO Collection for more details.
First, edit the workgroup parameter in the [global] section of /etc/samba/smb.conf and change it to better match your environment:
Create a new section at the bottom of the file, or uncomment one of the examples, for the directory you want to share:
[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 you want to share.
Note:
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.
Create the directory
Now that Samba is configured, the directory needs to be created and the permissions changed. From a terminal, run the following commands:
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 already exist.
Enable the new configuration
Finally, restart the Samba services to enable the new configuration by running the following command:
sudo systemctl restart smbd.service nmbd.service
Warning:
Once again, the above configuration gives full access to any client on the local network. For a more secure configuration see Share Access Control.
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 [sharename] 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 used in this example can be adjusted 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 .
Further reading
- 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.
Файловый сервер Samba
Один из наиболее стандартных способов взаимодействия по сети между компьютерами Ubuntu и Windows — это настройка Samba в качестве файлового сервера. Эта глава рассказывает как настроить Samba сервер для разделения файлов с клиентами Windows.
Сервер будет настроен на доступ к файлам для любого клиента в сети без запроса пароля. Если ваше окружение требует более строгого контроля доступа, смотрите раздел Защита серверов Samba.
Установка
Для начала установим пакет samba. Введите в терминале :
sudo apt-get install samba
Это все, что требуется. Теперь вы готовы настраивать Samba для разделения файлов.
Настройка
Основной файл настройки Samba — /etc/samba/smb.conf. Изначальный файл конфигурации имеет значительное количество комментариев для документирования различных директив настройки.
Не все возможные опции включены в файле настроек по умолчанию. Смотрите руководство man smb.conf или Сборник ЧаВо по Samba для уточнения деталей.
1. Сначала измените следующие пары ключ/значение в секции [global] файла /etc/samba/smb.conf:
workgroup = EXAMPLE . security = user
Параметр security находится значительно ниже в секции [global] и по умолчанию закомментирован. Также замените EXAMPLE на что-то более соответствующее вашему окружению.
2. Создайте новую секцию в конце файла или раскомментируйте один из примеров для каталога, который нужно настроить на общий доступ:
[share] comment = Ubuntu File Server Share path = /srv/samba/share browsable = yes guest ok = yes read only = no create mask = 0755
path: путь до разделяемого каталога. Этот пример использует /srv/samba/sharename поскольку, в соответствии со стандартом иерархии файловых систем (FHS), каталог /srv — это место, где должны находится все данные, относящиеся к данному сайту. Технически разделяемый ресурс Samba может быть размещен в любом месте файловой системы, где позволяют файловые ограничения доступа, но следование стандартам рекомендуется.
browsable: позволяет клиентам Windows просматривать содержимое разделяемого каталога с помощью проводника Windows.
read only: определяет доступность ресурса только на чтение или с привилегиями на запись. Привилегии на запись доступны только при указании no, как показано в данном примере. Если значение yes, то доступ к ресурсу будет только на чтение.
create mask: определяет какие права доступа будут установлены для создаваемых новых файлов.
3. Теперь, поскольку Samba настроена, требуется создать каталог и установить на него права доступа. Введите в терминале:
sudo mkdir -p /srv/samba/share sudo chown nobody.nogroup /srv/samba/share/
4. Наконец, перезапустите сервисы samba для применения новых настроек:
sudo restart smbd sudo restart nmbd
Еще раз: данная конфигурация предоставляет полный доступ любому клиенту в локальной сети. Для более безопасной настройки смотрите раздел Защита серверов Samba.
Теперь вы можете находить Ubuntu файл сервер с помощью клиента Windows и просматривать его разделяемые каталоги. Если ваш клиент не показывает ваши разделяемые ресурсы автоматически, попробуйте обратиться к вашему серверу по его IP адресу, например, \\192.168.1.1, из окна проводника Windows. Для проверки, что все работает, попробуйте создать каталог внутри вашего разделяемого ресурса из Windows.
Для создания дополнительных разделяемых ресурсов создайте новую секцию [dir] в /etc/samba/smb.conf и перезапустите Samba. Просто убедитесь, что разделяемый каталог создан и у него корректные права доступа.
Разделяемый ресурс «[share]» и путь /srv/samba/share — это просто примеры. Установите название ресурса и имя каталога в соответствии с вашим окружением. Хорошей идеей является использование в качестве названия ресурса имени его каталога в файловой системе. Другими словами ресурс можно указать как [qa] для каталога /srv/samba/qa.