телевизори. Конзоли. Проектори и аксесоари. Технологии. Цифрова телевизия

Поддръжка за мрежова среда samba. Samba и Windows, файлов сървър за Windows мрежа. Тайни за оптимизация на Samba

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

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

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

За какво е?

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

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

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

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

Настройка на Samba

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

sudo apt-get инсталирайте samba

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

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

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

$ sudo vi /etc/samba/smb.conf

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

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

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

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

Добавете потребител в самата ОС:

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

Нека създадем парола за него:

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

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

Можете да извършвате различни други действия, като използвате командата $ smbpasswd:

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

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

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

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

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

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

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

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

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

$cd/samba
$ sudo chmod -R 0755 достъп
$ sudo chown -R nobody:nogroup access/

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

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


работна група = РАБОТНА ГРУПА
сървърен низ = Samba сървър %v
netbios име = srvr1
сигурност = потребител
map to guest = лош потребител
ред за разрешаване на имена = bcast хост
dns прокси = не
#==============
И вторият, съдържащ данни за папката за достъп:

път = /samba/достъп
възможност за разглеждане = да
записваем = да
гост добре = да
само за четене = не

Разделите следват един след друг в същия ред.

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

$ sudo service 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.

Нека създадем папка, наречена "Затворена":

$ sudo mkdir -p /samba/allaccess/closed

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

$ sudo addgroup защитена група

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

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

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


път = /samba/access/closed
валидни потребители = @securegroup
гост добре = не
записваем = да
възможност за разглеждане = да

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

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

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

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

$ sudo usermod -a -G securedgroup winston

Името на нашия потребител е като кутия цигари (или министър-председателя на Великобритания).

Нека създадем парола за Winston:

$ sudo smbpasswd -a winston

След това ще бъдем подканени да влезем нова паролаза да влезете отново с новосъздадения акаунт. Не забравяйте да рестартирате след това. Сега знаете как да настроите сървър чрез Samba в Ubuntu.

Разбира се, възможностите на Samba не се ограничават само до създаване на прости папки. Но тези прости инструкциии примерите показват какво може да се направи с тази програма. Това ще бъде първата стъпка към разбирането на същността на сървърните компютри и тяхното управление.

Самба- програма, която ви позволява достъп мрежови устройствана различни операционни системи чрез протокола SMB/CIFS. Има клиентска и сървърна част. Това е безплатен софтуер, издаден под GPL лиценз.

Самбаработи на повечето Unix-подобни системи като GNU/Linux, POSIX-съвместим Solaris и Mac OS X Server, на различни опции BSD, OS/2, Windows. Самбавключен в почти всички дистрибуции на GNU/Linux, включително, разбира се, Ubuntu.

Инсталация

За да създадете споделена папка в Работен плот на UbuntuПросто щракнете с десния бутон върху папката и изберете елемента от менюто „Публикуване на папка“. Няма нужда да редактирате конфигурационни файлове. Всичко описано по-долу се отнася само за ръчна настройка, например, в случай на създаване на файлов сървър.

За да инсталирате, просто отворете терминал и въведете:

Sudo apt-get инсталирайте samba

Приложението ще бъде изтеглено и инсталирано автоматично.

Настройки

Нека го направим с помощта на терминала резервно копиепървоначален конфигурационен файл:

Sudo cp /etc/samba/smb.conf(,.bak)

Сега можете да редактирате файла с настройки /etc/samba/smb.conf; отворете го във всеки текстов редакторс права на суперпотребител. Например така:

Sudo nano /etc/samba/smb.conf

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

Пример за настройка на Samba като самостоятелен файлов сървър с оторизация:

