Samba: Самостоятелен сървър на Debian

Здравейте приятели!. Ако искаме да имаме независим сървър (Standalone) за споделяне на ресурси или от нашата работна станция; или за малка група машини; или за LAN без контролер на домейн в стил Microsoft е най-лесно да го направите с помощта на Samba.

Има няколко графични инструмента за тази цел, както и инструмента за администриране на Samba чрез уеб "SWAT". Въпреки това, Препоръчваме за начинаещи, които стартират в този прекрасен свят ръчно. Не е толкова трудно или дяволски, както мнозина мислят. И в процеса научавате много за SMB / CIFS мрежите и за разрешенията и правата на файловите системи на Linux.

Преди да продължите, препоръчваме да прочетете:

Няма да видим как да споделяте принтери, използващи Samba -. На тези, които желаят да използват този пакет за тези цели, препоръчваме да прочетат придружаващата документация, както е посочено в Самба: Необходимо въведение. Можете също да прочетете статията ЧАШКИ: Как да използвате и конфигурирате принтерите по лесния начин.

Основни моменти, които трябва да се имат предвид

  • Въпреки цялата аура, която заобикаля Активните директории и техните Домейнови контролери, които в много случаи не са необходими или лошо експлоатирани, инсталирането и конфигурирането на независим Samba сървър е валидна и надеждна опция.
  • Независимият сървър може да бъде толкова сигурен или несигурен според нашите нужди и ние можем да го конфигурираме по прост или сложен начин.
  • Удостоверяването на потребителя се извършва на самия сървър, където се намират ресурсите.
  • За да може потребителят да има достъп до ресурси от отдалечен компютър, той също трябва да бъде регистриран в потребителската база на Samba.
  • Можем да добавим към потребителската база данни Samba само онези потребители, които вече съществуват на нашия сървър или настолна машина.
  • Самостоятелният Samba сървър НЕ предоставя мрежово влизане, както прави домейн контролерът. Той също така не осигурява влизане в домейн.
  • Колкото по-малко променяме и / или добавяме параметри към файла /etc/smb.conf Без първо да знаем подробно какво искаме да постигнем, ще бъде много по-добре.
  • Услугата за споделяне на ресурси в Samba работи върху файловата система Linux, включително присъщата й сигурност. Много проблеми се решават, като се обръща необходимото внимание на разрешенията за файлове и директории.
  • Важно е да разберете как да се справите с поведението на файловата система от файла smb.conf, както и разбиране как работи защитата на файловата система UNIX / Linux.
  • Препоръчваме да не използвате акценти, имена или интервали в имената на папки и споделени ресурси. За предпочитане използвайте малки букви за имена.
  • Имената за споделяне не могат да се повтарят в LAN. Всяко име е уникално.
  • Ако в нашата локална мрежа НЯМА WINS сървър, можем да накараме нашата Samba да действа като такава, като добавим в «в световен мащаб»От файла smb.conf параметъра печели поддръжка = Да., което е силно препоръчително.

Примерен сървър

име: хрипове. Домейн: friends.cu. IP: 10.10.10.20. потребители: ксеон, зевс и тритон. Допълнителни групи: броячи

Инсталация

Чрез Synaptic или през конзолата инсталираме пакета самба.

sudo aptitude инсталирайте samba

Много е полезно да инсталирате и пакета smbclient. Ще го използваме за проверки.

В процеса пакетите ще бъдат инсталирани - но преди това сме инсталирали някои други, свързани със Suite- самба, самба-общ, samba-common-bin y tdb-инструменти. Също така файлът е създаден /etc/samba/smb.conf. Този файл ще бъде създаден, докато са инсталирани пакетите самба-общ y samba-common-bin, и няма да бъдат изтрити от системата, докато не ги деинсталираме.

Файлът smb.conf е най-важният в Samba Suite

