среда, 13 мая 2009 г.

Установка и настройка Samba в Debian GNU/Linux и Ubuntu Linux

Копия статьи с ныне мёртвого проекта debian-ubuntu-linux.ru.
Обратите внимание, что я всего лишь скопировал статью сюда — я лишь немного исправил её (в основном опечатки), и не имею никакого отношения к её содержимому (более того, с некоторыми моментами я категорически не согласен). С другой стороны, я считаю эти статьи полезными для новичка, и потому копирую их.
Все авторские права принадлежат Дмитрию Белоусову. Мною выполнены мелкие правки (исправление опечаток).

Дмитрий Белоусов
Последнее обновление: 02.02.2008


Samba — это эффективный способ не только организовать взаимодействие компьютеров под управлением Windows и Linux, но и в сетях, состоящих только из Linux-машин он позволяет быстро организовать общий доступ к ресурсам. Файл конфигурации Samba может достигать огромной длины и учитывать множество параметров, однако в большинстве случаев достаточно гораздо меньшего количества настроек.


I. Установка Samba


Если мы хотим и расшаривать сами и иметь доступ к файлам на других компьютерах, то необходимо установить три пакета:
$ sudo aptitude install samba smbclient smbfs


II. Настройка Samba


1. Создайте резервную копию /etc/samba/smb.conf:
$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup
Теперь откройте файл /etc/samba/smb.conf для редактирования в вашем любимом текстовом редакторе. Например так:
$ sudo nano /etc/samba/smb.conf
Все то, что там есть – нам не нужно. Можете отчистить файл полностью, и добавить, например, такую конфигурацию:
[global]
workgroup = home
netbios name = desktop
server string = anonymous lan file server
security = share
browseable = yes

[user]
path = /home/user
comment = mediafiles
readonly = No
guest ok = Yes

[ftp]
path = /home/ftp
comment = ftpfiles
readonly = No
guest ok = Yes
Теперь можете заменить информацию на свою:
workgroup – это имя вашей сети, должно быть одинаковым для всех компьютеров, как рабочая группа в Windows.
netbios name – имя вашего компьютера в сети, сделайте всем машинам уникальные, как имя компьютера в Windows.
server string — описание компьютера, аналог подобного значения в Windows.
security — определяет доступ к расшариваемым каталогам.
browseable — хотите ли вы сделать доступными все подкаталоги рашариваемого каталога. Этот параметр также можно использовать отдельно для каждого расшариваемого каталога.
path — путь до расшариваемого каталога. В данном конкретном примере будут расшарены домашний каталог пользователя user и домашний каталог пользователя ftp.
comment — комментарий.
readonly – только для чтения. Обратите внимание, что Samba может ограничить права пользователя, но не может расширить права, заданные системой. То есть если на рсшариваемом каталоге не стоят права на запись для всех в самой системе, Samba не сможет разрешить запись в него сторонним пользователям. Однако если на каталоге стоят права 777, то задав параметр readonly = Yes вы сможете ограничить доступ на запись для пользователей, подключающихся из сети.
Аналогично вы можете создать любое количество сетевых каталогов.

После завершения конфигурации выполните команду
$ testparm
она автоматически проверит файл конфигурации. После этого перезагрузите Samba:
$ sudo /etc/init.d/samba restart
Обратите внимание, что после загрузки компьютеры не сразу появляются в сети, что связанно с особенностями протокола.

Это простейшая конфигурация Samba, однако для большинства ситуаций ее вполне достаточно.

Копируете статью — поставьте ссылку!

28 комментариев:

Анонимный комментирует...

Отличное руководство для новичков!

virens комментирует...

Хе-хе, а вот виндоуз-пользователи вас не поймут: нет настройки кириллицы в конфиге. Но я это скоро поправлю своим постом :-)

P.S> Так держать: правильно выкладываешь хорошие посты, а то некоторые несознательные товарищи потом удаляют ресурсы\форумы вместе со статьями.

Minoru комментирует...

Хе-хе, а вот виндоуз-пользователи вас не поймут: нет настройки кириллицы в конфиге. Но я это скоро поправлю своим постом :-)

Твои сведения устарели: у меня samba с такими настройками уже месяц работает и проблемы с киррилицей ни разу не наблюдались. Сейчас специально виндузятников просил проверить — говорят, всё видно.

P.S> Так держать: правильно выкладываешь хорошие посты, а то некоторые несознательные товарищи потом удаляют ресурсы\форумы вместе со статьями.

Ну, за сознательность автора ручаться не буду — может, он это и сознательно удалил, а может, просто нет денег продлить хостинг, — но да, жалко, что такой материал пропадает — потому и скопировал.

Minoru комментирует...

Кириллицы, конечно.

P.S. Yahoo! Наконец-то починили баг с переводом строки в комментарии — надобность в <br /> после b, i и прочих отпала :)

Анонимный комментирует...

Не подскажете, какие порты следует прокинуть роутеру, чтобы видеть вне роутерной сети?

taz комментирует...

@anonim
netstat -nlp и смотри что слушает smd

Анонимный комментирует...

А если я хочу чтоб папка была доступна только для чтения и для всех,в то же время требуя пароль для записи?

Minoru комментирует...

2 vovane2:
Я, честно говоря, в самбе разбираюсь на очень поверхностном уровне, а статью перепостил потому, что она хорошая. Ответа на твой вопрос, увы, не знаю, но советую спросить на unixforum.org

Hunter комментирует...

Спасибо. Хорошая статья. Все работает.

Анонимный комментирует...

Здорово! спасибо большущее :)

Анонимный комментирует...

вот спасибки.

А я мудак с naitilus-sare возился.

