Файловият сървър на Samba.

Сега, доста често в една локална мрежа, можете да намерите компютри с Linux и Windows. Причините за това могат да бъдат различни симбиоза: например, собствениците на интернет кафенета не разполагат с достатъчно средства за закупуване на лицензираната операционна система за всички компютри, или мрежов администратор Linux просто привлича положителна страна. Популярността на операционните системи от Microsoft до голяма степен се определя от клиентския софтуер за Windows. Не е тайна, че този софтуер е много развит. Много компании са полагали сериозни усилия и са създали наистина добри и най-важните, лесни за използване програми, които дори средният потребител може лесно да овладее. Но като сървър, позицията на Windows вече не е толкова недвусмислена. Сървър с Unix традиционно има надеждност, стабилност при работа, сигурност и често по-малко изисквания за системни ресурси. Но във всеки случай, просто свързване на компютри с различни софтуерни платформи към мрежата, няма да получим очаквания резултат. Целият проблем е, че тези две системи използват различни принципи за организиране на мрежови ресурси, които са несъвместими един с друг.
Тъй като не може да се очаква милост на Microsoft и Windows е малко вероятно да се научат да работят с мрежовата система Unix File (NFS) стандартни инструменти и програми на трети страни, за да бъда честен, аз не знам, най-популярният начин е да се опита да научи Unix «преструвам", като че ли би било Windows NT.

Взаимодействието в мрежа от компютри с Windows се основава на използването на протокола SMB (блок за сървърни съобщения)блокове от сървърни съобщения. Той гарантира, че всички необходими в тези случаи задачите на отваряне и затваряне, четене и писане, намиране на файлове, създаване и изтриване на директории, създаване на задание за печат и да го извадите от там. Всички необходими действия за това се прилагат на Unix-подобни операционни системи, като се използва пакета SAMBA, Неговите възможности могат да бъдат разделени на две категории: осигуряване на ресурси (което означава достъп до системата от принтери и файлове) за клиенти на Windows и достъп до ресурсите на клиента. Това означава, че компютър, работещ под Linux, може да действа като сървър или клиент. Първо, помислете за опцията SAMBA сървър.

Какво трябва да осигури SAMBA за нормална работа в мрежата на Windows машини? На първо място, контрол на достъпа, които могат да бъдат осъществени или на нивото на ресурси (ниво дял), когато всеки ресурс в мрежата се присвоява парола и съответните правила за ползване (например "само за четене"), и името на потребителя няма абсолютно няма стойност; или по-напреднали и гъвкава организация на потребителско ниво, когато се създава всеки потребителски акаунт, където в допълнение към потребителско име и парола предоставя цялата необходима информация относно правата за достъп до ресурса. Преди да се осъществи достъп до необходимия ресурс, всеки потребител се удостоверява и след това му се дават права по сметките. На второ място е необходимо емулиране на правата за достъп, определени от файловата система. Въпросът е, че разглежданите системи имат различни права на достъп до файлове и директории на диска. В Unix традиционно има три категории потребители на файлове: собственик (собственик), група (група)и други (други), Всеки от тези предмети може да бъде снабден с права за четене, записа (запис)и изпълнение (изпълнение), В Windows NT системата за достъп е донякъде по-гъвкава, достъпът се предоставя на няколко групи или потребители и съответните права за достъп се определят отделно за всеки обект. Ето защо е невъзможно напълно да се подражават инструментите на SAMBA с права на достъп, които са присъщи на NTFS.

С клиентите, работещи под управлението Windows 9x, ситуацията е различна. Още от дядо DOS, се дължи на факта, че системата за един потребител и всички потребители и групи, а дори и повече може да става въпрос за определението в четирите качества FAT файловата система - само четене (само за четене), система (система), архив (архив) и скрита (скрита), Освен това в Windows, за разлика от Unix, файловото разширение има специално значение - тези, които са предназначени за изпълнение, имат разширения .exe, .com или .bat. При копиране на файлове от Unix машини на компютри, работещи под Windows, атрибутите се задават както следва:

само за четене- четене, записване за собственика;

архивен   - изпълнение за собственика;

систематичен   - изпълнение за групата;

скрито - изпълнението за групата.

Мрежа от Windows машини може да бъде организирана като работна група, където компютрите са независими една от друга и всяка от тях има собствена парола и база данни за влизане със собствена политика за сигурност, а също и като NT домейн. Цялата база данни за потребителско и компютърно удостоверяване се управлява главният домейн контролер (PDC, контролер на домейни), т.е. тя е централизирана. Samba ви позволява да ограничите достъпа до всички тези нива и действа като "главен браузър" в контекста на работна група или домейн контролер.

С корпоративни въпроси се разглеждат. Да разгледаме конкретно изпълнението и конфигурацията на сървъра SAMBA в Linux. За да стартирате Samba сървър, е необходимо да се стартират два демона: smbd, който предоставя услуга за печат и споделяне на файлове за клиенти на Samba (като Windows на всички апартаменти) и nmbd, който осигурява работата на услугата за имена на NetBIOS (може да се използва и за запитване на други демони от пространството на имената). За достъп до клиенти се използва протокол TCP / IP, Обикновено Samba се инсталира с Linux дистрибуцията. Как да проверя? Просто дайте командата:

  $ whereis samba

и трябва да получите нещо подобно:

Самба: / usr / sbin / samba / etc / samba /usr/share/man/man7/samba.7.gz

