Difference between revisions of "Samba (Русский)"

From ArchWiki
Jump to navigation Jump to search
m (rem double redir)
Line 23: Line 23:
  
 
Вероятней всего Вам необходимо определить в нем параметры Вашей локальной сети. Хотим обратить Ваше внимание на нижеследующие пункты:
 
Вероятней всего Вам необходимо определить в нем параметры Вашей локальной сети. Хотим обратить Ваше внимание на нижеследующие пункты:
Замените имя группы в сккции '''[global]''' на действующее в Вашей сети:
+
Замените имя группы в секции '''[global]''' на действующее в Вашей сети:
 
  [global]
 
  [global]
 
   '''.....'''
 
   '''.....'''

Revision as of 18:46, 14 January 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Введение

Samba — программа, которая позволяет обращаться к сетевым дискам и принтерам на компьютерах сети с различными операционными системами по протоколу SMB/CIFS.

Установка

Для установки Samba-server, необходимо установить пакет Samba. Для этого выполните в терминале :

  # pacman -S samba

Настройка Samba

В системной директории /etc/samba/ располагается оригинальный файл конфигурации smb.conf.default. Вам необходимо скопиировать его в ту же директорию, при этом переименовав его в smb.conf. Для этого от имени root выполните в терминале :

  # cp /etc/samba/smb.conf.default /etc/samba/smb.conf

Откройте файл smb.conf для редактирования в удобном для Вас текстовом редакторе от имени root. Вы сразу заметите, что он достаточно хорошо коментирован, поэтому у Вас не должно возникнуть серьезных затруднений ( если их не возникло при изучении Ангийского :) ) во время конфигурирования. Там же в коментариях Вы найдете и примеры. Дополнительную информацию Вы найдете на странице справочного руководства:

  $ man smb.conf

Но мы коротко остановимся на основных моментах.

smb.conf разбит на несколько разделов: по одному разделу на общий ресурс плюс один глобальный раздел для настройки параметров, которые используются везде. Некоторые параметры являются действительными только в глобальном разделе, а некоторые верны только за его пределами. Помните, что глобальный раздел может быть переопределён любым другим разделом.

Вероятней всего Вам необходимо определить в нем параметры Вашей локальной сети. Хотим обратить Ваше внимание на нижеследующие пункты: Замените имя группы в секции [global] на действующее в Вашей сети:

[global]
 .....
  workgroup = MyWorkGroup
 .....

Здесь же есть возможность определить краткое описание Вашего компьютера, которое будут видеть пользователи сети:

  .....
  server string = Samba Server
  .....

Уровень безопасности пока лучше оставить по умолчанию:

  .....
  security = user
  .....

Если у Вас есть желание попытаться увеличить производительность Samba, то добавьте в секцию [global] следующее:

  wide links = yes
  socket options = TCPJJODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

где wide links включит следование Samba по символическим ссылкам, а опцией socket options Вы попытаетесь оптимизировать TCP. (Детальней об этом в "больше информации")

Сохраните файл и закройте редактор.

Добавление пользователей

SMB является протоколом с аутентификацией, т.е. вы можете указать имя пользователя и пароль, чтобы воспользоваться возможностями этой службы. Мы сообщаем серверу samba о том, что имена пользователей и пароли верны, посредством команды smbpasswd. smbpasswd допускает использование общих ключей для добавления как обычных пользователей, так и машин-пользователей (для SMB необходимо, чтобы вы добавили NETBIOS-имена компьютеров как машин-пользователей, ограничивая тем самым круг компьютеров, с которых может осуществляться аутентификация). Добавьте пользователя в файл /etc/samba/private/smbpasswd.

  # smbpasswd -a <user>

Или добавьте имя комрьютера сети

  # smbpasswd -a -m MachineName

Важно заметить, что при добавлении smb-пользователя, его учетная запись должна уже существовать в Вашей системе. Если это не так, то, при попытке добавить smb-пользователя, Вы получите ошибку вроде этой:

  Failed to modify password entry for user "<user>"

В таком случае Вы можете воспользоваться командой adduser.Обратите внимание, что при использовании команды adduser для добавления имени компьютера к нему необходимо добавить знак доллара (“$”). Однако этого не нужно делать при работе с smbpasswd. Утилита smbpasswd самостоятельно добавляет знак доллара. Нарушение этого правила посредством adduser приведёт к ошибке при добавлении имени машины в samba.

  # adduser MachineName$