; Глобални настройкисървъри; Общи настройки на сървъра; Име на компютър, което ще се показва в мрежовата среда netbios name = main-server server string = ; Клиентска работна група работна група = WORKGROUP обяви версия = 5.0 socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192 passdb backend = tdbsam security = user null passwords = true ; Файл за псевдоними на потребителско име map = /etc/samba/smbusers name resolve order = hosts wins bcast ; wins support е зададено на yes, ако вашият nmbd(8) в Samba е WINS сървър. Не задавайте този параметър на да, освен ако нямате множество подмрежи и не искате вашият nmbd да действа като WINS сървър. Никога не задавайте този параметър на „да“ на повече от една машина в една и съща подмрежа. печели подкрепа = не; Принтерът поддържа печат = CUPS printcap name = CUPS; Лог файл = /var/log/samba/log.%m syslog = 0 само syslog = не; Конфигуриране на обвързване към това кои интерфейси да слушате, ако слушанията на всички интерфейси не са посочени; интерфейси = lo, eth0; свързване само на интерфейси = вярно; ; ; път = /var/lib/samba/printers; възможност за разглеждане = да; гост ок = да ; само за четене = да; запис на списък = корен; създаване на маска = 0664; маска на директорията = 0775; ; ; път = /tmp; за печат = да; гост ок = да ; възможност за разглеждане = не; ; ;path = /media/cdrom ;browseable = да ;само за четене = да ;guest ok = да ; Шара харддиск; Името на топките се вижда от клиентите; Път до споделения диск = /media/sda1 ; Възможно ли е да разглеждате browseable = да само за четене = без гост ok = без създаване на маска = 0644 маска на директория = 0755 ; Обвързване с конкретно потребителско име или група, имена разделени с интервал; сила потребител = потребител1 потребител2; сила група = група1 група2; Друг HDD, подобно на това, което е по-горе path = /media/sde1 browseable = yes read only = no guest ok = no create mask = 0644 directory mask = 0755

Сега трябва да се справим с потребителите.

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

Smbpasswd - потребител

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

Smbpasswd -e потребител

След това нека създадем псевдоним за потребителското име, за да улесним достъпа си Windows машинина който например имаме потребител с име Admin, за това ще създадем и редактираме файла /etc/samba/smbusers:

Sudo touch /etc/samba/smbusers sudo gedit /etc/samba/smbusers

Напишете няколко реда във файла

# Unix_name = SMB_name1 SMB_name2 потребител = Admin

Това завършва настройката, рестартирайте Samba.

Можете да инсталирате най-простия GUI за Samba с командата:

Sudo apt-get инсталирате system-config-samba

Стартира се с командата:

Sudo system-config-samba

Той записва всички промени в конфигурационния файл на samba.

Перфектен за отдалечено администриране на Samba като уеб интерфейс за Samba

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

Взаимодействие в мрежа от компютри под Windows контролизграден върху използването на протокола SMB (блокиране на съобщения на сървъра)— блокове от сървърни съобщения. Той гарантира, че всички задачи, необходими в тези случаи, са изпълнени: отваряне и затваряне, четене и писане, търсене на файлове, създаване и изтриване на директории, задаване на задание за печат и изтриването му оттам. Всички действия, необходими за това, се изпълняват в Unix-подобни операционни системи с помощта на пакета САМБА. Възможностите му могат да бъдат разделени на две категории: предоставяне на ресурси (под което имаме предвид достъп до системата на принтера и файловете) за 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 сървърът, трябва да работят два демона: някой друг, който предоставя услуга за печат и споделяне на файлове за клиенти на Samba (като Windows на всички ивици), и nmbd, който захранва NetBIOS услугата за имена (може да се използва и за запитване към други демони за услуги за имена). Протоколът се използва за достъп до клиенти TCP/IP. Обикновено Samba се инсталира с Linux дистрибуция. Как да проверя? Просто дайте командата:

$къде е самба

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

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 root 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.

Стойности на типичните параметри на сечението глобален:

Работна група = име_на_група # име на работната група в мрежата на Windows netbios име = име на сървъра в мрежовия сървър string = коментар, който се вижда в прозореца със свойства на мрежовото сърфиране guest ok = yes # разрешаване на гост влизане (guest ok = no - guest влизането е забранено) гост акаунт = никой # име, под което е разрешено влизане като гост сигурност = потребител # Ниво на достъп. потребител - на ниво потребител, сигурност = споделяне - удостоверяване на базата на потребителско име и парола. Когато съхранявате базата данни с пароли на друг SMB сървър, се използват стойностите security = server и password server = name_server_NT. Ако сървърът е член на домейн, се използва стойността security = domain, паролата за достъп е посочена във файла, дефиниран чрез опцията smb passwd file = /path/to/file.

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

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

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

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

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

%a - ОС включена клиентска машина(възможните стойности са Win95, Win NT, UNKNOWN и др.);

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

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

%v — версия на SAMBA;

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

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

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

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

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

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

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

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

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

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