Samba има огромен брой опции за конфигуриране, повечето от които не са показани в примера на smb.conf който се инсталира по подразбиране. Опциите, коментирани с «;»Считат се за достатъчно важни за показване и техните стойности по подразбиране се различават от стандартните поведения на Samba. Опциите за конфигурация, коментирани с «#«, По подразбиране има Samba и също се считат за важни за показване.

Ако искаме да видим съдържанието на файла, без да разглеждаме коментираните опции или с «;"или с"#«, Трябва да изпълним:

 egrep -v '# |; | ^ * $' /etc/samba/smb.conf

Ако искаме да видим съдържанието на файла, без да разглеждаме опциите, коментирани с «#«, Трябва да изпълним:

egrep -v '# | ^ * $' /etc/samba/smb.conf

Първото нещо, което трябва да направите, е копие на файла /etc/samba/smb.conf. В самия файл намираме начина, по който Samba препоръчва да се направи работно копие, което подробно описваме по-долу. Като корен изпълняваме:

cd / etc / samba mv smb.conf smb.conf.master testparm -s smb.conf.master> smb.conf
root @ miwheezy: / etc / samba # ls -l
общо 32 -rw-r - r-- 1 корен корен 8 ноември 10 2002 gdbcommands -rw-r - r-- 1 корен корен 805 4 август 12:05 smb.conf -rw-r - r-- 1 корен корен 12173 4 август 12:05 smb.conf.master

Забележете разликата в размера между генерирания по този начин smb.conf и оригинала. Тъй като размерът е по-малък, производителността на сървъра се увеличава в съответствие с посочената от екипа на Samba.

Първоначалното съдържание на файла /etc/samba/smb.conf Ще бъде (не забравяйте, че няма да разработим споделяне на принтери):

[Глобален]
        работна група = ПРИЯТЕЛИ netbios име = MIWHEEZY сигурност = потребител
        низ на сървъра =% h карта на сървъра към гост = Лош потребител се подчинява на ограниченията на pam = Да, промяна на паролата на pam = Да, passwd програма = / usr / bin / passwd% u passwd chat = * Enter \ snew \ s * \ spassword: *% n \ n * Повторно въведете \ snew \ s * \ spassword $ unix парола sync = Да syslog = 0 регистрационен файл = /var/log/samba/log.%m макс. размер на регистрационния файл = 1000 dns прокси = Няма потребителско разрешаване на гости = Да паническо действие = / usr / share / samba / panic-action% d idmap config *: backend = tdb [домове] comment = Начални директории валидни потребители =% S create mask = 0700 directory mask = 0700 browseable = No

Стойностите, подчертани с удебелен шрифт, са единствените, които трябва да променим първоначално. Имайте предвид, че въпреки поведението на Samba по подразбиране, ние изрично декларирахме опцията сигурност = потребител предвид голямото му значение.

Ако в нашата локална мрежа НЯМА WINS сървър, можем да накараме нашата Samba да действа като такава, като добавим в «в световен мащаб»От файла smb.conf параметъра печели поддръжка = Да., което е силно препоръчително.

златно правило: Колкото по-малко променяме и / или добавяме параметри към файла smb.conf, без първо да знаем подробно какво искаме да постигнем, толкова по-добре ще бъде.

