Samba имя пользователя windows

On-line журнал o Linux

SAMBA авторизация пользователей и раздельный доступ к ресурсам

Для начала устанавливаем:
$ aptitude install samba smbfs
Samba использует пользователей которые уже есть в системе, (возможно есть и другие пути, об этом в следующей заметке) создаем наших пользователей:
$ useradd -c «Тest» -s /sbin/nologin ole
$ useradd -c «Тest1» -s /sbin/nologin ole1
$ useradd -c «Тest2» -s /sbin/nologin ole2
к команде существуют следующие параметры, мож кому надо:
-g «Названия группы» — группа, к которой он должен принадлежать
-d /home/»каталог» — домашний каталог пользователя
-s /sbin/nologin — устанавливаем ему оболочку /sbin/nologin
-c «Описания» — качестве его полного имени Mr Test,
имя- ole
Посмотрим что у нас получилось:

$ cat /etc/passwd | grep ole
ole:x:5002:5002:Test:/home/ole:/sbin/nologin
ole1:x:5003:5003:Test1:/home/ole1:/sbin/nologin
ole2:x:5004:5004:Test3:/home/ole2:/sbin/nologin
Теперь у нас есть пользователи в системе, надо внести его в базу данных SMB и назначить пароль для доступа к расшаренным ресурсам:
$ smbpasswd -a ole
$ smbpasswd -a ole1
$ smbpasswd -a ole2
Далее правим файл конфигурации Samba (/etc/samba/smb.conf), секция [Global] содержит общие настройки сервера:
$ cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
$ nano /etc/samba/smb.conf

# Название вашей рабочей группы или домена. Именно оно будет высвечивается в «Сетевом окружении».
workgroup = WORKGROUP
# server string is the equivalent of the NT Description field
# Комментарий, появляющийся рядом с именем машины в «Сетевом окружении» Windows.
server string = %h server (Samba, Ubuntu)
# Ограничивает обслуживаемые сервером сетевые интерфейсы (eth0) / и по адресам
interfaces = 127.0.0.0/8 eth0
# Параметры логирования — log.
log file = /var/log/samba/log.%m
# Размер лог-файла в Кб
max log size = 1000
# еще можно добавить строку «debug level = 3″, она используется при
# отладке сервера, выводя в журнал более детальную информацию или уровень 5.
#debug level = 3
# для более детальной информацией можно поиграться с уровнями (1,2,3, и тд)
log leval=1

####### Authentication #######
# share — при каждом доступе будет запрашиваться имя пользовательского ресурса.
# user — для аутентификации будет использоваться имя пользователя и пароль,
# которые используются для входа в сеть виндовс (Windows). Это значение по умолчанию.
# server — для проверки пароля будет использоваться сервер NT (AD)
security = user
# Поддержка шифрованных паролей
encrypt passwords = true
# запрещает становиться мастером домена
domain master = no
# отключает WINS
wins support = no
# Опции сокета. Если не знаете, что это такое, лучше оставить как есть или почитать ман.
socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
# вкл/откл гостевую запись
guest ok = no
# запрешает root
invalid users = root
# Эти опции избавляют от глюков со шрифтами/кодировками. (так же можно 866 (Dos))
unix charset = utf8
dos charset = cp1251
display charset = cp1251

Пример:
Cоздаем папку для чтения/записи (rw) определенным пользывателем, например для юзвера ole2
$ sudo mkdir /home/DATA_rw
$ sudo chmod 777 /home/DATA_rw
В конфиге smb.conf

[DATA_rw]
path = /home/DATA_rw
create mask = 0664
directory mask = 0777
valid users = «ole»,»ole1″,»ole2″
write list = «ole2″,

где
— valid users = «» — юзеры которым разрешен доступ к ресурсу (в данном примере дали всем юзверям)
— write list = «» — юзверы, которые могут писать в данную папку (в данном примере — только ole2)
Внимания параметр write, подразумевает под собой еще и read (чтения), т.е для чтения папка будет открыта для всеx указанных в параметре valid users

Читайте также:  Компьютер завис во время установки windows

Быстрая и простая настройка samba

Иногда нужно очень быстро на сервере настроить файловую шару и открыть на нее доступ. При этом нет необходимости городить какие-то сложные конфигурации, права доступа или что-то еще. Нужен просто оперативный доступ к информации без лишних вопросов.

Мне, к примеру, недавно подобное понадобилось, чтобы открыть доступ к резервным копиям, которые хранились на сервере. Самому разбираться и искать информацию не хотелось, нужно было быстро дать человеку доступ на чтение, чтобы он сам нашел все, что ему нужно.

Я не буду специально оперировать версиями операционных систем. У самбы конфиги одинаковые почти везде, где мне приходилось с ними работать, тем более в самых простых конфигурациях.

Итак, устанавливаем самбу любым подходящим способом для вашей операционной системы. Конфигурации справедливы для 3-й версии самбы. Дальше решаем, что нам нужно:

  • доступ по пользователю и паролю,
  • доступ по ip адресу,
  • доступ всем подряд без ограничений.

В зависимости от этого настройки будут немного разные.

Для доступа по паролю рисуем такой конфиг:

Перезапускаем самбу. Дальше добавляем пользователя в систему примерно так:

Импортируем этого пользователя в самбу и задаем пароль:

И пробуем зайти на шару по адресу:

Чтоб организовать доступ в зависимости от ip адреса, делаем такие настройки в smb.conf:

В данном случае полный доступ будет у адреса 192.168.0.171. Чтобы добавить всю подсеть, то указать нужно следующее:

Комбинировать можно разные подсети и адреса, разделяя их пробелами. Для того, чтобы отключить доступ каким-то отдельным адресам из разрешенной подсети, можно сделать вот так:

Доступ будет разрешен всей подсети 192.168.0.0/24, кроме адреса 192.168.0.15.

Делаем перезапуск самбы и проверяем.

Если у вас установлена samba 4, то эта конфигурация не заработает и вы получите ошибку:

Чтобы доступ по ip нормально заработал, вам необходимо внести следующие изменения в приведенный выше конфиг:

Остальные параметры оставляете те же. После этого доступ по ip будет работать и на 4-й версии самбы.

Если доступ будет предоставлен всем без ограничений, то простейшая конфигурация самбы будет такой:

Не забываем сделать права для всех на папку:

Перезапускаем самбу и пробуем зайти. Должно пустить без лишних вопросов.

Вот так буквально за 5 минут можно организовать простейший файловый сервер с помощью samba. А часто сложнее и не надо. Для какой-нибудь файловой помойки подойдет самый последний вариант.

Для более сложных конфигураций у меня есть отдельные статьи:

Настройка Samba

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

Workgroup – этот параметр применяется для задании рабочей группы.
Netbios name – этот параметр устанавливает NetBIOS – имя Samba сервера.
Netbios aliases – параметр предназначен для создания дополнительных Netbios имен для группы.
Interfaces – с помошью этого параметра можно задавать несколько сетевых интерфейсов.
Security – этот параметр применяется для задания безопасности Samba сервера.
Параметр Security имеет четыре доступных значения:
security = user (безопасность на уровнне пользователей)
security = share (безопасность на уровне ресурсов)
security = server (безопасность на уровне сервера)
security = domain (безопасность на уровне домена)
encrypt password – если изменить значение этого параметра на YES то тогда сервер Samba будет использовать шифрованные пароли пользователей.
Minimum password length – этот параметр определяет минимальную разрешенную длину пароля пользователя
map to guest – этот параметр применяется для задания режима аудентификации пользователей. Этот парамерт имеет три важных значения:
never – если включен это значение параметра map to guest то тогда пользователь указавший неверный пароль, будет завершен.
Bad user – если включен это значение параметра map to guest то тогда при проверке имя пользователя окажется верным а пароль не верным то серевер samba будет считать пользователя гостем и пользователь получит права гостя.
Bad password – если вкдючен это значение то тогда все пользователи указавшие неверный пароль, считаются гостями.
Null password – этот параметр рашрешает или запрещает пользователям не имеющие пароль к учетной записи. Параметр null password имеет две значение:

Читайте также:  Линукс для очень слабого нетбука

no – запрещает
yes – разрешает

smb password file – этот параметр задает путь к файлу, содержащемуся шифрованные пароли пользователей.

Root directory – этот параметр применяется для задания корневого каталога для хранения файлов пользователей.

Unix password sync – если значение этого параметра установить yes то тогда сервер Samba синхронизирует SMB пароли с Unix пароями.

Invalid users – этот параметр применяется для запрета определенных пользователей доступ к сестеме. В значении параметра также можно использовать имена групп.

Valid users — этот параметр разрешает доступ определенным пользователям. В значении параметра также можно использовать имена групп.

Admin users – с помошью этого параметра можно задать список пользователей с правами root.

Read list – параметр задает список пользователей с првами только для чтения.
Write llist – с помошью этого параметра предоставляется права чтение и запись определенным пользователям.