За более детальной информацией по команде adduser обратитесь к справочному руководству.

Запуск демона Samba

Samba Вы можете запустить, выполнив в терминале от имени root:

# /etc/rc.d/samba start

Добавьте samba в список DAEMONS в Вашем файле rc.conf, если Вы желаете, чтобы она запускалась автоматически при старте системы. Samba, как правило, для слежения за изменениями в файловой системе использует FAM. Поэтому, при добавлении ее в rc.conf, необходимо учесть, что FAM должен быть запущен до запуска Samba. В качестве альтернативы FAM в Вашей системе может использоваться Gamin.

Присоединение общих ресурсов Samba

KDE и Gnome имеют возможность в своих браузерах просмтривать Samba-ресурсы.

Вы также можете для этого использовать консольный клиент smbclient. Для этого необходимо выполнить в терминале:

  $ smbclient -L <hostname> -U%

чтобы получить список доступных ресурсов на сервере.

Монтирование ресурсов Samba

Для того, чтобы вручную смонтировать smb-ресурс, выполните в терминале команду :

  # mount.cifs //<hostname>/<share> <mount_point> -o user=<username>,password=<password>

Для того чтобы можно было от обычного пользователя монтировать и размонтировать smb-ресурсы, Вам необходимо добавить setuid root к /sbin/mount.cifs. Как альтернативный вариант, Вы можете использовать пакет smbnetfs.

Добавление сетевых ресурсов в fstab

Для более простого монтирования/размонтирования, Вы можете добавить запись про интересующий Вас сетевой ресурc в /etc/fstab. Для этого добавьте туда строчку следующего вида :

  //<hostname>/<share> <mount_point> cifs credentials=<credentials_file>,rw,user,noauto 0 0

Так как файл fstab имеет права на чтение для всех пользователей, то будет неразумно вставлять туда Ваш smb пароль.В этом случае Вы можете создать файл с правами доступа на чтение только Вами. Это обычный текстовый файл, который будет содержать следующее :

  username=<username>
  password=<password>

Опция user в строчке fstab позволяет владельцу <mount_point> монтировать и размонтировать сетевой ресурс, а опция noauto выключает автоматическое монтирование ресурса при загрузке системы.

Если Вы добавили запись про Samba в fstab, то в таком случае Вы также должны добавить запуск демона netfs в Ваш rc.conf, так, чтобы он оказался после запуска демона network. Демон netfs будет монтировать сетевые диски при загрузке системы, но, что более важно, размонтируйте сетевые ресурсы перед тем, как выйти из системы. Даже если Вы используете опцию noauto в fstab, Вам всеравно необходимо добавить netfs в список запускаемых демонов. Без него, смонтированные какие-либо сетевые ресурсы, при выключении будут заставлять ждать демон network таймаута, что в свою очередь увеличит время выключения системы.

Решение проблем

Не могу подсоединиться к защищенному паролем ресурсу

Если у вас возникли проблемы при доступе к защищенному паролем общему ресурсу на Win98, попробуйте добавить в /etc/samba/smb.conf

[global]
# THE LANMAN FIX
client lanman auth = yes
client ntlmv2 auth = no

(Решение взято отсюда)

Файловый менеджер не открывает общий доступ

Если при попытке создать общий ресурс через Nautilus или Konqueror Вам сообщается об ошибке :

‘net usershare’ returned error 255: net usershare: usershares are currently disabled

в таком случае проделайте следующее : откройте для редактирования файл /etc/samba/smb.conf и отредактируйте секцию [global] следующим образом :

  [global]
  .....
  usershare allow guests = Yes
  usershare max shares = 100
  usershare owner only = False
  .....

Сохраните файл и закройте текстовый редактор. Далее создайте 'usershare' директорию где Samba будет хранить списки общих папок:

  # mkdir /var/lib/samba/usershares
  # chgrp users /var/lib/samba/usershares/
  # chmod 1770 /var/lib/samba/usershares/

И перезапустите Samba :

  # /etc/rc.d/samba restart

Это все! (решение было найдено здесь)

Смотрите также

Больше информации