Samba

Создание общих папок

Предварительная подготовка

Предварительно нужно решить где именно на самом сервере будут находится общие папки с файлами. Предположим, что это будет директория с названием /var/share. Если директории нет, то необходимо создать её.

// переходим в каталог var host /# cd /var // проверяем наличие папки share host /var# ls -l | grep share // если ничего не вывелось, то значит, что папки share нет // создаём папку, в которой и будут находится общие папки с документами host /var# mkdir share

Конфигурируем сервер

Конфигурация сервера Samba находится в файле smb.conf, который обычно находится в папке /etc. Для начала укажем глобальные настройки самого сервера:

[global] netbios name = FS # имя сервера, которое будет отображаться в сетевом окружении workgroup = OFFICE # имя рабочей группы, в которой находится сервер server string = File Server # строка, которая будет отображаться рядом с названием сервера encrypt passwords = yes # пароли пользователей должны шифроваться при передаче по сети security = user # аутентификация по пользователям map to guest = bad user # если пользователь не распознан, то это гость guest account = smbguest # привязка гостевой учётки к реальной учётке Unix

Samba требует, чтобы все пользователи, подключающиеся к серверу были привязаны к определённому id Unix-пользователя. Это требование включает в себя гостевые учётные записи, которые привязаны к учётке, указанной в директиве guest account.

Создаём папку для документов

Создаём папку public и назначим ей права, которые позволят любому пользователю создавать, изменять и удалять файлы и другие папки внутри себя. К этой папке пользователи будут получать доступ через сетевое окружение, в котором они смогут найти наш файловый сервер.

host /# mkdir /var/share/public // создаём папку host /# chmod 1777 /var/share/public // назначаем права на доступ к папке host /# ls -l /var/share | grep public // проверяем права drwxrwxrwt 2 root root 4096 Мар 5 22:14 public

Вы можете для директории установить права 0777 (777), а не 1777, но в этом случае любой пользователь сможет удалить не только свой файл, но и любой чужой файл в этой директории. При правах 1777 на папку устанавливается так называемый sticky bit, который и не даёт удалять чужие файлы. Он отображается в виде буквы t при просмотре прав на директорию - drwxrwxrwt.

Прописываем созданную папку в конфигурации сервера Samba (под блоком [global]):

[public] path = /var/share/public # путь к общей папке guest ok = yes # в папку разрешён доступ гостям read only = no # содержимое папки можно менять

Перезапускаем сервер Samba для применения настроек:

host /# service samba restart

Проверка результата настройки

Открываем сетевое окружение на компьютере с Windows, который находится в той же группе, что и сервер. Если в окружении появился сервер, у него есть расшаренная папка public и к ней есть доступ на чтение/запись, то всё получилось удачно. Благодарю за чтение.