Используем Ubuntu как сервер файлов Windows

Хотя существует несколько способов создания сетевого хранилища для группы машин под управлением Ubuntu, эти методы могут перестать работать, когда вы подключите к сети Windows-компьютер (Windows предоставляет поддержку NFS, но для этого вам потребуется система Windows 8 Enterprise, поэтому это не самый практичный вариант). К счастью, Ubuntu даёт нам простую возможность присоединяться к Windows-сетям по протоколу SMB. Инструмент, который потребуется нам для этого, называется Samba.

Установка

Установить Samba просто: откройте ваш терминал с помощью комбинации клавиш Ctrl+Alt+T и выполните в нём следующую команду: Luckily, Ubuntu provides an easy way to connect to Windows networks via the SMB protocol.

sudo apt-get install samba

Настройка

Здесь всё становится немного интересно. В идеале, не должно быть каких-то дополнительных настроек после установки, и каждый с Unix-аккаунтом мог бы войти и получить доступ к своей домашней папке или к какой-либо общей папке. Но это не совсем так.

Настройки конфигурации (те, которые нам нужно подправить) хранятся в файле /etc/samba/smb.conf. Потратьте несколько минут на открытие файла и прочтение его комментариев. Комментарии — это отличный способ описания настроек и того действия, которое они производят. Мы будем менять некоторые настройки, поэтому вам нужно будет открыть файл как пользователь root.

Первые несколько секций можно оставить как есть, если только вы не присоединяетесь к группе, название которое отличается от «WORKGROUP» (или же у вас необычная настройка, требующая дополнительной конфигурации). Первая секцию, которую нам нужно будет отредактировать — это «Authentication». Нам нужно будет раскомментировать настройку «section = user», удалив решетку «#» в начале строки. Теперь это должно выглядеть как-то вот так:

# «security = user» is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
security = user

Это позволит присоединяться к компьютеру только пользователям с Unix-паролями в системе.

Вторая секция, которую нам нужно будет отредактировать, отмечена как «Share Definitions». Раскомментируйте три строчки, которые начинаются с [homes], удалив точку с запятой «;» в начале каждой строчки. Это должно выглядеть примерно так:

# Un-comment the following (and tweak the other settings below to suit)
# to enable the default home directory shares. This will share each
# user’s home director as \\server\username
[homes]
comment = Home Directories
browseable = no

Это позволит каждому пользователю получать доступ к их домашним директориям. Теперь сохраните изменения и закройте файл. Далее перезапустите демон Samba с помощью следующей команды:

sudo service smbd restart

На этом всё?

Теперь вы можете попробовать войти с компьютера под управлением Windows. Вы быстро обнаружите, что это не заработает — вы получите ошибку при попытке авторизоваться.

b_675_675_16777215_10_images_8_smb.png

Вы встретите эту ошибку, даже если вы ввели верный пароль от учетной записи. Почему это так? Ошибка появляется, потому что Samba следит за паролями независимо от /etc/passwd и /etc/shadow, поэтому нам нужно позволить Samba знать, какой у нас пароль. На машине под управлением Ubuntu выполните следующую команду в терминале:

sudo smbpasswd -a <username>

В команде выше замените <username> на ваше имя пользователя Unix. Теперь вы сможете присоединиться к «шаре» через Проводник Windows.

share

Создаём общую папку

Теперь у каждого пользователя есть доступ к своей домашней папке. Но что, если вы хотите, чтобы несколько пользователей могли получать доступ к какой-то общей папке для совместной работы? Это достаточно просто реализовать.

# Shares the /var/sekret-projekt directory
[projekt]
comment = Shared directory for collaboration
writable = yes
force create mode = 0766
force directory mode = 0766
path = /var/sekret-projekt

Это создаст «шару» в директории /var/sekret-projekt, которая станет доступна любому вошедшему пользователю. Вы даже можете связать общую папку с буквой диска (например, Z:).

share2

На этом действительно всё, и я надеюсь, что мой пост помог вам.