Активирането на опциите за запазване на малки и малки букви кара сървъра да записва всички въведени данни по начин, чувствителен към малки и главни букви (при Windows малките и малките букви не са чувствителни към главните и малките, на всички Unix системи е обратното).

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

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

Коментар = Домашни директории # коментар, който се вижда в прозореца на свойствата на мрежата browseable = no # определя дали да се покаже ресурсът в списъка за разглеждане. writable = yes # разрешава (не - отказва) писане в началната директория create mode = 0750 # права за достъп за новосъздадени файлове directory mode = 0775 # също, но само за директории

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

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

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

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

/mnt/auto/etc/ --timeout=5

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

Cdrom -fstype=auto,ro:/dev/cdrom

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

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

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

Път = /mnt/cdrom read only = да root preexec = mount /mnt/cdrom # Само root има право да монтира ресурс root postexec = umount /mnt/cdrom # Естествено, тези точки на монтиране трябва да бъдат описани в /etc/ fstab файл, в противен случай трябва да предоставите и друга информация.

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

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

# useradd -s /bin/false -d /home/samba/sergej -g sales sergej # smbpasswd -a sergej # smbpasswd -e sergej

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

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

User_Linux = user_win1 user_win2 user_winN

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

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

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

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

Път = /var/spool/samba # сочи към директорията, където са поставени заданията за печат, разглеждане = да, възможност за печат = да, само за четене = да

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

Сега малко за хубавите неща. Конфигурирането на Samba е доста сложно, но дистрибуцията идва с уеб-базиран инструмент за администриране, наречен удар(Инструмент за уеб администриране на Samba, ). Swat се стартира като услуга или използване Apache сървъри е предназначен за редактиране на файла smb.conf, както и за проверка на състоянието, стартиране и спиране на Samba демони и промяна на потребителски пароли. За да работи като услуга, файлът /etc/services трябва да съдържа реда swat 901/tcp, а файлът /etc/inetd.conf трябва да съдържа swat stream tcp nowait.400 root /usr/local/samba/bin/ swat swat (това е, ако се използва мрежовият демон inetd, обикновено в по-стари дистрибуции; съвременните дистрибуции използват по-сигурна опция - xinetd). За да използвате swat в директорията /etc/xinet.d, създайте swat файл със следното съдържание:

