Пример 1. Простой Samba-сервер. Доступ всем на все
1. Требования и удаленное подключение к будущему файл-серверу
2. Подготовка раздела для общих ресурсов
3. Планирование общих ресуров
4. Создаем владельца общих ресурсов и сами общие папки
5. Конфигурирование сервера Samba
6. Запуск сервера Samba и проверка работы
7. Монтирование общих ресурсов в windows- и linux-клиентах
В данном примере рассказано, как организовать простой файловый сервер с беcпарольным доступом к общим ресурсам. То есть можно будет "всем все", помните об этом, когда решили перебросить через такую общую папку файл с паролями от вашей кредитки.
Пример основан на разделе 1.2.2. книги Samba-3 в примерах, а также добавлено, как смонтировать общие ресурсы в win- и linux- клиентах (ответы на мои же вопросы на форуме ALT Linux)
Ваша основная задача запустить в эксплуатацию файл-сервер без использования решений на windows, через который сотрудники легко бы могли обмениваться информацией без всяких паролей, ну и музыкой. Такая вот анархия.
1. Требования и удаленное подключение к будущему файл-серверу
На будущем файл-сервере устновлен ALD 5.0 KDE, имя компьютераaltsf
, ip/маска 192.168.0.1/24. Делаем все от пользователя root
. Если ваш файл-сервер нормально видит сеть, можете в общем-то всю работу выполнять не сидя локально, а сразу подключиться удаленно к файл-серверу:- из линукс (
sergo555
это мой рабочий компьютер, sergo пользователь на нашем удаленном сервере altsf
(которого я завел при установке системы)):[sergo@sergo555 ~]$ ssh -l sergo 192.168.0.1 sergo@192.168.0.1's password: пароль_пользователя_sergo Last login: Wed May 26 13:55:31 2010 from sergo555.local [sergo@altsf ~] |
altsf
, теперь заходим от пользователя root
(в альт линукс по-умолчанию запрещено удаленное подключение по ssl непосредственно от пользователя root
): Все, мы в терминале на удаленном сервере altsf
, теперь заходим от пользователя root
(в альт линукс по-умолчанию запрещено удаленное подключение по ssl непосредственно от пользователя root
):[sergo@altsf ~]$ su -l Password: пароль_пользователя_root_удаленного_компьютера_altsf [root@altsf ~]# |
Рисунок 1.1. Базовые опции для сессии PuTTY
в разделе Window->Translation в кодировках поставьте
UTF-8
, чтобы не было проблем с отображением кириллицы, см. рис. 1.2.Рисунок 1.2. Настройка кодировки сессии PuTTY
жмем OPEN, в первых раз будет сделан запрос на обмен ключами, как на рис. 1.3.
Рисунок 1.3. Регистрация ключей сессии PuTTY
Жмем Да. На надпись в терминале
login as
: говорим sergo
, вводим пароль, зашли, набираем su -l
, вводим пароль root
. Можно работать (рис. 1.4.)Рисунок 1.4. Удаленный вход через терминал PuTTY
(к началу страницы)
2. Подготовка раздела для общих ресурсов
Раздел с будущими общими ресурсами представляет из себя:# mount -l /dev/sda8 on /mnt/disk type ext3 (rw,noexec,nosuid,nodev) |
sda8
, примонтировался системой в папку /mnt/disk
.Далее идут необязательные действия, но так удобнее, если хотите, хороший тон, мы переименуем папку
/mnt/disk
в что-то более информативное, особенно это актуально, если у вас несколько жестких дисков и они примонтировались соответственно в папки, например, /mnt/sda2
, /mnt/sdb3
и тому подобное, лично мне неудобно ориентироваться в таких названиях. К тому же, если вы недавно в линукс, вы узнаете кое-что новое о простых операциях и работе с файлами.Отмонтируем раздел (учтите, что ни одна программа не должна обращаться к вашему разделу перед тем, как он будет отмонтирован):
# umount /mnt/disk |
/mnt/disk
в /mnt/allfiles
(возможно это не более информативное название, чем прежде, однако мне оно говорит больше, чем предыдущее.# mv /mnt/disk /mnt/allfiles |
/etc/fstab
(файл, отвечающий за то, как и куда будут смонтированы разделы в вашей системе), чтобы раздел /dev/sda8
монтировался при загрузке в новое место (папку /mnt/allfiles
), открываем файл в редакторе (у меня это mc):# mcedit /etc/fstab |
UUID=fa40a5d4-ca38-4867-bace-5a63ebd29639 /mnt/disk ext3 nosuid,nodev,noexec |
UUID=fa40a5d4-ca38-4867-bace-5a63ebd29639 /mnt/allfiles ext3 nosuid,nodev,noexec |
Жмем F2 (сохранить) и F10 (выход из mc). Монтируем все обратно:
# mount - |
(к началу страницы)
3. Планирование общих ресуров
Теперь определимся с общими ресурсами, для примера у нас будет два общих ресурса,music
(тут вся музыка предприятия например), и обмен файлами
, где ваши сотрудники могут централизованно обмениваться какой-либо информацией. Последнее название выбрано специально, оно написано по-русски и имеет в названии пробел, такое имя общего ресурса может вызвать затруднения при "расшаривании" и монтировании, ниже будет показано, что на самом деле никаких сложностей нет.Данное решение использует параметр force user. Использование параметра force user гарантирует вам, что все файлы будут принадлежать одному и тому же идентификатору пользователя (user identifier UID) и здесь никогда не будет проблем с доступом к файлам.
Пояснение: это значит, что мы заведем на файл-сервере одного пользователя, который автоматически будет становиться владельцем всех файлов и папок в ваших общих ресурсах.
(к началу страницы)
4. Создаем владельца общих ресурсов и сами общие папки
Создадим в системе такого пользователяsambauser
, его пароль samba1USER
, при создании сделаем каталог пользователя (ключ -m
) и зададим пароль (ключ -p
:# useradd -m sambauser -p samba1USER |
# cat /etc/passwd | grep sambauser sambauser:x:501:501::/home/sambauser:/bin/bash |
sambauser
:# ls -l /home | grep sambauser drwx------ 11 sambauser sambauser 4096 May 26 16:02 sambauser |
sharefolder
, в которой будут находиться наши будущие общие ресурсы, можно и без нее, но имхо удобнее, если все общие папки будут лежать в отдельном каталоге, а не просто в корне точки монтирования:# mkdir /mnt/allfiles/sharefolder |
# mkdir /mnt/allfiles/sharefolder/{music,"обмен файлами"} |
# chown -R sambauser:users /mnt/allfiles/sharefolder # chmod -R ugo+rwx /mnt/allfiles/sharefolder |
# ls -l /mnt/allfiles/sharefolder drwxrwxrwx 2 sambauser users 4096 May 26 16:27 music drwxrwxrwx 2 sambauser users 4096 May 26 16:27 обмен файлами |
(к началу страницы)
5. Конфигурирование сервера Samba
Теперь займемся сервером Samba. Конфигурационный файл для сервера Samba-3 находится в папке/etc/samba
и называется smb.conf
. После установки в нем написано много чего интересного, но мы не будем его править, а создадим свой. Для этого сохраняем файл /etc/samba/smb.conf
на память (и на всякий случай, там много чего есть интересного почитать, и вообще перед любым изменением любого конфигурационного файла желательно делать его резервную копию):# mv /etc/samba/smb.conf /etc/samba/smb.conf.default |
smb.conf
как можно более меньшего размера, а также не иметь внутри файла комментариев. Также они рекомендуют как можно более тщательно комментировать все изменения, какие вы делаете. Данные противоречивые рекомендации исполняются следующим образом: мы сделаем файл smb.conf.comment
, в котором опишем все, что мы делаем, а потом из него получим рабочий файл smb.conf
:# touch /etc/samba/smb.conf.comment |
#Глобальные параметры [global] #название рабочей группы, заметьте, по умолчанию значение параметра #workgroup = WORKGROUP, таким образом, если ваша рабочая группа называется #WORKGROUP, этот параметр можно не указывать workgroup = MYNET #NetBIOS-имя компьютера в вашей сети, имя, под которым файл-сервер будет #отображаться в сетевом окружении, заметьте, тут вы можете задать имя, отличное #от реального названия вашего сервера (у нас altsf) netbios name = ALTSERVER #режим безопасности security = SHARE #то, как будет описываться в сетевом окружении server string = files and music #описание наших общих папок #секция music [music] #комментарий, то, как будет подписан наш общий ресурс в сетевом окружении comment=Наша музыка #путь к общей папке path=/mnt/allfiles/sharefolder/music #данные параметры необязательны, но для чего они потребовались тут, скажу ниже create mask = 0777 directory mask = 0777 #принуждаем быть владельцем общего ресурса пользователя sambauser force user=sambauser #принуждаем быть владельцем общего ресурса группу users force group=users #указываем, что можно не только читать, но и записывать read only=No #открываем гостевой доступ, по сути всем guest ok=Yes [обмен файлами] comment=файлообмен path="/mnt/allfiles/sharefolder/обмен файлами" create mask = 0777 directory mask = 0777 force user=sambauser force group=users read only=No |
smb.conf
, а заодно проверим, нигде ли мы не ошиблись при помощи команды testparm
:# testparm -s smb.conf.comment>smb.conf Load smb config files from smb.conf.comment Processing section "[music]" Processing section "[обмен файлами]" Loaded services file OK. WARNING: You have some share names that are longer than 12 characters. These may not be accessible to some older clients. (Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.) Server role: ROLE_STANDALONE |
smb.conf
, причем в нем нет ни одной строки с комментариями. Добейтесь, чтобы не было никаких ошибок, опечаток и т.п. Утилита testparm
проверяет в основном опечатки, правильность заданных параметров она почти не контролирует. Например, если вы опечатались, сообщение об ошибке может выглядеть так:# testparm -s smb.conf.comment>smb.conf Load smb config files from smb.conf.comment Unknown parameter encountered: "metbios name" Ignoring unknown parameter "metbios name" Processing section "[music]" ERROR: Badly formed boolean in configuration file: "Yes/t". lp_bool(Yes/t): value is not boolean! Processing section "[обмен файлами]" Loaded services file OK. WARNING: You have some share names that are longer than 12 characters. These may not be accessible to some older clients. (Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.) Server role: ROLE_STANDALONE |
metbios name
вместо netbios name
, а также ошибочное значение параметра в секции[music]
.Если вы игнорируете рекомендации разработчиков и нещадно редактируете непосредственно файл
smb.conf
, то для проверки можно запускать testparm
без параметров (в этом случае утилита ищет файл smb.conf
в папке/etc/samba/
).Итоговый файл
smb.conf
получился таким:[global] workgroup = MYNET netbios name = ALTSERVER server string = files and music security = SHARE [music] comment = Наша музыка path = /mnt/allfiles/sharefolder/music force user = sambauser force group = users read only = No create mask = 0777 directory mask = 0777 guest ok = Yes [обмен файлами] comment = файлообмен path = "/mnt/allfiles/sharefolder/обмен файлами" force user = sambauser force group = users read only = No create mask = 0777 directory mask = 0777 guest ok = Yes |
(к началу страницы)
6. Запуск сервера Samba и проверка работы
Теперь говорим Samba быть всегда включенной при загрузке/перезагрузке и запускаем ее:# chkconfig smb --level 35 on [root@altsf samba]# service smb start Starting CIFS services: NetBIOS over TCP/IP server, Samba server [DONE] |
# smbclient -L altserver -U% Domain=[MYNET] OS=[Unix] Server=[Samba 3.0.37] Sharename Type Comment --------- ---- ------- music Disk Наша музыка обмен файлами Disk файлообмен IPC$ IPC IPC Service (файл-сервер) Domain=[MYNET] OS=[Unix] Server=[Samba 3.0.37] Server Comment --------- ------- ALTSERVER Workgroup Master --------- ------- MYNET |
# smbclient -L altserver -Usambauser password: |
(к началу страницы)
7. Монтирование общих ресурсов в windows- и linux-клиентах
Все, через 1-2 минуты идем, если в windows, в сетевое окружение, если linux, то Dolphin (или что там у вас) Сеть->Samba_Shares->MYNET->Altserver. Там видим наши папкиmusic
и обмен файлами
, убеждаемся, что везде есть доступ, как на чтение, так и на запись.Временно смонтировать можно такой командой, например нашу музыку в папку
/mnt/music
:# mkdir /mnt/music # mount -t cifs //192.168.0.1/music /mnt/music -o users,username=guest,password="" |
На клиенте linux:
Вот как раз для этого случая потребовались параметры:
create mask = 0777 directory mask = 0777 |
sambauser
, а остальные могли только читать эти файлы. Кто знает, в чем загвоздка, поделитесь.Создадим папки, куда будем монтировать (все делаем уже не на файл-сервере, а на рабочей станцией с линукс):
# mkdir /mnt/{music,obmen} |
/etc/fstab
такие строки (лучше в конец файла)://192.168.0.1/music /mnt/music cifs users,username=guest,password="",utf8 0 0 //192.168.0.1/обмен\040файлами /mnt/obmen cifs users,username=guest,password="",utf8 0 0 |
ln -s /mnt/music /home/sergo/Desktop/музыка ln -s /mnt/obmen /home/sergo/Desktop/"обмен файлами" |
/mnt/music
, ну и тоже самое для ресурса обмен файлами
. Так вы упростите навигацию к вашим общим ресурсам в файловом менеджере.На клиенте windows:
В windows мы щелкаем правой клавишей на Мой компьютер, выбираем Подключить сетевой диск, назначаем букву диска и указываем путь, либо делаем Пуск->Выполнить->cmd, и в командной строке набираем (диск
m:
будет музыка, o:
обмен файлами):c:>net use m: \\altserver\music /persistent:Yes c:>net use o: "\\altserver\обмен файлами" /persistent:Yes |
(к началу страницы)
Назад Samba-3 от простого к сложному. Содержание | Дальше Пример 2. Одноранговая сеть. Персональные общие папки |
Комментариев нет:
Отправить комментарий