Linux настройка Samba

Итак, чтоже такое Samba и с чем его едят. Собственно говоря это набор программ позволяющей Linux работать совместно с Win98/2000. И цто самое интересное Linux машина может быть ведущей в сети Microsoft. В состав Samba входят следующие пакеты: smbd, nmbd, smbclient, swat, testparam. Особо стоит отметить swat эта программа позволяет настраивать samba припомощи web-интерфейса. В принципе ничего сложного нет и в непосредственном редактировании файлов конфигурации, но с ипользованием swat все становиться намного удобнее. В этой статье я напишу только о том как подготовить запуск swat (по умолчанию он не запускается) и о некоторых аспектах ручной настройки. Итак начнем с того как запустить samba. Здесь еще раз ого ворюсь, что все сказаное справедливо для ASPLinux 7.1 (RedHat). Кроме того, все выкладки приведенные здесь вы используете на свой страх и риск, и конецноже автор статьи не несет ответственности за последствия ваших эксперементов.

Для того, чтобы Samba запускаля автоматически запускаем утилиту setup и в графе system services помечаем smbd звездочкой, теперь он будет запускаться автоматически.

Теперь samba запускается автоматически. Настроим теперь swat. Проверим работает ли он в строке интернет брозауэра (Netscape) набираем http://localhost:901/ Если у вас запросили пароль, то введите root и ваш пароль. Если же вы получили сообщение, что у вас ненастроен сервер имен или нечто подобное, то это значит что просто не запущен swat. И не имеет смысла обращаться к порту 901, а некокого отношения к серверу имен это не имеет. Немало часов я провел с DNS, прежде чем понял, что дело вовсе не в нем. В источниках сложновато написано как запустить swat. На самом деле ничего сложного тут нет достаточно исправить одну строку. В файле /etc/xinetd.d/swat изменить строку disable = yes на disable = no это позволит swat загрузиться. Теперь снова наберите в Netscape http://localhost:901/ и наслаждайтесь графическим интерфейсом samba. В качестве лирического отступления замечу, что проверить есть ли порт 901 на вашей машине или его еще нет можно с помощью утилиты netstat -avn, если есть строка содежащая 127.0.0.0:901 .... listen значит все нормально.

Теперь о настройке samba путем непосредственного редактирования /etc/samba/smb.conf , еще раз оговорюсь что приведенные расположения файлов справедливы для ASPLinux7.1 в других дистрибутивах может быть другое расположение но принцип остается один и тотже. Итак о smb.conf в этом файле несколько секций [global] - переменные для обеспечения доступа ко всем ресурсам, [homes] - доступ к домашним дерикториям на Linux машине, [public] - доступ Win98 машины к файлам Linux. Пояснить все поможет пример файла smb.conf

[global]
     ;раскоментируйте если хотите дать доступ гостю
     ;guest account = nobody
     logfile=/var/log/sambalo-log.%m
     lock directory = /var/lock/samba
     share modes = yes

[homes]
    comment = Home Directoryes
    broweable = no
    read only = no
    creat mode = 0750

[tmp]
   comment =  Temporary file space
   path = /tmp
   read only = no
   public = yes

[public]
    comment = Public Stuff
    path = /home/public
    public = yes
    printtable = no
    ;write list = @stuff - запись имеют право только
    ;пользователи группы stuff, остальные чтение


Еще один ьонкий момент Linux по умолчанию не шифрует пароли, Win98/2000 шифрует можно либо отказаться от шифрования в Win98/2000 или заставить шифровать Linux. Если вы хотите заставить шифровать Linux то необходимо сделать следующее.

[global]
     encrypt passwords = yes
     smb password file = /etc/smbpasswd

Если вы хотите что бы Винды не шифровали, то необходимо

Для Win98:
HKEY_Local_Machine\system\CurrentControlSet\Services\VxD\VNetsup
добавить тип            DWORD
                      имя           EnablePlainTextPassword
                      данные   0x01
Для WinNT:
HKEY_Local_Machine\system\CurrentControlSet\Services\Rdr\Parametrs
добавить тип            DWORD
                      имя           EnablePlainTextPassword
                      данные   0x01
Для Win2000:
HKEY_Local_Machine\system\CurrentControlSet\Services\LanmanWorkStation\Parametrs
добавить тип            DWORD
                      имя           EnablePlainTextPassword
                      данные   0x01


К сожаленияю у меня не было возможности откатать это на реальной сети, ну нету у меня торой машины. Тут мне кажется, что проще отказаться от шифрования, если в сети нет потенциальных хакеров. Если у вас нет локаной сети то клиента для samba вы можете за пустить на тойже машине: smbclient \\\\localhost\\public и подключитесь к localhost к секции [public].

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

Продолжение (8/07/2003)

Появился второй комп и наконец появилась возможность откатать Самбу в боевой обстановке. выявилось сразу несколько вопросов.

1. Скажу сразу с шифровкой паролей никаких проблем нет поэтому можете смело ставить:

[global]
.....
encrypt passwords = Yes
unix password sync = Yes
......

2. А вот могут возникнуть проблеммы с русскими именами. даже если вы подмонтировали диск с FAT 32 и указали, что там кодировка в соответствующем формате это не поможет, эту самую кодировку надо указать и Самбе.

[global]
......
client code page = 866
character set = KOI8-R
.......

3. И еще одна проблема, если доступ к каталогу, для пользователя закрыт в Linux, то даже если вы разрешите его в Самбе, то ничего не получиться. Каталог, то увидите, но зайти не сможите. Так-то. А для того чтобы открыть доступ в подмонтируемых DOS дисках в файле fstab один из параметров должен быть umask=0 (см. man mount).

В ближайшее время я подготовлю статью о использовании Самбы в качестве первичного контроллера домена, где полностью приведу конфигурационный файл Самбы. Буду рад вашим вопросам и вашему опыту по настройке Самбы.





1. SMB-HOWTO
2. Сайт www.linux.ru
3. Сайт www.emanual.ru
4. Использование Linux 6-е издание Девид Бендел, Роберт Нейпир
5. Сайт http://samba.org.ru



 

 
Для связи:linux-75@narod.ru
 
Hosted by uCoz