Service swat ( disable = no port = 901 socket_type = stream wait = no only_from = 127.0.0.1 # това е ред, който да се изпълнява само от потребителя на локалната машина = root сървър = /usr/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/to/w/glubine на потребителя, вие ще му дадете възможността да чете (да изпълнява правилно) предишните директории.

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

# /usr/bin/smbclient \\Alex\Sound

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

Монтиране -t smbfs -o потребителско име=потребител,парола=123456,iocharset=koi8-r,codepage=866 //alex/sound /mnt/sound.

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

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

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

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

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

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

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

Linux е страхотен операционна система, но ние не можем да избягаме от Windows, нито пък той от нас. Прозорците винаги ще ни заобикалят - било то у дома, корпоративна мрежаили интернет кафе. Постоянно трябва да обменяме документи с компютри с Windows - в крайна сметка не всички потребители предпочитат да работят в Linux. Разполагайки със сървър на Linux , във всеки случай ще има нужда от взаимодействие с компютри с Windows, така че ще говорим за свързване на Linux към мрежата на Microsoft.

Инсталиране на Samba

За Samba инсталациитрябва да инсталираме пакетите samba и samba-client. Също така е препоръчително да инсталирате пакета smbfs. Освен това системата ще актуализира пакета samba-common, който може вече да е инсталиран в системата. Всички мои манипулации ще бъдат извършени на Ubuntu 10.04, основните разлики от другите дистрибуции са методът на инсталиране. За Ubuntu чрез конзолата, така:

$ sudo apt - вземете инсталиране на samba

Или използвайки мениджъра на пакети Synaptic, което направих, тази опция се оказа по-удобна за мен, тъй като можех да избера от списъка пакетите, които ми трябваха, това бяха:

    самба

    smbclient

    самба-общ

Ако някога сте използвали друга Linux дистрибуция, вероятно сте запознати с програмата LinNeighborhood. Това графична програма, което ви позволява да преглеждате мрежовите ресурси на Windows. В Ubuntu няма нужда от това. първо, редовни средства GNOME ви позволява да разглеждате мрежи на Windows. И второ, просто за забавление инсталирах програмата LinNeighborhood от едно от хранилищата на Ubuntu. Оказа се, че тази програма, открита от Synaptic, изобщо не може да се използва (проблеми с локализацията). Е, добре, има смисъл да се разбере дали има отлични стандартни средствакоито вече работят.

Основна настройка на Samba

На този етап ще приемем, че помощната програма е инсталирана. Основният конфигурационен файл на Samba е /etc/samba/smb.conf. Трябва да го отворите и да промените няколко параметъра. Първият еработна група - указва името (по ваш избор) на работната група или NT домейна:

РАБОТНА ГРУПА = MyHomeGroup

Можете също да зададете параметъра за коментар - това е описание на вашия компютър:

коментар = Моят Linux компютър

Инсталирай параметър за сигурност. Ако мрежата е клиент/сървър, тогава трябва да изберете параметър на сървъра, и акоpeer-to-peer мрежа (т.е. мрежа без специален сървър), тогава трябва да изберете потребител или споделяне:

сигурност = дял

Име на госта сметказадайте го така:

гост акаунт = гост

Също така трябва да конфигурирате кодировките:

клиентска кодова страница = 866

набор от символи = utf8

За да накарате Samba да работи по-бързо, задайте следните опции:

опции за сокет = TCP_NO ЗАБАВЯНЕ SO_RCVBUF=8192 SO_SNDBUF=8192

dns прокси = не

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

интерфейси = 192.168.0.22/24

Настройване на споделяния

Сега остава да конфигурираме ресурсите, които искаме да предоставим обща употреба, това е разделът [публичен].

# споделена директория

коментар = Публична директория

# път

път = /var/samba

# не само четене

само за четене = не

# позволи писане

записваем = да

# разреши достъп на гости

гост добре = да

# позволяват да се разглежда съдържанието на директорията

възможност за разглеждане = да

В този случай споделеният ресурс на нашия компютър ще бъде директорията /var/samba (тя трябва да бъде създадена, тъй като по подразбиране в системата няма такава директория). Други потребители ще могат да записват файловете си в него (само за четене=не, за писане=да) и естествено ще могат да ги четат (разглеждане=да). Не е необходима проверка на потребителското име и паролата за достъп до ресурса (guest ok=yes) - използва се т.нар. guest access. Коментарът „Публична директория“ ще се вижда от други потребители на мрежата на Windows, когато разглеждат ресурсите на нашия компютър.

Ако има нужда от предоставяне общ достъп(„споделяне“) в домашните директории на потребителите, след което отидете в секцията;. Разкоментирайте всички редове, коментирани с точка и запетая преди реда;. T . д. трябва да изглежда така:

коментар = Домашни директории

за разглеждане = не

валидни потребители = %S

възможност за запис = не

създаване на маска = 0600

маска на директорията = 0700

Сега потребителските директории няма да се виждат в списъка споделени ресурси, можете да се свържете с тях на \\сървър\потребителско име . Например \\server\petya. Ако искате потребителските ресурси да бъдат видими, тогава задайте параметъра за разглеждане на да:

възможност за разглеждане = да

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

$ sudo /etc/init.d/samba start

Преглед на мрежови ресурси на Windows

Можете да видите мрежовите ресурси на Windows с помощта на програмата smbclient, но тя работи в текстов режим, така че не е напълно удобна за използване. Много по-удобно е да използвате файлов браузър за преглед на мрежовите ресурси. Можете да направите това с помощта на менюто Преход | Свържете се със сървъра...

Тайни за оптимизация на Samba

Сега нека поговорим как да накараме Samba да работи малко по-бързо. Ако отворите конфигурационния файл smb.conf, ще намерите параметъра за широки връзки в него. Никога не го инсталирайте вне ! Това значително ще намали производителността на Samba. Напротив, трябва да го зададете на да (ако параметърът за широки връзки е бил деактивиран преди), което значително ще подобри производителността.

Параметърът широки връзки определя как Samba ще следва символните връзки. Ако широки връзки=не, тогава Samba няма да следва символни връзки извън експортирания обхват. Samba първо следва символната връзка и след това извършва това, което се нарича търсене на пътека на директория (системно извикване, което определя къде свършва връзката). Тази операция включва още 6 системни извиквания, отколкото ако широки връзки=да. Като се има предвид, че се извършват много подобни операции, деактивирането на широки връзки намалява производителността на Samba с приблизително 30%.



Свързани публикации