next up previous contents index
Next: Доступ к SMB-ресурсам из Up: Samba Previous: Основная настройка (/etc/smb.conf)   Contents   Index

Организация доступа к дискам Linux для машин под Windows

Как показано выше в файле smb.conf, организация доступа к дискам Linux для пользователей Windows является довольно простым делом. Однако, с помощью Samba Вы можете контролировать доступ расширенными возможностями. Ниже приводится несколько примеров:

Чтобы организовать доступ для всех пользователей, создайте копию раздела [tmp], приведенного выше, добавив в smb.conf что-то подобное:

[public] comment = Public Stuff path = /home/public public = yes writable = yes printable = no

Теперь у Вас будет возможность запустить Samba и просмотреть доступные ресурсы из Windows PC. Однако, с недавнего времени Microsoft ``усложнила жизнь'' тем, кто использует Samba. Windows 98, Windows NT (service pack 3 или выше) и поздние версии Windows 95 по умолчанию используют шифрованные пароли, а Samba по умолчанию использует нешифрованные пароли. Вы не сможете просматривать содержимое сервера, когда либо клиент либо сам сервер использует шифрованные пароли, потому что соединение не может быть создано без регистрации.

Если существует несоответствие типов паролей между клиентом и сервером и Вы пытаетесь подключится к ресурсу, то можете увидеть окно диалога в котором будет сказано примерно следующее: You are not authorized to access that account from this machine. Вам нужно настроить Samba-сервер для использования шифрованных паролей, либо настроить машины с Windows таким образом, чтобы они использовали нешифрованные пароли. Для того, чтобы заставить Windows работать с нешифрованными паролями SMB сделайте следующее:

Windows 95/98 ============= Используя редактор registry (regedit), создайте ключ registry HKEY_LOCAL_MACHINE - System - CurrentControlSet - Services - VxD - VNETSUP Добавьте значение типа DWORD: Имя значения: EnablePlainTextPassword Данные: 0x01.

Windows NT ========== Используя редактор registry (regedit), создайте ключ registry HKEY_LOCAL_MACHINE - System - CurrentControlSet - Services - Rdr - Parameters Добавьте значение типа DWORD: Имя значения: EnablePlainTextPassword Значение: 0x01

Windows 2000 ============ Using the registry editor (regedit), create the registry setting HKEY_LOCAL_MACHINE - SYSTEM - CurrentControlSet - Services - LanmanWorkStation - Parameters Add a new DWORD value: Value Name: EnablePlainTextPassword Data: 0x01

После того, как Вы сделали эти изменения, перезагрузите машину с Windows и попытайтесь подключить сетевой диск к серверу Samba.

Для того, чтобы настроить Samba для использования шифрованных паролей в раздел [global] файла /etc/smb.conf, добавьте следующие строки:

encrypt passwords = yes smb passwd file = /etc/smbpasswd \begin{verbatim} Настоятельно рекомендуется прочитать файлы \verb|ENCRYPTION.txt|, \verb|Win95.txt| и \verb|WinNT.txt| в документации по Samba до того как Вы будете делать это. Если и клиенты и сервер используют шифрованные пароли, то Вы не сможете просмотреть списки доступных ресурсов до тех пор, пока начальное соединение не будет сделано с указанием правильных параметров входа. Для того чтобы сделать первоначальное соединение, введите вручную имя ресурса в диалоговом окне Windows File Manager или Explorer, имя должно быть в форме \verb!\\<hostname>\<sharename>!. Подключитесь к серверу с достоверными для данного сервера именем и паролем. Если Вы видите, что сервис имен NetBIOS неправильно настроен (например, Вы получаете сообщение об ошибке \verb|host not found| (машина не найдена) при попытке подключения), то попытайтесь использовать IP-адрес сервера: \verb!\\<host ip address>\<sharename>!. Для того, чтобы имена отображались правильно, может понадобиться указать некоторые настройки в соответствующем разделе для ресурса. Настройки достоверно работают для клиентов под управлением 95/98/NT, но может быть необходимо изменить их, если вы используете в качестве клиентов машины с Windows 3.X. \begin{verbatim} ; Mangle case = yes seems to give the correct filenames ; for Win95/98/NT. mangle case = yes ; If samba is case sensitive when looking for files case sensitive = no ; Default case of files that are created default case = lower ; Preserve case for all filenames preserve case = yes ; Preserve case for dos (8.3) filenames short preserve case = no

Значение после знака / - это ссылка на сетевую маску. Для сети класса С этим значением будет 24. Для получения дополнительной информации о том, как вычислять значения для подсетей, Вы можете посмотреть информацию по адресу http://www.ralphb.net/IPSubnet/.

Конечно, настройка Samba более объемна, чем приведено здесь. Если Вы хотите сделать что-то более сложное, то рекомендуется посетить сервер Samba, упомянутый выше.

Чтобы сделать директорий доступным для чтения всеми, но разрешить писать в нее только пользователям из группы staff, измените запись как показано в следующем примере:

[public] comment = Public Stuff path = /home/public public = yes writable = yes printable = no write list = @staff

Для изучения других приемов изменения прав доступа к дискам, смотрите документацию на Samba и справочные страницы.



Alex Otwagin 2002-12-16