Ако не е в стандартната доставка, добре дошли ftp://ftp.samba.org/pub/samba/samba-latest.tar.gz    или на практика на всеки сървър с програми за Linux. Пакетът е лесен за инсталиране, така че, за да не се запълни пространството, ще приемем, че е инсталиран. Сега нека проверим дали демонът работи:

  $ ps -aux | grep smbd корен 1122 0.0 0.6 4440 380? S 16:36 0:00 smbd -D

Вече, както виждате, вече тичам. Ако нямате такъв и искате да стартира при стартиране на системата, в Linux Mandrake например маркирайте желания елемент в DrakConfстартиращи услугиили в Контролен панел на Red HatСервизна конфигурация, обикновено това е достатъчно. Или изпълнете ръчно: ./etc/rc.d/init.d/smb start. Единственият конфигурационен файл на Samba се нарича smb.conf и обикновено се намира в директорията / etc (въпреки че в AltLinux например тя се намира в директорията / etc / samba). Услугата SAMBA я прочита на всеки 60 секунди, така че направените промени в конфигурацията влизат в сила без рестартиране, но не се прилагат към вече установени връзки.

Ето защо аз обичам Linux, то е защото конфигурационните файлове са на обикновен текст (също добър коментар от вътрешната страна), както и да използвате повечето от опциите, просто трябва да разкоментирате съответния ред. Файлът smb.conf не е изключение. Състои се от наименовани дялове, започващи с името на раздела, ограден в квадратни скоби. Във всяка секция има няколко параметъра под формата на ключ = стойност. Конфигурационният файл съдържа четири специални секции: ,,, и отделни ресурси (акции). Както подсказва името, секцията съдържа най-често срещаните характеристики, които ще се прилагат навсякъде, но които обаче могат да бъдат предефинирани в секции за отделни ресурси. Някои параметри на този раздел са свързани с конфигурацията на клиентската част на Samba.

Стойности на типичните параметри на секцията в световен мащаб:

Workgroup = GROUPNAME # Името на работната група на мрежата Windows името на NetBIOS = име на сървъра, в сървъра низ мрежа = коментара, който се вижда в режима като прозорец на уеб разполага гост ОК = да достъп # разрешение гост (гост ОК = няма - гост достъп е забранен) гост сметка = никой # името, под което се допуска влизането в госта. security = user # Access level. потребител - на потребителско ниво, security = share - удостоверяване въз основа на името и паролата. При съхранение на базата данни с пароли на друг SMB сървър се използват стойностите за сигурност = сървър и парола сървър = име_серватор_NT. В случай, че сървърът е член на домейна, се използва стойността security = domain, паролата за достъп се посочва във файла, зададен с файла опция smb passwd = / path / to / file.

В допълнение, регистрацията може да се използва за криптирани (кодирани) и некриптирани (обикновени) пароли, Последните се използват в по-стари Windows (Windows for Workgroups, Windows 95 (OSR2), всички версии на Windows NT 3.x, Windows NT 4 (преди Service Pack 3)). За да се разреши използването на кодираната парола, се използва опцията за парола за шифроване = yes. Моля, обърнете специално внимание на тази опция. При по-старите Linux дистрибуции, създадени в ерата на Windows 95 (и с по-стара версия на Samba), по подразбиране е забранено кодирането на паролата и samba преди версия 2.0този режим изобщо не поддържа (между другото, тази опция и други подобни - тези, които не засягат достъпа до конкретни ресурси - също се използват в клиента).

За правилното показване на руски имена на файлове се нуждаете от следните опции: клиентска кодова страница = 866 и символен набор = koi8-r. В дистрибуции с добра локализация, например, деривати от Мандра и руснаци, тази линия вече съществува, понякога е достатъчно лесно да се разколебае, но в повечето други е необходимо да се запише сам.

Интерфейсът = опцията 192.168.0.1/24 определя в коя мрежа (интерфейс) програмата да работи, ако сървърът е свързан директно към няколко мрежи. Ако зададете само параметъра bind interfaces = yes, сървърът ще отговаря само на заявки от тези мрежи.

домакините позволяват = 192.168.1. 192.168.2. 127. - идентифицира клиенти, за които е разрешен достъп до услугата.

В глобалната секция можете да използвате различни променливи за гъвкаво конфигуриране на сървъра. След като създадете връзка, те се заменят с истински стойности. Например, в директивата log file = /var/log/samba/%m.log, параметърът% m помага да се определи отделен регистрационен файл за всяка клиентска машина. Ето най-често срещаните променливи, използвани в глобалната секция:

% a - OS архитектура на клиентската машина (възможните стойности са Win95, Win NT, UNKNOWN и т.н.);

% m - име NetBIOS на клиентския компютър;

% L - име NetBIOS на сървъра SAMBA;

% v е версията SAMBA;

% I - IP адрес на клиентския компютър;

% T - дата и час;

% u - името на потребителя, който работи с услугата;

% H - начална директория на потребител% u.

Също така, за по-гъвкава конфигурация се използва директива за включване, като се използват горните променливи. Например: включва = /etc/samba/smb.conf.%m - Сега, когато бъдете подканени с продажбата на компютри в присъствието на конфигурация файлови /etc/samba/smb.conf.sales ще бъде взето от този файл. Ако нямате отделен файл за някоя машина, тогава се използва общ файл за работа с нея.

Има и интересна възможност създаване на виртуален сървър, За целта използвайте параметъра netbios псевдоними:

Netbios псевдоними = продажби счетоводство admin

Сега поръчваме на Samba да използва своя конфигурационен файл за всеки виртуален сървър:

Включете = /etc/samba/smb.conf.%L

