пятница, 17 июня 2011 г.

Настройка Samba-сервера в Ubuntu.

 

Вариант 1. Открываем общий доступ к файлам

Очень часто возникает необходимость открыть через сеть доступ к ресурсам на компьтере с Linux, для реализации этого лучше всего воспользоваться таким решением как Samba. Возможности здесь большие и вы можете настроить как доступ к отдельным папкам так и отдельным пользователям. То есть мы можем сделать файл-сервер. Об этом и пойдет речь. В данном примере будет самая простая конфигурация – доступ из сети к отдельным папкам, для всех пользователей.

Для начала нам нужен сам сервер. Установка:

sudo apt-get install samba

Теперь нам нужно определиться к чему и кому мы хотим открыть доступ. Для примера возьмем папку /mnt/media которую нужно сделать доступной для всех без каких либо ограничений.

Создадим в системе нового пользователя который будет владельцем всех файлов и папок в наших общих ресурсах. Под его идентификатором будет предоставляться доступ для всех:

sudo useradd –m sambauser –p qwerty123

Мы добавили пользователя sambauser, задали его домашний каталог (ключ –m) и пароль (ключ –p) qwerty123.

Теперь создадим папку /mnt/media (название и расположение можно выбрать любое):

sudo mkdir /mnt/media

Назначим владельцем нашего нового пользователя и зададим разрешения:

sudo chown –R sambauser:users /mnt/media
sudo chmod –R 777 /mnt/media

Теперь можно заняться настройкой сервера. Ищем файл /etc/samba/smb.conf. В нем содержатся основные настройки но мы создадим свой файл конфигурации. На всякий случай сохраним дефолтный smb.conf

sudo mv  /etc/samba/smb.conf /etc/samba/smb.conf.default

Так как разработчики Samba рекомендуют иметь файл конфигурации как можно меньшего размера и с минимальным количеством комментариев то мы создадим два файла – один только с настройками а второй с настройками и комментариями. Создаем файл:

sudo touch /etc/samba/smb.conf.comments

Вносим в него параметры:

#Глобальные параметры
[global]
#название рабочей группы, в windows по умолчанию WORKGROUP
#если у вас другое название то измените
workgroup = WORKGROUP
#NetBIOS-имя компьютера под которым будет отображаться в
#сетевом окружении
netbios name = ALTSERVER
#режим безопасности
security = SHARE
#Описание в сетевом окружении
server string = shared files
#описание наших папок
#
[media]
#комментарий, то, как будет подписан наш ресурс в сетевом
#окружении
comment=Наши файлы
#путь к общей папке
path=/mnt/media
create mask = 0777
directory mask = 0777

#принуждаем быть владельцем общего ресурса пользователя
#sambauser
force user=sambauser
#принуждаем быть владельцем общего ресурса группу users
force group=users
#указываем, что можно не только читать, но и записывать
read only=No
#открываем гостевой доступ, по сути всем
guest ok=Yes

Теперь создадим основной файл без комментариев:





sudo testparm –s smb.conf.comments>smb.conf

Если команда отработала без ошибок то у нас должен появится новый файл smb.conf


Все теперь из сети будет видно наш сервер с общим доступом к папке media.


 


 


Вариант 2. Персональные общие папки


Здесь мы рассмотрим вариант когда в сети много клиентов и каждому из них нужен доступ только к своей папке на нашем сервере с Samba и нет доступа к чужим. При этом добавим еще одного пользователя который будет иметь право просматривать папки всех пользователей.


Для начала определимся с пользователями:





Пользователь     Учетная запись          Пароль                     Каталог
Иванов               boss                          qwerty1                     /mnt/allfiles
Петров               buhgalter                    qwerty2                     /mnt/allfiles/buhgalter Сидоров             logist                         qwerty3                     /mnt/allfiles/logist

Также у нас имеется сеть ARS и наш сервер который будет виден под именем Resourses


Создадим группу для пользователей:






sudo groupadd firma


Создадим пользователей:





sudo useradd -m -G firma -c "Иванов" boss
sudo passwd boss
sudo smbpasswd -a boss

Повторяем эту операцию для всех пользователей.


Создадим каталоги и раздадим права на них:






sudo mkdir /mnt/allfiles
sudo mkdir /mnt/allfiles/buhgalter
sudo mkdir /mnt/allfiles/logist


 






sudo chown boss /mnt/allfiles/
sudo chown buhgalter /mnt/allfiles/buhgalter
sudo chown logist /mnt/allfiles/logist/
sudo chgrp -R firma /mnt/allfiles/
sudo chmod –R 771 /mnt/allfiles/


В итоге у нас должно быть так:






cd /mnt
ls -l
drwxrwx--x 4 boss firma 4096 2011-06-20 13:05 allfiles
cd /mnt/allfiles/
ls -l
drwxrwx--x 2 buhgalter firma 4096 2011-06-20 13:05 buhgalter
drwxrwx--x 2 logist    firma 4096 2011-06-20 13:05 logist


Теперь можно приступить к настройке конфигурации. Приводим файл /etc/smb.conf к следующему виду:






[global]
        workgroup = ARS
        netbios name = Resourses
        server string = files on %h
        log file = /var/log/samba/log.%m

[files]
        comment = My files
        path = /mnt/allfiles/%U
        read only = no

[boss]
        comment = VIP
        path = /mnt/allfiles
        valid users = boss
        read only = no


Продолжение следует..

2 комментария:

  1. Спасибо большее!!! Все очень хорошо получилось.
    Andrei.

    ОтветитьУдалить
  2. Только вот в листингах – написано вместо - :-)
    Мне-то ничего, но другие "попадаются"...

    ОтветитьУдалить