Ето кратко резюме на някои от показаните опции. За повече информация, моля, стартирайте човек smb.conf.

  • работна група: Контролира в коя работна група ще се появи оборудването при създаване на уеб браузър. Този параметър контролира и името на домейна, когато работите с опцията сигурност = домейн и в която екипът се присъединява към домейн. Ще го видим в следващите статии. Стойността по подразбиране е WORKGROUP.
  • име на netbios: Задайте името на NetBIOS, с което сървърът Samba ще бъде известен в мрежата. По подразбиране е същото като първия компонент на FQDN от домакина. В нашия пример FQDN на отбора е miwheezy.amigos.cu. Можем да използваме различно име от хоста за нашия Samba сървър. В този случай е препоръчително да включите CNAME запис в нашия DNS.
  • сигурност: Параметър, който влияе върху това как клиентите реагират на Samba и е един от най-важните във файла smb.conf. Стойността по подразбиране е потребител.
  • низ на сървъра: Контролира кое име се показва в коментарите, които се появяват в уеб браузър до името на екипа.
  • карта на госта: Параметър, който е полезен само когато е зададен сигурност = потребител o сигурност = домейн. Стойността "Bad User" казва на Samba да отхвърли невалидна парола, освен ако потребителят НЕ съществува, в който случай ще бъде третиран като гост или "гост«. Ако не искаме да разрешим гост сесии, трябва да променим стойността му на Никога, което е точно стойността по подразбиране, а също така променете параметъра потребителите позволяват гост a Не., което е и стойността по подразбиране.
  • спазвайте ограниченията на pam: Контролира дали Samba трябва да спазва собствените ограничения на PAM «Сменяем модул за удостоверяване«, Относно директивите за администриране на потребителски акаунти и сесии. Стойността по подразбиране е Не..
  • pam промяна на парола: Казва на Samba да използва PAM за промени в паролата, поискани от SMB клиент. Стойността по подразбиране е Не..
  • програма passwd: Програма, използвана за задаване на UNIX пароли за потребители.
  • passwd чат: Верига, която контролира разговора, който се провежда между демона някой друг и локалната програма за промяна на паролата, дефинирана в предишния параметър.
  • синхронизиране на парола на Unix: Казва на Samba да синхронизира SMB паролата с UNIX паролата, стига първата да се промени. Стойността по подразбиране е Не..
  • валидни потребители: Списък на потребители, на които е разрешено да влязат в споделен файл.

Рестартирайте или презаредете услугата Samba

Винаги, когато правим значителни промени, особено в раздела «[Глобален]" от smb.conf, трябва да рестартираме услугата. Ако вече имаме потребители, свързани към нашия сървър, всеки път, когато рестартираме Samba, ще ги прекъснем. Ето защо и на практика отсега нататък ще презаредим услугата само когато добавяме или модифицираме споделени ресурси. За да рестартираме услугата, изпълняваме като корен:

рестартиране на услугата samba

За да презаредите услугата:

презареждане на услуга самба

Добавяме потребителите към системата и към потребителската база данни на Samba

Можем да добавяме към потребителската база данни Samba само онези потребители, които вече съществуват на нашия локален сървър.

В нашия пример потребителят Xeon той е добавен по време на инсталацията на Wheezy. Следователно няма да го добавяме към потребителите на екипа. Групата потребители съществува в системата и е създаден по време на инсталацията.

Някои командни опции smbpasswd звук:

  • -a: Добавете посочения потребител към локалния файл smbpasswd.
  • -x: Посоченият потребител трябва да бъде премахнат от локалния файл smbpasswd. Налично само когато smbpasswd работи като корен.
  • -d: Посоченият потребителски акаунт трябва да бъде деактивиран. Налично само когато smbpasswd работи като корен.
  • -e: Противоположно на опцията -d стига акаунтът на потребителя да е деактивиран.

За да създадем потребителите в нашия екип, ние го правим с добре познатата команда adduser.

adduser зевс adduser тритон

За да създадете групата броячи:

броячи на добавени групи

За да добавите потребители към базата данни Samba:

smbpasswd -корен
smbpasswd -a xeon smbpasswd -a Зевс smbpasswd -a тритон

Присъединяваме се към групата броячи на потребителите, които искаме:

adduser xeon броячи adduser zeus броячи adduser тритон броячи

Препоръчително е да се присъедините към всеки потребител, създаден към групата Потребители, в случай че искаме да предоставим разрешения на всички потребители, които сме създали, на определен ресурс. По-лесен начин за присъединяване на множество потребители към група е чрез директно редактиране на файла / и т.н. / групаи добавяне на списък с потребители, разделени със запетая. Те могат да бъдат ръководени от групата броячи. Предполагаме, че присъединяваме потребителите към групата Потребители.