В прозореца на браузъра на мрежата ще видите три сървъра: търговски, счетоводство, администратор.

Включването на случая за запазване на случая и за кратко съхранение води до това, че сървърът съхранява цялата входна информация в случай на символи (в Windows няма значение за всички Unix - напротив).

Разделът позволява на потребителите да се свързват с работните си директории без изрично описание. Когато клиентът поиска директорията си // sambaserver / sergej, машината търси съответното описание във файла и ако не го намери, търси наличието на този раздел. Ако дялът съществува, файлът с парола се търси за търсене в работната директория на потребителя, изпратил искането, и когато се установи, той го предоставя на потребителя.

Типично описание на този раздел е:

    comment = Начални директории # коментар, който се вижда в прозореца на собственостите на мрежата browseable = no # определя дали да се изведе ресурсът в списъка с браузъри. Записване = Да # Решава (не - забранява) писане в началната директория Създай режим = 0750 # разрешения за новосъздадения файл директория режим = 0775 # също, но само за директории

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

    коментар = пътека на обществения материал = / home / samba public = да се запише = не може да се отпечата = няма списък за писане = администратор, @sales

Параметърът на пътя сочи към директорията, в която се намира ресурсът; публичният параметър определя дали ресурсът може да бъде използван от госта и може да бъде отпечатван - дали този ресурс може да се използва за печат. Параметърът на списъка за писане ви позволява да определите кои потребители могат да пишат за ресурса, независимо от стойността, която може да се запише (в този пример, администратора и групата продажби). Можете също така да използвате списъка с прозорци - прочетете списъка. Ако имате нужда да се скрие някои файлове в Unix / Linux за името на файла трябва да започва с период (параметър за скриване на файлове дот, която контролира дисплея на скритите файлове по подразбиране е да). Освен това е възможно да се задават шаблони за имената на скритите файлове, като се използва параметърът за скриване на файлове. Всеки модел започва и завършва с наклонена черта (/) и може да съдържа символи, използвани в регулярни изрази. Например: скриване на файлове = /*.log/??.tmp/. Такива трикове са за потребители на Windows само чрез задаване на режима "Показване на скрити и системни файлове" на Explorer. За да сте сигурни, че файлът (директорията) е ограничен (достъпен), използвайте файловете за вето и изтрийте опциите за вето.

При CD-дисковете ситуацията е малко по-сложна. Работата е там, че в Unix-подобни системи управлява концепция не е като такива, както и за да получат достъп до устройството, то първоначално ще се инсталира в директорията дърво (# монтират -t iso9660 / сътрудничество / CDROM / MNT / CDROM) , и след употреба, за да не унищожи файловата система, трябва да бъде демонтиран (# umount / dev / cdrom), в противен случай устройството просто не се отказва от диска. Ако имате демон, който се изпълнява на сървъра ви autofs, тогава проблемът се решава просто. За да не бъде автоматично демонтирано устройство, което не е използвано за известно време, задайте желаната стойност на параметъра за изчакване във файла /etc/auto.master. Например:

  / mnt / auto / etc / -timeout = 5

(подобна линия вече е там, трябва само да не се коментира). След това задайте параметрите за съответното устройство в файла /etc/auto.tab:

Cdrom -fstype = Авто, ро: / dev / cdrom

В края на краищата пишете следните редове в /etc/smb.conf, за да направите този ресурс достъпен:

   път = / mnt / cdrom записваем = не

Вторият вариант е да се използват насоките и preexec postexec, които показват кои отбори трябва да изпълняват при достъп до ресурса и след прекратяване на връзката с него (тези настройки могат да бъдат определени за всеки ресурс, а дори и в глобалната раздел, който се отваря големи възможности).

път = / MNT / CDROM само за четене = Да корен preexec = монтиране / MNT / CDROM # монтират ресурс има право само да се изкорени корен postexec = демонтирате / MNT / CDROM # разбира се, тези точки на монтиране трябва да бъдат описани в файл / и т.н. / fstab, в противен случай трябва да посочите останалата част от данните.

Сега, когато влизате в ресурса, CD-ROMът се монтира автоматично и понякога е немонтиран. Целият проблем е, че решението за закриване на ресурса трябва да бъде взето от клиентите на сървъра, като правило, не го уведомява. Но обикновено това се случва, защото няколко човека едновременно използват ресурса или отворен файл на този ресурс (Device busy) остава на един компютър. Следователно компактдискът не се демонтира автоматично, единственият приемлив начин да освободите ресурса е да прегледате помощната програма програмата smbstatus извежданомера на процеса, използващ този ресурс, и го убийте с # kill pid_number (или kill -s HUP pid_number).

След като установим необходимата конфигурация, сега ще създадем потребителски акаунти (с изключение на клиента за влизане с минимални права никой). За идентифициране на потребителите SAMBA използват файл / и т.н. / самба / smbpasswd, който съдържа имената и криптирани пароли. Тъй като механизмът за кодиране на Windows машини не е съвместим със стандартните Unix механизми, отделна програма се използва за попълване на файла с пароли - smbpasswd.

  # Useradd -s / хамбар / невярно -d / Начало / самба / Сергей -g продажби Сергей # smbpasswd -a Сергей # smbpasswd -e Сергей

В този пример се добавя нов потребител сергейпринадлежащи към групата търговскиС фиктивно плик (възможни варианти / sbin / nologin, / сътрудничество / нула) и домашна директория / Начало / самба / Сергей. След това създайте парола за потребителя sergej и последната стъпка е да дадете достъп на потребителя, защото По подразбиране е деактивиран. Интересна точка, която понякога може да се обърка. Факт е, че когато се свържете към компютър SAMBA сървър от Windows NT / 2000 потребителя е продиктувано, както се очакваше, потребителско име и парола, и ако влезете с помощта на компютър, работещ под Windows 9x / Me, ще бъде подканен да въведете само с парола, и Входът се генерира автоматично въз основа на потребителското име.

Можете също да преместите няколко потребители на Windows на един потребител на Linux / Unix. За да направите това, създайте файла за картографиране /etc/smbusers.map, в който всеки ред се определя от всеки ред:

User_ Linux = user_win1 user_win2 user_winN

В секцията добавете линка username map = /etc/smbusers.map. В този случай потребителят на Windows трябва да се регистрира с паролата на потребителя, с когото е свързан.

С SAMBA да организирате възможност за работа в мрежа печат от компютри, работещи на Windows (ако имате намерение да се разделят на сървъра за печат, а след това е достатъчно и колата на 486-процесор базиран).

За да направите това, трябва да напишете следните редове в секцията:

Printcap име = / и т.н. / Printcap файлови принтери # описание свързани към система за натоварване принтери = да # показват необходимостта за автоматично включване в списъка на мрежовите ресурси, и печат = LPRng система # печат (Linux BSD все още може да се използва).

    path = / var / spool / samba # насочва към директорията, където са поставени заданията за печат browseable = yes printable = yes read only = yes

След като създадете файла, тествайте го с помощта на помощната програма testparm, За съжаление, с помощта на тази програма можете да намерите само синтактични грешки, но не е логично, следователно, няма гаранция, че услугите, описани във файла ще работят правилно (всички настройки ще бъдат показани по време на изпитването, дори и тези, които са инсталирани по подразбиране - така изглеждат внимателно резултат). Но ако програмата не се кълне, можете да се надявате, че при стартиране файлът ще бъде зареден без проблеми. Правилността на принтерите, изброени в / etc / printcap файла със SAMBA сървъра, може да бъде проверена с помощта на помощната програма testprns, Плюс това не забравяйте файловете .log: ако имате проблеми, понякога можете да намерите решение.

Сега малко за доброто. Конфигурирането на Samba е доста сложна процедура, но инструментът за разпространение идва с уеб-базиран административен инструмент, наречен удрям силно(Samba Уеб администраторски инструмент,). Суат се управлява като услуга или чрез сървъра Apache и е проектиран, за да редактирате smb.conf файл, както и за проверка на статуса, пускане и спиране на демоните на Samba, сменят паролите на потребителите. Това, че той е работил като във файла / и т.н. / услуги трябва да присъстват низ SWAT 901 / TCP, а в /etc/inetd.conf - SWAT поток TCP nowait.400 корен / ЮЕсАр / местни / самба / хамбар / SWAT SWAT (това е, ако използвате мрежов демон inetd, обикновено в по-стари дистрибуции; в съвременните дистрибуции се използва по-сигурна версия - xinetd). За да използвате swat в директорията /etc/xinet.d, създайте swat файл с това съдържание:

Service SWAT (забраните = няма порт = 901 socket_type = поток чакане = няма only_from = 127.0.0.1 # този ред да се изпълняват само от локален потребител машина = корен сървър = / ЮЕсАр / sbin / SWAT log_on_failure + = USERID)

Сега, за да започнете Swat в прозореца на браузъра, въведете:

Http: // localhost: 901

Но преди това създайте потребител администраторкакто е описано по-горе. И никога не управлявайте услугата SAMBA от името на корен.

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

Smb: /etc/rc.d/init.d/smb рестартиране

Ако след всички горепосочени действия и не може да организирате достъпа до ресурсите на SAMBA, тогава в следващата конфигурация ще помогне на тези комунални услуги като пинг(за да проверите наличието на възела в мрежата), nmblookup(за заявяване на имена на NetBIOS) или в случай на спешност tcpdump, И не забравяйте за правата за достъп, определени за потребителите, тъй като директорията / Gde / до / w / glubine, ти му даде възможност да се чете (права за изпълнение) и предишните директории.

Сега нека поговорим за използването на Samba клиента, защото ние (потребителите на Linux) също искаме да работим с мрежовите ресурси на Windows. За да разберете кои ресурси са налични, трябва да въведете командата / usr / bin / smbclient -L име_на_стория. Програмата ще поиска паролата, в отговор на това в повечето случаи е достатъчно да натиснете Enter. Сега, за да се свържете с необходимия ресурс, въведете името на компютъра и необходимия ресурс. Например:

  # / usr / bin / smbclient \\\\ Алекс \\ Звук

(тук се опитваме да се свържем с папката Sound на компютъра Alex). В резултат на това, ако командата е въведена правилно и такъв мрежов ресурс съществува, трябва да получите покана за въвеждане на паролата. Въведете го или натиснете Enter, ако паролата не е необходима за достъп. В отговор ще получите покана за самба-клиент: smb:\u003e. В бъдеще работата се извършва чрез въвеждане на команди, с които можете да изпълнявате всички необходими операции за работа с файлове (копиране, създаване, преместване и т.н.). За помощ въведете smb:\u003e help. Този режим е донякъде неудобен, така че в повечето случаи използвайте модула smbfs, която е част от самба; но при по-старите дистрибуции ядрото може да се компилира без подкрепата на smbfs и след това ще трябва да бъде възстановена. За да монтирате необходимия ресурс, въведете нещо подобно:

Mount -t smbfs -o потребителско име = потребител, парола = 123456, iocharset = KOI8-R, кодова = 866 // Алекс / звук / MNT / звук.

Ако не посочите потребителско име и парола, системата ще ви попита. Не забравяйте, че като прегледате файла ~ HOME / .bash_history, можете да откриете паролата с командите, които сте въвели. Друга тънкост: ако smbclient програма правилно показва файлове с руски имена, smbfs модул понякога не плаща в друга кодова абсолютно никакво внимание, дори и да го посочва изрично. Казват, че може да бъде фиксиран с кръпка, но все още не съм го намерил за моя Red Hat.

Ако искате SMB ресурсът да бъде монтиран автоматично при стартиране на системата, добавете следния ред към файла / etc / fstab:

  // guest @ alex / sound / mnt / alex / sound smbfs rw, noauto 0 0.

В този пример от името на потребителя гост(Ако ресурсът подкрепя този потребител и ако потребителят има достъп до само с парола, не се притеснявайте: вие със сигурност ще го попитам) мрежа дял Алекс звук на компютъра е инсталиран в папка / MNT / Алекс / звук с възможност за запис в този каталог. Между другото, клиентът Samba вижда идеално скритите мрежови ресурси, т.е. тези, чието мрежово име завършва със знак $.

Както можете да видите, трябва да работите с командния ред, който съвременният потребител причинява тих ужас. И тук светът на OpenSource е дошъл да го посрещне - много помощни средства са създадени, които позволяват работа със средствата на Samba по по-познат начин, като натискат бутоните в графичните черупки. Най-популярната програма, включена в разпространението на Mandrake и неговите производни, както и Debian - gnomba, Във всеки случай, той може да се намери на повечето сървъри с Linux софтуер (на ftp://ftp.altlinux.ru/   видях точно). Тази помощна програма ви позволява да прегледате наличните мрежови ресурси () и, ако е необходимо, да го монтирате в желаната директория, с възможност за монтиране с логване и парола за ресурсите, които изискват това. Възможно е файловия мениджър да се стартира при монтаж (по подразбиране gMC), създаване на директории за монтирани ресурси, задаване на опция за автоматично сканиране при стартиране на програмата (възможно използване на SMB протокол по подразбиране) и сканиране по IP адреси (планирани с помощта на протокола WINS). За неясни причини, имам някои дистрибуции, когато сканирате чрез SMB-протоколни ресурси на мрежата не се показват, така че винаги да се използва вторият метод, тъй като той работи гладко, е необходимо само да се уточни обхвата на IP-адреси за сканиране (ако знаеш). За да покажете правилните имена на руски файлове, не забравяйте да инсталирате koi8-r шрифтове в раздела Опции\u003e Избор на шрифт, както и да проверите линиите, показващи кодирането на кирилицата в smb.conf файла (вижте по-горе).

Ако gnomba може да монтира и демонтира ресурси само, тогава програмата xsmbrowserпозволява също да ги въведете като папки на локалния компютър (). Въпреки това, аз не съм успял да получа тази програма, за да се разбере файлове с руски имена, но има и положителна страна: работата на тази програма, всички от командването планината, както и разнообразие от исканията на мрежата се появи на конзолата, което позволява по-добра сделка с тях. Разработчиците на KDE също се опитаха: чрез Предпочитания\u003e Информацияпомощната програма е налична Самба статус, показвайки всички връзки към / от локалния компютър, което също е удобен инструмент за гледане на .log файлове. Подобна информация се предоставя от помощната програма komba, която може да се намери на http://linux.tucows.com/ ().

Независимо колко много исках да ви кажа повече, но списанието е списание - просто не може да се побере. Освен това, за да ви помогне, ще дойде вездесъщия човек и информация. Също така, цялата необходима информация може да бъде получена от помощната програма SWAT, освен това Red Hat 7.3 показа книгата "Използване на Samba" Робърт "Екщайн" a(Английският е лош, абсолютно безплатен - добър: / usr / share / swat / using_samba), достъпен също от SWAT (). В директорията / usr / share / doc / samba можете да намерите допълнителна документация, често задавани въпроси и примерни конфигурационни файлове. В различни форуми можете да намерите доста противоречиви мнения за работата на Самба, от изключително негативно до пълно удоволствие. Лично аз съм на страната на привържениците на този емулатор Windows NT, освен резултатите от теста по едно и също оборудване на сървъра Samba показва ефективността от около 25-30% по-висока, отколкото на компютъра, който управлява системата от Microsoft. На добър час.

Внедряване на мрежови протоколи Блокиране на сървърни съобщения (SMB)   и Обща интернет файлова система (CIFS), Основната цел е да споделяте файлове и принтери между Linux и Windows системи.

самба   се състои от няколко демона, изпълняващи се на заден план, и предоставяне на услуги и редица инструменти от команден ред за взаимодействие с услугите на Windows:

  • smbd   - демон, който е SMB сървър за файлове и печатни услуги;
  • nmbd   - Даймън, който предоставя услуги за имена на NetBIOS;
  • smblient   - помощната програма осигурява достъп от командния ред до ресурсите на SMB. Той също така ви позволява да получавате списъци със споделени ресурси на отдалечени сървъри и да разглеждате мрежовата среда;
  • smb.conf   - конфигурационен файл, съдържащ настройки за всички инструменти на Samba;

Списък на пристанищата, използвани от Samba

  • дял   - Този режим на сигурност подражава на метода на удостоверяване, използван от операционните системи Windows 9x / Windows Me. В този режим потребителските имена се игнорират и паролите се присвояват на споделени ресурси. В този режим Samba се опитва да използва паролата, предоставена от клиента, която може да бъде използвана от различни потребители.
  • потребител* - този режим на защита е зададен по подразбиране и използва потребителското име и паролата за удостоверяване, както обикновено се прави в Linux. В повечето случаи в съвременните операционни системи паролите се съхраняват в кодирана база данни, която само Samba използва.
  • сървър   - Този режим на защита се използва, когато е необходимо за Samba да извърши удостоверяване чрез достъп до друг сървър. За клиентите този режим изглежда същият като удостоверяване на ниво потребител (потребителски режим), но в действителност, за да извърши удостоверяване, Samba се отнася до сървъра, посочен в параметъра на сървъра за пароли.
  • домейн   - като използвате този режим на защита, можете напълно да се присъедините към домейна на Windows; за клиентите изглежда същото като удостоверяване на ниво потребител. За разлика от удостоверяване на ниво сървър, удостоверяването на домейни използва по-сигурна обмяна на пароли на ниво домейн. За да се присъедините към домейн, трябва да изпълните допълнителни команди в системата Samba и евентуално в домейн контролера.
  • обяви   - Този режим на защита е подобен на метода за удостоверяване в домейна, но изисква наличието на домейн контролер на Active Directory Domain Services.

Пълен списък с параметри самба   е в man-.

Горе беше пример за достъп за споделена директория. Помислете за друг пример с частна директория, до която има достъп само чрез вход и парола.

Създайте група и добавете потребителя към нея

Групата Sudo добави smbgrp sudo usermod -a -G smbgrp proft

Създайте директория за потребителя и задайте разрешенията

Sudo защитен режим -p / SRV / самба / Proft Sudo chown -R Proft: smbgrp / SRV / самба / Proft Sudo коригират -R 0770 / SRV / самба / Proft

Нека да създадем потребител на самба

Судо ми се измъкна

Добавете нов ресурс към /etc/samba/smb.conf

    path = / srv / samba / proft валидни потребители = @smbgrp guest ok = не може да бъде записваем = да browsable = да

Рестартирайте сървъра

Системата Sudo рестартира smbd

Пример за конфигурация на ресурсите, в която има символна връзка   в папката на потребителя ( / srv / samba / медия / видео » / home / proft / видео)

    path = / srv / samba / медиен гост ok = да само четене = yes browsable = yes force user = proft

Настройване на клиента

Вижте споделени компютърни ресурси

Smbclient -L 192.168.24.101 -U%

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

Smbclient -U никой //192.168.24.101/public ls

Ако сървърът е конфигуриран с по-високо ниво на сигурност, може да се наложи да прехвърлите потребителското име или домейна, като използвате опциите -W и -U, съответно.

Smbclient -L 192.168.24.101 -U профт -W WORKGROUP

Монтиране на ресурс САБА

# Създаване на точка защитен режим планината -p ~ / акции / Монтаж на анонимен потребител никой монтиране обществен # -t CIFS //192.168.24.101/public / Начало / Proft / акции / обществен потребител -o = никой, парола =, работна група = работна група, IP = 192.168.24.101, utf8 # потребителското Proft монтиране -Т CIFS //192.168.24.101/public / начало / Proft / акции / обществен потребител -o = Proft, парола = 1, работна група = работна група, IP = 192.168. 24.101, utf8

Още по-добре е паролите да се съхраняват в отделен файл

   # sudo vim / etc / samba / sambacreds username = проф. парола = 1 потребителско име = noboy парола =

Да зададем правата за достъп 0600

Судо chmod 0600 / etc / samba / sambacreds

Нова линия за монтаж

Mount -t CIFS //192.168.24.101/public / Начало / Proft / акции / обществен потребител -o = Proft, пълномощията = / и т.н. / самба / sambacreds, работна група = WORKGROUP, IP = 192.168.24.101

И пример за / etc / fstab

   //192.168.24.101/public / Начало / Proft / акции / обществен CIFS noauto, потребителско име = Proft, пълномощията = / и т.н. / самба / sambacreds, работна група = WORKGROUP, IP = 192.168.24.101 0 0

Можете да отворите ресурс в файловия мениджър Nautilus / Nemo / etc по този начин smb: //192.268.24.101.

Ако Немьо пише Nemo не може да се справи с "smb" местата.   означава, че няма достатъчно пакет gvfs-SMB.

Достъп до сървъра с клиент с Windows и Android

Под Windows можете да научите работната група от конзолата, като използвате

Работна станция за нет конфиг

Можете да отваряте ресурси на отдалечената машина, като въведете UNC адреса в серията Explorer или в Run (Start-Run): \192.168.24.101 .

Под Android можете да се свържете със сървъра, като използвате ES File Explorer, в раздела Мрежа добавете сървъра само по IP (без схема, smb). След това можете да отворите споделените ресурси. За статистика: HDRIP-филмът върви без спирачка.

Допълнително четене

Или може би просто интерес и любопитство натискат потребителите да намерят различен подходящ софтуер. Този софтуер е Samba. Трябва да знаете как да конфигурирате Samba на Ubuntu Server, ако искате да направите база данни или съхранение на файлове от вашия компютър.

Инсталирането на Samba на Ubuntu Server позволява създаването на база данни.

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

За какво е това?

В сравнение с други пакети с програми с подобно обозначение, Samba има няколко предимства и характеристики.

  • Позволява да се свързвате с всяка друга Unix-подобна система, т.е. всяка система на Linux и Windows. И не само Windows. Програмата е много "Omnivorous": MacOS   , Solaris и други OS с различна степен на популярност.
  • Samba позволява на потребителите на Windows да използват компютрите на Ubuntu като сървър. Това означава, че използвайте достъп до файлове, както и част от свързаните устройства.
  • Поддържа структурата на домейна на NT Domain, управлява NT потребителите, поддържа функциите на участник, първичния контролер.

Вероятно за много от най-важните от тях е връзката с машините на Windows. В този случай те действат като клиент и компютър в Ubuntu   - като сървър. От друга страна, потребител на Ubuntu може също да има достъп до мрежовите папки на Windows.


Samba се произвежда от 1992 г. насам. И най-важното е, че досега са излезли нови версии. Последният бе пуснат на 7 март 2017 г. Всяка година разработчиците се опитват да установят съвместимост с голям брой различни версии на операционни системи, но основният чип остава свързване на Linux-системи с Microsoft   , В сравнение с Windows Server, Samba може да бъде по-лоша от него поради липсата на подкрепа за част от протоколите и инфраструктурата на възлите. Мнозина обаче твърдят, че скоростта на Самба е много по-висока.

Конфигуриране на Samba

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

sudo apt-get инсталирате самба


Веднага ще забележите, че всички действия, които ще бъдат описани, включително инсталирането на програмата, могат да се изпълняват както на прост Ubuntu, така и на Ubuntu Server. Само последният е достъпен изключително в текстовия интерфейс.

След инсталирането трябва да направите резервно копие на конфигурационния файл:

$ sudo mv /etc/samba/smb.conf/etc/samba/smb.conf.bak

$ sudo vi /etc/samba/smb.conf

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

  • Работна група - работна група. Стойността на този параметър също често е Работна група, тъй като в Windows домейнът по подразбиране на работната група изглежда точно така.
  • Името на Netbios е името на компютъра на Ubuntu вижте потребителите на Windows   , Тук можете да въведете стойност по Ваша преценка.
  • Сигурност - режим на потребителско оторизиране. По подразбиране е потребител, т.е. удостоверяване на ниво потребител. Досега е по-добре да го оставите.
  • Ниво на OS - показва приоритета, който Samba има над други клиенти (персонални компютри) в локалната или интернет мрежата.
  • Името решава ред - последователността на разделителната способност на IP адреса в името на NetBIOS.
  • Само за четене - привилегията за четене или писане на директория. Стойността може да бъде "да" - само за четене, "не" - запис.

Създаване на потребител

Това е най-простото действие, от което можете да започнете работа със Samba.


Добавяне на потребителя към самата операционна система:

$ useradd -M -l-s / sbin / nologin потребителско име

Създайте парола за него:

Ще въведем нашия потребител в базата данни Samba:

$ smbpasswd - потребителско име


С командата $ smbpasswd можете да извършвате различни действия:

  • $ smbpasswd username - промяна на паролата
  • $ smbpasswd -x потребителско име - изтриване на потребител
  • $ smbpasswd -d потребителско име - потребителски забрани

Сървърът трябва да се рестартира, ако направите промени в конфигурационния файл. Това се прави с помощта на командата:

$ systemctl рестартиране на smb

Това са основните настройки за Samba. Сега можете да се опитате да приложите програмата на практика.

Достъп до папката

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

Създайте папка, с която ще работим на два компютъра:

$ sudo mkdir -p / samba / достъп

Сега правим разширен достъп за тази папка, така че всеки клиент на нашата локална мрежа да може да го отвори:

$ cd / samba
  $ sudo chmod -R 0755 достъп
  $ sudo chown -R никой: nogroup достъп /

Собственикът според кода е никой.


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


  работна група = WORKGROUP
  сървърен низ = Samba сървър% v
  netbios name = srvr1
  сигурност = потребител
  карта към гост = лош потребител
  име решаване на ред = bcast хост
  dns proxy = не
#==============
  А втората, съдържаща информацията за папката за достъп:

  path = / samba / достъп
  browsable = да
  записано = да
  гост ok = да
  само за четене = не

Секциите се следват една в друга в същия ред.

Актуализиране на промените на сървъра:

$ sudo услуга smbd рестартиране

Компютърни операции на Windows

В Windows трябва да извършите някои действия, така че лесно да можете да отворите нова споделена папка и да я редактирате.

  1. Отворете командния ред. Препоръчително е да направите това с напредничави права, т.е. от името на администратора.
  2. Изпълняваме командата:
  3. бележник C: \\ Windows \\ System32 \\ drivers \\ etc \\ hosts
  4. Отваря се файл, в който въвеждаме следния ред:
  5. 168.0.1 srvr1.domain.com srvr1
      Благодарение на нея папката ще бъде достъпна.
  6. Можете да го отворите с помощта на реда "Run". Натискаме Win + R, въведете: След това ще отворим папката.


Затворена папка

Конфигуриран сървър на Samba може да се използва и за създаване на мрежови папки с ограничен достъп. Тази папка трябва първо да бъде създадена и след това да бъде добавена към конфигурацията на Samba.

Направете папка, наречена "Closed":

$ sudo mkdir -p / samba / allaccess / затворен

Създаваме специална група, която има достъп до тази папка:

$ sudo addgroup securedgroup

Създаваме специални права за различни групи:

$ cd / samba / достъп
  $ sudo chown -R richard: защитната група е затворена
$ sudo chmod -R 0770 затворен /

Точно както при отворена папка, добавяме информация към конфигурацията:


  path = / samba / достъп / затворен
  валидни потребители = @securedgroup
  гост ok = не
  записано = да
  browsable = да

Рестартирайте сървъра.

Както можете да видите, направихме папката "Затворени" в Access. По този начин достъпът може да бъде отворен от всеки потребител в локалната мрежа, но трябва да имате специални права за преглеждане и редактиране на Closed.

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

Основният конфигурационен файл за Samba е /etc/samba/smb.conf. Оригиналният конфигурационен файл има значителен брой коментари за документиране на различните директиви за конфигуриране.

Не всички възможни опции са включени в файла с настройки по подразбиране. Вижте ръководството човек smb.conf   или Самба често задавани въпроси   за повече подробности.

1. Първо променете следните двойки ключ / стойност в секцията   файл /etc/samba/smb.conf:

Работна група = ПРИМЕР ... security = потребител

параметър сигурност   е значително по-ниска в секцията   и по подразбиране се коментира. Заменете също Пример   нещо по-подходящо за вашата среда.

2. Създайте нов раздел в края на файла или отменете един от примерите за директорията, която искате да конфигурирате за споделяне:

     коментар = Ubuntu файлов сървър Споделяне на пътя = / srv / samba / share browsable = да гост ok = да само четем = no create mask = 0755

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

    път: път към споделената директория.

    Този пример използва / SRV / самба / именасподеляне, защото според стандартната йерархията на файловата система (FHS), директорията / SRV - място, където нуждата е на всички данни, свързани с този сайт. Технически споделен ресурс на Samba може да се намира навсякъде във файловата система, където се допускат ограничения за достъп до файлове, но се препоръчва спазването на стандартите.

    преглежда: позволява на клиентите на Windows да преглеждат съдържанието на споделена директория чрез Windows Explorer.

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

    само за четене: определя дали ресурсът е само за четене или с права за запис. Привилегиите за писане са налице само ако зададете не, както е показано в този пример. Ако стойността да, тогава достъпът до ресурса ще бъде само четим.

    създаване на маска: определя кои права за достъп ще бъдат зададени за новите създадени файлове.

3. Сега, тъй като Samba е конфигурирана, трябва да създадете директория и да зададете разрешения за нея. Въведете в терминала:

Судо mkdir -p / srv / samba / дял sudo chown nobody.nogroup / srv / samba / share /

параметър -p   казва на mkdir да създаде пълно дърво на директория, ако то не съществува.

4. Накрая рестартирайте услугите на samba, за да приложите новите настройки:

Судо рестартирайте smbd sudo restart nmbd

Сега можете да намерите файловия сървър на Ubuntu, като използвате клиент на Windows и да видите неговите споделени директории. Ако клиентът ви не показва автоматично споделените ви ресурси, опитайте да отворите сървъра си от неговия IP адрес, например \\\\ 192.168.1.1, от прозореца на Windows Explorer. За да проверите дали всичко работи, опитайте да създадете директория в споделения ресурс от Windows.

За да създадете допълнителни споделени ресурси, създайте нов дял в /etc/samba/smb.conf и рестартирайте Samba. Просто се уверете, че споделената директория е създадена и има правилните разрешения.

Споделен ресурс ""   и пътя / srv / самба / дял   са само примери. Задайте името на ресурса и името на директорията според вашата среда. Добрата идея е да използвате името на ресурса като името на неговата директория във файловата система. С други думи, ресурсът може да бъде посочен като за директорията / srv / samba / qa.

Първо инсталирайте опаковката самба:

Судо инсталирате самба

Сега можете да конфигурирате Samba за споделяне.

Конфигуриране на Samba

Конфигурационният файл на Samba се намира в пътя /etc/samba/smb.conf. Оригиналният конфигурационен файл има значителен брой коментари за документиране на различните директиви за конфигуриране.
  Не всички възможни опции са включени в файла с настройки по подразбиране. Вижте страницата за smb.conf или Помощ за Samba   за повече подробности.

Първо, променете или добавете следната стойност в секцията   файл /etc/samba/smb.conf:

Работна група = сигурност на WORKGROUP = потребител

Променете името на работната група според настройките (в Windows, по подразбиране името на работната група е WORKGROUP).

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

     коментар = Споделена папка в Ubuntu path = / home / samba / share browsable = да гост ok = да само четем = no create mask = 0644

коментар - описание на акцията.
   path е пътят към споделената директория.
   browsable - позволява на клиентите да преглеждат съдържанието на споделена директория.
   guest ok - позволява на клиентите да се свързват с споделен ресурс, без да посочват парола.
   само за четене - дали ресурсът е "само за четене" или не.
   създаване на маска - задаване на разрешения за файлове.

Сега трябва да създадете директория:

Sudo mkdir -p / начало / самба / дял

опцията -p казва на mkdir да създаде цяла дървовидна структура, ако тя не съществува.
  Установете права на достъп до него:

Sudo chown никой: nogroup / начало / самба / дял / sudo chmod 755 / начало / самба / дял /

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

Судо услуга smbd рестартиране

Сега мрежата ви ще има дял на Ubuntu и ще можете да преглеждате нейните споделени директории. Ако вашият клиент не показва автоматично споделените ви ресурси, опитайте да осъществите достъп до сървъра си на своя IP адрес, например \\\\ 192.168.0.1. За да се уверите, че файловият сървър работи, опитайте да създадете директория в споделения си ресурс.

За да създадете допълнителни споделени ресурси, създайте нова секция   в /etc/samba/smb.conf и рестартирайте Samba. Уверете се, че споделената директория е създадена и че има правилните разрешения.

Свързани статии: