Привет друзья!. Если мы хотим иметь независимый сервер (Автономные) делиться ресурсами либо с нашего рабочего места; или для небольшой группы машин; или для локальной сети без контроллера домена в стиле Microsoft проще всего это сделать с помощью Samba.
Для этого есть несколько графических инструментов, а также инструмент для администрирования Samba через Интернет «SWAT». Тем не мение, мы рекомендуем новичкам, которые стартуют в этом чудесном мире вручную. Это не так сложно или дьявольски, как многие думают. В процессе вы многое узнаете о сетях SMB / CIFS, а также о разрешениях и правах в файловых системах Linux.
Прежде чем продолжить, рекомендуем прочитать:
- Самба: необходимое введение
- Samba: просмотр сети SMB / CIFS без Samba
- Самба: SmbClient
- Самба: CIFS-Utils
Мы не увидим как делиться принтерами с помощью Samba. Тем, кто желает использовать этот пакет для этих целей, мы рекомендуем прочитать сопроводительную документацию, как указано в Самба: необходимое введение. Вы также можете прочитать статью CUPS: как легко использовать и настраивать принтеры.
Основные моменты для рассмотрения
- Несмотря на всю ауру, которая окружает Active Directory и их контроллеры домена, которые во многих случаях не нужны или плохо используются, установка и настройка независимого сервера Samba ЯВЛЯЕТСЯ допустимым и надежным вариантом.
- Независимый сервер может быть как безопасным, так и небезопасным, в зависимости от наших потребностей, и мы можем настроить его простым или сложным способом.
- Аутентификация пользователя выполняется на самом сервере, где находятся ресурсы.
- Чтобы пользователь мог получить доступ к ресурсам с удаленного компьютера, он также должен быть зарегистрирован в базе пользователей Samba.
- Мы можем добавить в базу данных пользователей Samba только тех пользователей, которые уже существуют на нашем сервере или настольном компьютере.
- Автономный сервер Samba НЕ обеспечивает вход в сеть, как это делает контроллер домена. Он также не обеспечивает вход в домен.
- Чем меньше мы меняем и / или добавляем параметры в файл /etc/smb.conf Если заранее не знать в деталях, чего мы хотим достичь, это будет намного лучше.
- Служба совместного использования ресурсов в Samba работает в файловой системе Linux, включая присущую ей безопасность. Многие проблемы решаются путем уделения должного внимания разрешениям файлов и каталогов.
- Важно понимать, как управлять поведением файловой системы из файла. smb.conf, а также понимание того, как работает защита файловой системы UNIX / Linux.
- Мы не рекомендуем использовать диакритические знаки, знаки или пробелы в именах папок и общих ресурсов. Желательно использовать строчные буквы для имен.
- Имена общих ресурсов не могут повторяться в локальной сети. Каждое имя уникально.
- Если в нашей локальной сети НЕТ WINS-сервера, мы можем заставить нашу Samba работать как таковую, добавив «Глобальный»Из файла smb.conf параметр выигрывает поддержку = Да., что настоятельно рекомендуется.
Пример сервера
Имя: миуизи. Домен: друзья.cu. IP: 10.10.10.20. Пользователи: ксеон, зевс и тритон. Дополнительные группы: счетчики
Установка
Через Synaptic или через консоль устанавливаем пакет самба.
sudo aptitude установить самбу
Также очень полезно установить пакет smbclient. Мы будем использовать его для проверок.
В процессе пакеты будут установлены, но мы ранее установили некоторые другие, связанные с Suite- самба, обычная самба, самба-обыкновенная корзина y tdb-инструменты. Также создается файл /etc/самба/smb.conf. Этот файл будет создаваться, пока установлены пакеты. самба y самба-обыкновенная корзина, и не будут удалены из системы, пока мы не удалим их.
Файл smb.conf - самый важный в Samba Suite.
Samba имеет огромное количество параметров конфигурации, большинство из которых не показаны в примере smb.conf который устанавливается по умолчанию. Опции отмечены знаком «;»Считаются достаточно важными для отображения, и их значения по умолчанию отличаются от значений по умолчанию для поведения Samba. Опции конфигурации отмечены знаком «#«, Имеют значения Samba по умолчанию и также считаются важными для отображения.
Если мы хотим увидеть содержимое файла без учета закомментированных опций, либо с помощью «;"или с"#«, Мы должны выполнить:
egrep -v '# |; | ^ * $' /etc/samba/smb.conf
Если мы хотим увидеть содержимое файла, не учитывая параметры, отмеченные «#«, Мы должны выполнить:
egrep -v '# | ^ * $' /etc/samba/smb.conf
Первое, что мы должны сделать, это скопировать файл /etc/самба/smb.conf. В самом файле мы находим способ, которым Samba рекомендует создать рабочую копию, о чем мы подробно расскажем ниже. В виде корень выполняем:
cd / etc / samba mv smb.conf smb.conf.master testparm -s smb.conf.master> smb.conf корень @ miwheezy: / etc / samba # ls -l всего 32 -rw-r - r-- 1 корень root 8 10 ноября 2002 г. gdbcommands -rw-r - r-- 1 корень root 805 4 августа 12:05 smb.conf -rw-r - r-- 1 root root 12173 4 12 августа, 05:XNUMX smb.conf.master
Обратите внимание на разницу в размере между smb.conf, созданным таким образом, и исходным. Чем меньше размер, тем выше производительность сервера в соответствии с указаниями Samba Team.
Исходное содержимое файла /etc/самба/smb.conf Это будет (помните, что мы не будем развивать совместное использование принтеров):
[Глобальный] рабочая группа = FRIENDS имя netbios = MIWHEEZY security = пользователь строка сервера =% h сопоставление сервера с гостем = Плохой пользователь подчиняется ограничениям pam = Да изменение пароля pam = Да passwd program = / usr / bin / passwd% u passwd chat = * Введите \ snew \ s * \ spassword: *% n \ n * Повторите ввод \ snew \ s * \ spassword $ unix password sync = Да syslog = 0 файл журнала = /var/log/samba/log.%m максимальный размер журнала = 1000 DNS прокси = Нет общего доступа, разрешить гостей = Да panic action = / usr / share / samba / panic-action% d idmap config *: backend = tdb [homes] comment = Домашние каталоги допустимые пользователи =% S создать маску = 0700 маска каталога = 0700 просматриваемый = Нет
Значения, выделенные жирным шрифтом, - единственные, которые мы должны изменить изначально. Обратите внимание, что, несмотря на поведение Samba по умолчанию, мы явно объявили параметр безопасность = пользователь учитывая его большое значение.
Если в нашей локальной сети НЕТ WINS-сервера, мы можем заставить нашу Samba работать как таковую, добавив «Глобальный»Из файла smb.conf параметр выигрывает поддержку = Да., что настоятельно рекомендуется.
Золотое правило: Чем меньше мы изменяем и / или добавляем параметры в файл smb.conf, не зная заранее в деталях, чего мы хотим достичь, тем лучше будет.
Вот краткое изложение некоторых из показанных вариантов. Для получения дополнительной информации запустите человек smb.conf.
- рабочая группа: Контролирует, в какой рабочей группе будет отображаться оборудование при создании веб-браузера. Этот параметр также управляет доменным именем при работе с опцией безопасность = домен и в котором команда присоединяется к домену. Мы увидим это в следующих статьях. Значение по умолчанию - РАБОЧАЯ ГРУППА.
- имя netbios: Установите имя NetBIOS, под которым сервер Samba будет известен в сети. По умолчанию это то же самое, что и первый компонент Полное доменное имя от хозяина. В нашем примере Полное доменное имя команды miwheezy.amigos.cu. Мы можем использовать имя, отличное от имени хоста для нашего сервера Samba. В этом случае рекомендуется включить запись CNAME в наш DNS.
- безопасность: Параметр, который влияет на реакцию клиентов на Samba и является одним из самых важных в файле. smb.conf. Значение по умолчанию - пользователь.
- строка сервера: Определяет, какое имя будет отображаться в комментариях, которые появляются в веб-браузере рядом с названием команды.
- карта гостю: Параметр, который полезен только при установке безопасность = пользователь o безопасность = домен. Значение "Bad User" указывает Samba отклонить неверный пароль, если пользователь НЕ существует, и в этом случае он будет рассматриваться как гость или "гость«. Если мы не хотим разрешать гостевые сеансы, мы должны изменить его значение на Никогда, что и является значением по умолчанию, а также измените параметр usershare разрешить гостя a нет, которое также является значением по умолчанию.
- соблюдать ограничения пам: Контролирует, должна ли Samba подчиняться собственным ограничениям PAM «Подключаемый модуль аутентификации«, Что касается Директив по администрированию учетных записей пользователей и сессий. Значение по умолчанию - нет.
- изменение пароля pam: Указывает Samba использовать PAM для изменения пароля, запрашиваемого SMB-клиентом. Значение по умолчанию - нет.
- программа passwd: Программа, используемая для установки паролей UNIX для пользователей.
- passwd чат: Цепочка, которая контролирует разговор, происходящий между демонами. кто-то и локальная программа для изменения пароля, определенная в предыдущем параметре.
- синхронизация паролей unix: Указывает Samba синхронизировать пароль SMB с паролем UNIX, если первый изменится. Значение по умолчанию - нет.
- действительные пользователи: Список пользователей, которым разрешено входить в общий ресурс.
Перезапустите или перезагрузите службу Samba
Всякий раз, когда мы вносим существенные изменения, особенно в раздел «[Глобальный]" из smb.conf, мы должны перезапустить службу. Если у нас уже есть пользователи, подключенные к нашему серверу, каждый раз, когда мы перезапускаем Samba, мы будем отключать их. Вот почему и практически с этого момента мы будем перезагружать сервис только при добавлении или изменении общих ресурсов. Чтобы перезапустить службу, мы выполняем как корень:
перезапуск службы самбы
Для пополнения услуги:
сервис самба перезагрузка
Добавляем пользователей в систему и в базу пользователей Samba
Мы можем добавить в базу пользователей Samba только тех пользователей, которые уже существуют на нашем локальном сервере.
В нашем примере пользователь Xeon он был добавлен во время установки Wheezy. Поэтому мы не будем добавлять его в командные пользователи. Группа пользователей существует в системе и был создан во время установки.
Некоторые параметры команды smbpasswd являются:
- -a: Добавить указанного пользователя в локальный файл smbpasswd.
- -x: Указанного пользователя необходимо удалить из локального файла smbpasswd. Доступно только когда smbpasswd работает как корень.
- -d: Указанная учетная запись пользователя должна быть отключена. Доступно только когда smbpasswd работает как корень.
- -e: Противоположно опции -d пока учетная запись пользователя отключена.
Чтобы создать пользователей в нашей команде, мы делаем это известной командой Добавить пользователя.
adduser zeus adduser тритон
Чтобы создать группу contadores:
счетчики addgroup
Чтобы добавить пользователей в базу данных Samba:
smbpasswd -a корень smbpasswd -a xeon smbpasswd -a zeus smbpasswd -a triton
Присоединяемся к группе contadores пользователям, которых мы хотим:
счетчики adduser xeon adduser счетчики zeus adduser счетчики triton
Рекомендуется присоединять каждого созданного пользователя к группе пользователей, в случае, если мы хотим предоставить разрешения всем пользователям, которых мы создали, на определенном ресурсе. Более простой способ объединить нескольких пользователей в группу - это напрямую отредактировать файл. / etc / group, и добавив список пользователей через запятую. Им может руководить группа contadores. Мы предполагаем, что мы присоединяем пользователей к группе пользователей.
На рабочей станции, чтобы убрать отображение пользователей, созданных с помощью Добавить пользователя, мы должны отредактировать файл /etc/gdm3/greeter.gsettings и раскомментируйте вариант отключить список пользователей = правда, чтобы при входе в систему НЕ отображался список пользователей. Это стандартное поведение любого клиентского компьютера Windows, присоединенного к домену.
Точно так же, если мы хотим, чтобы созданные пользователи не запускали удаленный сеанс через SSH, редактируем файл / И т.д. / SSH / sshd_config и добавить в конец файла инструкцию Разрешить пользователей, пример:
[....] # и ChallengeResponseAuthentication на «нет». UsePAM да AllowUsers xeon
Добавляем общие ресурсы
Пример 1: Мы хотим поделиться папкой / главная / xeon / музыка для всех зарегистрированных пользователей. Разрешение будет только для чтения. Первым делом создаем папку / главная / xeon / музыка и при необходимости настраиваем его владельца и разрешения. Как пользователь Xeon мы выполняем:
mkdir / home / xeon / music ls -l / home / xeon | grep music
Затем в конце файла smb.conf мы добавляем следующее:
[music-xeon] comment = Путь к личной папке с музыкой = / home / xeon / music только для чтения = Да допустимые пользователи = @users список чтения = @users
После внесения изменений в файл выполняем тестпарм как пользователь Xeon и мы пополняем сервис как корень. Мы также можем запустить обе команды, например корень:
testparm сервис самба перезагрузка
Чтобы проверить недавно настроенную службу, мы можем сделать это, выполнив следующую команду на самом компьютере:
smbclient -L локальный хост -U%
Пример 2: Мы хотим поделиться папкой / главная / xeon / музыка для всех зарегистрированных пользователей. Разрешения будут на чтение / запись для Xeon и только чтение для остальных пользователей, принадлежащих к группе пользователей. Нам не нужно изменять владельца или права доступа к папке. Просто немного меняем настройки общего доступа в файле smb.conf.
[music-xeon] comment = Путь к личной папке с музыкой = / home / xeon / music только для чтения = Нет действительных пользователей = @users write list = xeon read list = @users
Пример 3: Мы хотим поделиться папкой / home / xeon / бухгалтерия для группы пользователей contadores. Все участники группы будут иметь разрешение на чтение. Пользователи тритон y Зевс они смогут писать в общую папку.
Теперь ЕСЛИ нам нужно изменить владельца и права доступа к папке учет после создания, чтобы они могли писать тритон y Зевс кто является членом группы contadores. Мы также должны позаботиться о том, чтобы последний пользователь, создавший или изменивший файл, не стал его абсолютным владельцем, чтобы его могли изменять другие пользователи с разрешениями на запись.
Важно понимать, как управлять поведением файловой системы из smb.conf, а также понимание того, как работает защита файловой системы UNIX / Linux.
В этих случаях мы должны:
- В удобное время объявите, кто будет пользователем-владельцем, а кто - группой владельцев совместно используемого каталога.
- Разрешить запись в общий каталог группой владельцев.
- Объявить бит SGID (Установить идентификатор группы) каталога во время его создания.
- Правильно объявить в файле smb.conf способы создания файлов и каталогов на нашем общем ресурсе.
Простое и возможное решение на практике у нас будет, если мы выполняем как корень:
mkdir / home / xeon / Accounting chown -R root: counters / home / xeon / Accounting chmod -R g + ws / home / xeon / Accounting ls -l / home / xeon
И в конец файла smb.conf добавляем следующее:
[бухгалтерский учет] комментарий = Путь к папке для бухгалтеров = / home / xeon / Accounting только для чтения = Нет допустимых пользователей = @ accountants write list = triton, zeus read list = @ accountants force create mode = 0660 force directory mode = 0770
Сразу проверяем базовый синтаксис smb.conf через тестпарм и мы пополняем сервис через сервис самба перезагрузка. Мы также можем запустить smbclient -L локальный хост -U%. на локальном сервере и smbclient -L mywheezy -U% o smbclient -L mywheezy.friends.cu -U% с удаленного компьютера.
Время такое, что с удаленного компьютера мы подключаемся к общему ресурсу и делаем все необходимые тесты. Желательно проверить, как изменяется пользователь, которому принадлежат папки и файлы, по мере их создания на ресурсе.
Внимание: Пользователь корень или пользователь Xeon и вообще любой участник группы contadores, вы можете писать из локального сеанса, запущенного на том же компьютере, или SSH, то есть без использования протокола SMB / CIFS. Если вы создаете папку или файл локально, не забудьте переназначить соответствующие разрешения. Проверить по ls -l. Несоблюдение вышеуказанного является источником большой путаницы.
Друзья, простите меня за объем статьи, и я надеюсь, что она будет вам полезна. До следующего приключения!
Как всегда превосходно. Такие статьи ценятся, когда мы работаем с серверами. 😉
Очень хороший freeke, но для меня лучше использовать FreeNAS для таких вещей
😉
Спасибо за ваши комментарии!!!. Freeke, FreeNAS от FreeBSD - еще одна дикая история, и я могу посвятить ей статью. В конце концов, это Samba вместо FreeBSD.
Должен сказать, очень хороший пост, как я всегда говорил, если бы вы разместили его несколько лет назад, это избавило бы меня от многих проблем, но хорошо, что кому-то интересно показать, как настроить самбу, Приветствую
Как говорится, «никогда не поздно, если счастье хорошо», а другой «лучше поздно, чем никогда». Спасибо за комментарий. Я начал использовать Samba, кажется, примерно в 2007 году. До сих пор я не мог ничего опубликовать об этом.
Точно так же я использую самбу почти то же время, но я вижу, что вы многое усовершенствовали и правы, что «никогда не поздно, если счастье - это хорошо», мне показалось, я должен сказать, что очень хорошо, что кто-то делится своими знаниями Иногда не решаются или не успевают, в моем случае это первое, Приветствую
Друг @fico, мне очень нравятся твои статьи. Они очень хорошо объяснены и подробны. Спасибо.
Надеюсь, они вам пригодятся. Это цель !!!.
Да, это
Кстати, я только что видел вашу статью, размещенную на другой странице (http://www.infognu.com.ar/2013/08/samba-servidor-independiente-en-debian.html) и ссылки на первоисточник действительно мало. Это не сделано. Черт побери, заслуга перед тем, кто этого заслуживает! Я не знаю, могут ли они отсюда попросить тех людей, которые делают что-то по-крупному. Для неподготовленного глаза это будет выглядеть так, как если бы они его создали и разместили.
Г-н автор сообщения, что, если вы создадите статью о том, как делиться файлами с помощью самбы для обычных пользователей? Я имею в виду что-то менее обширное и более графическое, например, как делиться из Linux в Linux и из Linux в Windows, но не из одного как профессиональный способ, а как обмен файлами между ПК дома.
В этом случае я рекомендую использовать ssh для Linux - Linux и winscp для Windows - Linux. На этом же сайте есть несколько статей.
Этот же пост, хотя он может показаться сложным, если вы скопируете и вставите несколько включенных в него команд, он также будет работать в домашней сети.
Хотя было бы более практично использовать систему SMB / CIFS, чтобы использовать тот же протокол обмена файлами для Windows (или для краткости общих папок).
Я проведу свои эксперименты, чтобы иметь возможность сделать руководство по созданию общей папки в GNU / Linux (в моем случае, Debian Wheezy), чтобы сети с Windows распознавали ее как общую папку.
очень хорошо, и длина того стоит, но, возможно, вам стоит упомянуть параметр oslevel заранее, прежде чем взаимодействовать с окнами.
привет
Обратите внимание, что это сеть без контроллера домена Windows. Мы будем использовать этот параметр, когда имеем дело с машиной, присоединенной к домену.
когда у меня будет время, я буду
[оффтоп] Я хотел бы опубликовать уроки по GIMP. Оно может?
[/ не по теме]
Друг @giskard, я только что был http://www.infognu.com.ar/2013/08/samba-servidor-independiente-en-debian.html, и я не видел ссылки на этот пост. Они сделали копию на щеке, Хахахахахаха. Это говорит о том, что, по крайней мере, пост хорошего качества. Я говорю: нет?
В конце крошечными буквами находится ссылка "источник", указывающая на этот сайт. Но поступить так мне кажется абсолютной грубостью и неуважением. К счастью, здесь мы знаем, кто автор 🙂
Ссылку ставят, но вряд ли можно заметить, что они должны были упомянуть в начале статьи.
В вики Arch сказано, что начиная с версии 3.4 рекомендуется использовать pdbedit вместо smbpasswd.
Один вопрос, по словам друга, перед добавлением пользователя в Samba, пользователь должен быть создан в системе, но с / bin / false
useradd -s / bin / false myuser
Это правда 0.o?
Друг @ truko22, и вообще, для задающих подобные вопросы. Помните, что мы всегда заявляли, что даем только Точка входа к теме. Также рекомендуем ознакомиться с сопроводительной документацией. В конце концов, персонализация услуги является обязанностью того, кто ее реализует, в соответствии с их потребностями и уровнем безопасности, который их удовлетворяет.
Например, проблемы с разрешениями можно избежать, если мы разрешим кому угодно писать в общий ресурс, используя CHMOD 777. Конечно, это небезопасное решение.
Вы можете запретить пользователю запускать локальный сеанс или через ssh, если мы создадим его через пользователь adduser –shell / bin / false. То есть созданный таким образом пользователь не может получить доступ к терминалу или консоли.
Другими словами, Samba можно настроить разными способами, от самых простых до самых сложных.
Что просходит?. Если мы напишем сообщение, не разрешая пользователям, добавленным в Samba, входить в систему локально, они наверняка спросят, почему. Поэтому мы предпочитаем писать его наиболее классическим способом и позволяем каждому делать собственные выводы.
@ truko22, Спасибо за то, что правильно подметили предыдущий комментарий !!!
Большое спасибо, теперь я понимаю 😀 насчет –shell / bin / false
Друг @ truko22, про пдбедить забыл. Начиная с Etch я привык использовать smbpasswd. Эта команда может быть выполнена любым пользователем в системе, и ее поведение и результаты различаются. pdbedit, также может использоваться, но может быть вызван только пользователем root.
О Samba вы можете написать целые статьи о многих ее командах.
Это очень хорошо!!
привет
Очень хорошая статья. Поздравления и спасибо за такой вклад
Я хотел спросить вас, была ли статья о samba как контроллере домена, и если он уже может управлять доменом с помощью групповых политик, таких как сервер Windows, я имею в виду предотвращение изменения свойств сетевых адресов, использования pendrives и т. Д.
Здравствуйте, как дела, Фико, я установил Samba 3.6 с LDAP и LAM 3.7 - я хотел бы знать, знаете ли вы, как разрешить пользователям изменять пароль при запуске раздела, поскольку он говорит мне, что "у вас нет разрешения на изменение пароля" Привет ...