На работна станция, за да премахнете показваните потребители, създадени с adduser, трябва да редактираме файла /etc/gdm3/greeter.gsettings и коментирайте опцията disable-user-list = true, така че НЯМА списък с потребители да се показва при влизане. Това е стандартното поведение на всеки клиентски компютър с Windows, присъединен към домейн.

По същия начин, ако искаме създадените потребители да не стартират отдалечена сесия SSH, редактираме файла / И т.н. / SSH / sshd_config и добавете инструкцията в края на файла Разрешаване на потребители, например:

[....] # и ChallengeResponseAuthentication на „не“. UsePAM да AllowUsers xeon

Добавяме споделени ресурси

Пример 1: Искаме да споделим папката / начало / xeon / музика за всички регистрирани потребители. Разрешението ще бъде само за четене. Преди всичко създаваме папката / начало / xeon / музика и ние конфигурираме неговия собственик и разрешения, ако е необходимо. Като потребител Xeon изпълняваме:

mkdir / home / xeon / music ls -l / home / xeon | grep музика

След това в края на файла smb.conf добавяме следното:

[music-xeon] comment = Път на личната музикална папка = / home / xeon / music read only = Да валидни потребители = @users read list = @users

След модификациите на файла изпълняваме testparm като потребител Xeon и презареждаме услугата като корен. Можем да изпълняваме и двете команди като корен:

testparm услуга самба презареждане

За да проверим новоконфигурираната услуга, можем да го направим, като изпълним следната команда на самия компютър:

smbclient -L локален хост -U%

Пример 2: Искаме да споделим папката / начало / xeon / музика за всички регистрирани потребители. Разрешенията ще се четат / пишат за Xeon и само за четене за останалите потребители, принадлежащи към групата Потребители. Нямаме нужда да променяме собственика или разрешенията за папката. Просто променяме малко настройките за споделяне във файла smb.conf.

[music-xeon] comment = Път на лична музикална папка = / home / xeon / music read only = Няма валидни потребители = @users write list = xeon read list = @users

Пример 3: Искаме да споделим папката / начало / xeon / счетоводство за потребителска група броячи. Всички членове на групата ще имат разрешение за четене. Потребителите тритон y Зевс те ще могат да пишат в споделената папка.

Сега АКО трябва да модифицираме собственика и разрешенията за папката счетоводство след създадени, за да могат да пишат тритон y Зевс които са членове на групата броячи. Трябва също така да се погрижим последният потребител, който създава или модифицира файл, да не стане неговият абсолютен собственик, така че той да може да бъде модифициран от други потребители с разрешения за запис.

Важно е да разберете как да се справите с поведението на файловата система от smb.conf, както и разбиране как работи защитата на файловата система UNIX / Linux.

В тези случаи трябва:

  • Декларирайте при удобство кой ще бъде собственикът на потребителя и кой ще бъде групата на собствениците на споделената директория.
  • Позволете писането в споделената директория от групата на собствениците.
  • Декларирайте бита SGID (Задайте идентификатор на група) на директорията по време на нейното създаване.
  • Декларирайте правилно във файл smb.conf начините за създаване на файлове и директории в рамките на нашия споделен ресурс.

Едно просто и възможно решение на практика ще имаме, ако изпълняваме като корен:

mkdir / home / xeon / счетоводство chown -R root: броячи / home / xeon / счетоводство chmod -R g + ws / home / xeon / счетоводство ls -l / home / xeon

И добавяме следното в края на файла smb.conf:

[счетоводство] коментар = Папка за счетоводители път = / начало / xeon / счетоводство само за четене = Няма валидни потребители = @ счетоводители списък за писане = triton, списък за четене на Zeus = @ счетоводители принудителен режим на създаване = 0660 принудителен режим на директория = 0770

Веднага проверяваме основния синтаксис на smb.conf чрез testparm и ние презареждаме услугата чрез презареждане на услуга самба. Можем и да бягаме smbclient -L локален хост -U%. на локалния сървър и smbclient -L mywheezy -U% o smbclient -L mywheezy.friends.cu -U% от отдалечения компютър.