# comment — комментарий к ресурсу
# path — путь к каталогу, который необходимо «расшарить»
# browseable — будет ли каталог виден в «сетевом окружении», или будет скрытым
# writable — возможно ли записывать данные в этот сетевой ресурс
# valid users — список пользователей, которым разрешен доступ к данной шаре
# hosts allow — перечень IP, которым разрешен доступ к данной шаре

display charset = koi8-r
unix charset = koi8-r
dos charset = cp866

Настройка Samba

Пожалуй нет ни одного офиса, в котором не применялись бы общие ресурсы локальной сети, будь то папки или принтеры. Крупные и средние компании используют возможности Active Directory, компании поменьше — используют штатные средства ОС Windows или Samba, но на серверах под управлением ОС Linux. Рассмотрим все случаи.

Что такое Samba?

Samba — серверное приложение, реализующее доступ клиентских терминалов к папкам, принтерам и дискам про протоколу SMB/CIFS.

Читайте также:  Qnap file station windows

Настройка общих папок

Linux

Установка и настройка Samba-сервер для Ubuntu выполняется следующими этапами.

Обновляем информацию о репозиториях и устанавливаем обновления для существующих пакетов в системе:

apt-get update && apt-get upgrade

Устанавливаем пакет Samba:

apt-get install -y samba samba-client

Создадим резервную копию файла конфигурации:

cp /etc/samba/smb.conf /etc/samba/smb.conf_sample

Создадим директории для файлов, например в каталоге /media:

Важно! По умолчанию, директория /media располагается в корне системы /, для нее редко создается свой раздел. По этой причине возможно переполнение корневого раздела. Во избежание этой неприятной ситуации, рекомендуем монтировать отдельный жесткий диск в /media/samba.

Создаем каталог для всех пользователей:

Изменим права доступа к каталогу:

chmod -R 0755 /media/samba/public

Также следует воспользоваться командой chown для смены владельца и/или группы.

Создаем директорию для ограниченного круга лиц:

С помощью системных инструментов создадим группу пользователей:

Добавляем пользователей Samba:

Созданных пользователей добавляем в группу:

usermod -aG smbgrp user1

Изменим группу, которой принадлежит приватная директория:

chgrp smbgrp /media/samba/private

С помощью инструментов Samba создадим пароль для добавленного пользователя:

smbpasswd -a user1

С помощью текстового редактора, например, nano, редактируем конфигурационный файл samba:

Удаляем все строки из файла. Вставляем следующие:

map to guest = bad user

wins support = no

force user = nobody

valid users = @smbgrp

Сохраняем используя сочетание Ctrl + X, затем нажимаем Y и Enter.

Объясним значения строк. конфигурационный файл состоит из трех секций:

global — данная секция отвечает за общие настройки Samba-сервера;

public и private — секции описания настроек директорий общего доступа.

В секции global присутствуют пять параметров:

  • workgroup — рабочая группа. Для упрощения работы пользователей WORKGROUP указывается, как группа по умолчанию. Если в вашей сети имя рабочей группы изменено, то следует изменить это значение и для Samba;
  • security — уровень безопасности сервера. Значение user означает авторизацию по паре логин/пароль;
  • map to guest — параметр определяет способ обработки запросов. Значение bad user означает, что запросы с неправильным паролем будут отклонены, даже если такое имя пользователя существует;
  • wins support — включить или выключить поддержку WINS;
  • dns proxy — возможность проксирования запросов к DNS.

Настройки директорий выполняются в соответствующих секциях:

path — полный путь до директории на жестком диске;

guest ok — возможность доступа к каталогу без пароля (гостевой);

browsable — показывать ли каталог (“шару”) на сервере среди прочих. Если параметр установлен как “no”, то доступ будет возможен по полному пути, например ip-addresshidden_directory;

force user — пользователь от которого ведется работа с каталогом. Для повышения безопасности сервера, обычно используют nobody. Главное, не использовать пользователя root — это небезопасно.

writable — установка значения как “yes” позволяет пользователю выполнять действия над файлами внутри каталога — переименование, добавление, удаление, перемещение в подкаталог и копирование;

valid users — список пользователей у которых есть доступ к каталогу. Если пользователей несколько, их имена указываются через запятую. Если необходим доступ для пользователей принадлежащих группе, перед именем группы устанавливается символ ”at” @ (“собака”).

Важно! Имя директории общего доступа, отображаемое пользователям, равно имени секции в которой оно описано.

Оцените статью