подскажите пожалуйста люди добрые как на ntfs разделе папку расшарить, и ntfs-config не запускается, и как подключать ntfs не знаю.

Slon комментирует...

Все супер, все работает :)
Вот еще бы как квоты установить на расшаренные папки в том же стиле как и эта статья.

Minoru комментирует...

2 Dragovalovskiy:
> подскажите пожалуйста люди добрые как на ntfs разделе папку расшарить, и ntfs-config не запускается, и как подключать ntfs не знаю.

Папки с NTFS расшариваются точно так же, как и с любой другой файловой системы — дописываешь в конфиг Samba соответствующие пути и радуешься жизни. Для того, чтобы примонтировать NTFS раздел, нужно сначала установить пакет ntfs-3g, а потом воспользоваться терминалом и командой mount (или Dolphin/Nautilus, если предпочитаешь GUI).


2 Slon:
> Вот еще бы как квоты установить на расшаренные папки в том же стиле как и эта статья.

Увы, сам я в Samba не разбираюсь, так что за ответом тебе придётся обратиться на какой-нибудь форум — например, unixforum.org

Анонимный комментирует...

Ошибка в файле /etc/samba/smb.conf: bios name = desktop ---> netbios name = desktop

Minoru комментирует...

Спасибо, исправлено!

Анонимный комментирует...

Сделал как написано автором статьи. В терминале под рутом ношу эту строку /etc/init.d/samba restart и получаю ответ что такого файла не существует.

Minoru комментирует...

Анонимный, samba точно установилась? Может, там сервис переименовали? Я её (samba) не юзаю, могу новостей не знать — вдруг там переименовали чего. Телепаты в отпуске, звиняй.

Анонимный комментирует...

Честно сказать, незнаю!
Вот что пишет терминал
Следующие НОВЫЕ пакеты будут установлены:
samba{b}
0 пакетов обновлено, 1 установлено новых, 0 пакетов отмечено для удаления, и 128 пакетов не обновлено.
Необходимо получить 7 637 kB архивов. После распаковки 21,6 MB будет занято.
Следующие пакеты имеют неудовлетворённые зависимости:
samba: Зависит: libwbclient0 (= 2:3.5.6~dfsg-3squeeze6) но установлен 2:3.6.3-1~bpo60+1
Следующие действия разрешат зависимости:

Сохранить для следующих пакетов их текущие версии:
1) samba [Не установлен]



Принять данное решение? [Y/n/q/?] y
Ни одного пакета не будет установлено, обновлено или удалено.
0 пакетов обновлено, 0 установлено новых, 0 пакетов отмечено для удаления, и 128 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки 0 B будет занято.

А вот что пишет при установке
# aptitude install libwbclient0
Ни одного пакета не будет установлено, обновлено или удалено.
0 пакетов обновлено, 0 установлено новых, 0 пакетов отмечено для удаления, и 128 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки 0 B будет занято
И В ИТОГЕ НИЧЕГО НЕ ПРОИСХОДИТ!

Minoru комментирует...

Анонимный, ты не можешь поставить samba, потому что у тебя система в каком-то полуобновлённом состоянии (видишь же, пишут, что 128 пакетов не обновлено). Советую сделать sudo su -c 'aptitude update && aptitude safe-upgrade', если останутся необновлённые пакеты — sudo aptitude dist-upgrade, в случае проблем — sudo apt-get install -f.

Анонимный комментирует...

Спасибо.Я как только написал сюда, сразу обновил. ну и после этого попробовал установить samby. Все получилось. все заработало. Осталось дело за малым - это настройкой входа их winXP

Анонимный комментирует...

Помогите плиииз....

Мне нужно создать доменную группу пользователей.

Minoru комментирует...

> Мне нужно создать доменную группу пользователей.

Анонимный, я в таких тонкостях не разбираюсь — обратись на unixforum.org, например.

Анонимный комментирует...

Есть такая прога GADMIN SAMBA - в ней настройка делается в GUI - нтуитивно понятная. Натраивается всё, в том числе с директориями, паролями и уровнями доступа.

Леонид комментирует...

Не линуксоид. Можно сказать нуб :) Поставил на старенький системник Kerio Control 7.2.2. Ядро дебиановское, но очень урезана система по функционалу. Н-р, аптитьюд или апт-гет за команду не считает, и т.п.
Самба вроде установлена. Самба.конф переделал. Машину перезагрузил. Тестпарм показывает, что всё в порядке. А из сети машину не видно... хотя в правилах файрвола настроил доступ по телнету, ссх, фтп и т.д.

Где копать? :)

Minoru комментирует...

Леонид, с такими вопросами лучше всё-таки на форумы, например, unixforum.org. От себя могу посоветовать только nmap'ом посмотреть на свой внешний интерфейс (nmap твой_IP_в_сети) — есть ли там порт Samba?

Шихов Алексей комментирует...

>>а то некоторые несознательные товарищи потом удаляют ресурсы\форумы вместе со статьями.

А ты не думал, что с автором могло что нибудь случится? Может быть он лежит в больнице, может быть его больше нет, и некому проплатить хостинг?

Анонимный комментирует...

Может уже поздно по поводу доменной сети, но тут линк есть, если че
http://www.linuxatwork.ru/2011/05/19/ubuntu-to-active-directory-manual-1/

Анонимный комментирует...

Отлично! Я забодался делать свой комп доступным по сети в Opensuse. Видеть видят, но зайти не могут! А в Debian + твой конфиг - всё работает! Причём этот же конфиг в Opensuse - всё равно не пускает...

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.

 
Blogger logo Debian logo Creative Commons License FeedBurner Subscribers Counter