Времето е, че от отдалечен компютър се свързваме със споделения ресурс и правим всички необходими тестове. Препоръчително е да проверите как потребителят, който притежава папките и файловете, се променя при създаването им в ресурса.

Важно: Потребителя корен или потребителя Xeon и като цяло всеки член на групата броячи, можете да пишете от локална сесия, стартирана на същия компютър или от SSH, тоест без да се използва протоколът SMB / CIFS. Ако създавате папка или файл локално, не забравяйте да преназначите съответните разрешения. Проверете от ls -l. Неизпълнението на горното е източник на много объркване.

Приятели, простете ми дължината на статията и се надявам да ви е от полза. До следващото приключение!


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   елав каза той

    Отлично както винаги. Този тип статии се оценяват, когато работим със сървъри. 😉

  2.   Julio Cesar каза той

    Много добър freeke, но за мен е по-добре да използвам FreeNAS за такива неща
    ????

  3.   Федерико Антонио Валдес Туяге каза той

    Благодаря за вашите коментари !!!. Freeke, FreeND на FreeBSD е друга дива история и мога да посветя статия на нея. В крайна сметка това е Samba над FreeBSD.

  4.   Erick каза той

    Много добър пост трябва да кажа, както винаги съм казвал, ако бяхте публикували това преди няколко години, това би ми спестило много проблеми, но е добре, че някой се интересува да покаже как да конфигурира самба, Поздрави

    1.    Федерико Антонио Валдес Туяге каза той

      Както се казва „никога не е късно, ако щастието е добро“, а другата „по-добре е късно, отколкото никога“. Благодаря за коментара. Започнах да използвам Samba, мисля, че около 2007 г. Досега не бях в състояние да публикувам нищо за това.

      1.    Erick каза той

        По същия начин използвам самба от почти същото време, но виждам, че сте се усъвършенствали много и сте прав, че „никога не е късно, ако щастието е добро“, струва ми се, трябва да кажа, че много добре е някой да споделя знанията си Понякога човек не е насърчаван или няма време, в моя случай е първият, Поздрави

  5.   Гискард каза той

    Приятел @fico, много харесвам статиите ти. Те са изключително добре обяснени и подробни. Благодаря ти.

    1.    Федерико Антонио Валдес Туяге каза той

      Надявам се да са ви полезни. Това е целта !!!.

      1.    Гискард каза той

        Да, това е 🙂

        Между другото, току-що видях вашата статия, публикувана на друга страница (http://www.infognu.com.ar/2013/08/samba-servidor-independiente-en-debian.html) и препратката към източника е наистина малка. Това не е направено. Заслуга към този, който го заслужава, по дяволите! Не знам дали оттук те могат да помолят тези хора да поставят кой прави нещата по голям начин. За нетренираното око щеше да премине, сякаш го създадоха и публикуваха.

  6.   "Оскар" каза той

    Г-н автор на публикацията, какво ще стане, ако създадете статия за това как да споделяте файлове чрез samba за обикновени потребители? Като професионален начин, но като за споделяне на файлове между компютри у дома.

    1.    Федерико Антонио Валдес Туяге каза той

      В този случай препоръчвам да използвате ssh за Linux - Linux и winscp за Windows - Linux. На същия сайт има няколко статии.
      Същият този пост, макар и да изглежда сложен, ако копирате и поставите няколкото команди, които включва, той работи и за домашна мрежа.

      1.    eliotime3000 каза той

        Въпреки че би било по-практично да се използва системата SMB / CIFS, за да се използва един и същ протокол за споделяне на файлове за Windows (или споделени папки за кратко).

        Ще направя експериментите си, за да мога да направя урок за това как да направя споделена папка в GNU / Linux (в моя случай Debian Wheezy), така че мрежите с Windows да я разпознават като споделена папка.

  7.   ниво каза той

    много добре и дължината си заслужава, но може би трябва да споменете параметъра oslevel по-рано, преди да взаимодействате с windows.
    поздрави

    1.    Федерико Антонио Валдес Туяге каза той

      Имайте предвид, че това е мрежа без Windows Domain Controller. Ще използваме този параметър, когато имаме работа с машина, присъединена към домейн.

  8.   последен новобранец каза той

    когато имам малко време, ще го направя
    [offtopic] Бих искал да публикувам уроци за GIMP. То може?
    [/ извън темата]

  9.   Федерико Антонио Валдес Туяге каза той

    Приятел @giskard, току-що посетих http://www.infognu.com.ar/2013/08/samba-servidor-independiente-en-debian.html, и не видях никаква препратка към тази публикация. Направиха копие / паста на бузата, Хахахахахаха. Това показва, че поне публикацията е с добро качество. Казвам, не?, Хахахахахахаха.

    1.    Гискард каза той

      Близо до края с малки букви е връзката, която казва „източник“ и сочи към този сайт. Но да го направя по този начин ми се струва пълна грубост и липса на уважение. За щастие тук знаем кой е авторът 🙂

    2.    Юлий Цезар каза той

      Те наистина поставят препратката, но едва ли може да се забележи, че е трябвало да споменат в началото на статията

  10.   truko22 каза той

    В уикито на arch пише, че от версия 3.4 се препоръчва да се използва pdbedit вместо smbpasswd.

    Един въпрос, според приятел, преди да добавите потребител към Samba, потребителят трябва да бъде създаден в системата, но с / bin / false
    useradd -s / bin / false myuser
    Вярно ли е 0.o?

  11.   Федерико Антонио Валдес Туяге каза той

    Приятел @ truko22 и като цяло за тези, които задават подобни въпроси. Не забравяйте, че винаги сме заявявали, че даваме само a Входна точка към субекта. Препоръчваме също да прочетете придружаващата документация. В крайна сметка, персонализирането на услугата е отговорност на този, който я изпълнява, по начин, който отговаря на техните нужди и нивото на сигурност, което ги удовлетворява.

    Например проблемът с разрешенията може да бъде избегнат, ако позволим на никого да пише в споделеното с помощта коригират 777. Разбира се, това не е безопасно решение.

    Можете да попречите на потребителя да стартира локална сесия или чрез ssh, ако го създадем adduser потребител - черупка / кош / фалшив. Тоест така създаденият потребител няма достъп до терминал или конзола.

    С други думи, Samba може да бъде конфигуриран по много начини, вариращи от най-простия до най-сложния.

    Какво става?. Ако от самото начало напишем публикацията, без да позволим на потребителите, добавени към Samba, да влизат локално, те със сигурност ще попитат защо. Ето защо предпочитаме да го напишем по възможно най-класическия начин и нека всеки да направи своите изводи.

    @ truko22, Благодаря, че ми даде точната точка да направя предишния коментар !!!

    1.    truko22 каза той

      Благодаря ви много, сега разбирам 😀 за –shell / bin / false

  12.   Федерико Антонио Валдес Туяге каза той

    Приятел @ truko22, забравих за pdbedit. От Etch свикнах да използвам smbpasswd. Тази команда може да бъде изпълнена от всеки потребител в системата и нейното поведение и резултати варират. pdbedit, също може да се използва, но може да бъде извикано само от основния потребител.

    За Samba можете да пишете цели статии за много от нейните команди.

  13.   Лъв каза той

    Много е добро!!
    поздрави

  14.   Marcos каза той

    Много добра статия. Поздравления и благодарности за подобен принос

  15.   йосеузин каза той

    Исках да ви попитам дали има статия за samba като контролер на домейни и дали тя вече може да контролира домейна с групови политики като Windows сървър, имам предвид да предотвратя промяната на свойствата на мрежовите адреси, използването на pendrives и т.н.

  16.   Рикардо Мехиас каза той

    Здравейте, как е Fico, инсталирах Samba 3.6 с LDAP и LAM 3.7 - бих искал да знам дали знаете как да разрешите на потребителите да променят паролата при стартиране на раздела, тъй като ми казва „нямате разрешение да промените паролата си поздравления ...