Блог gentoo

Регистрация

gentoo

some abt gentoo

<<< Эксперимент с deltup'ом
Last.fm (MPD + MPDScribble + Sonata)>>>

Простейшая настройка Samba

Что такое Samba? Samba — это свободная программа для работы с протоколом SMB/CIFS, выпущена под GNU General Public License.
Возможности Samba можно условно разделить на две категории:
- Сервер: предоставление ресурсов (доступ к системе принтеров и файлам) для различных клиентов Microsoft Windows.
- Клиент: доступ к ресурсам клиентов Microsoft Windows.
Может интегрироваться с Windows Server: либо как Основной контроллер домена (PDC), либо как член домена. Она также может быть частью домена Active Directory.

Для доступа к ресурсам клиентов Windows собственно ничего особо настраивать и не надо, лишь поставить самбу и по желанию прописать кодировки. Для предоставления ресурсов придётся немного поковыряться в конфиге. Моя цель - расшарить одну папку для обмена файлами. На авторизацию пользователей, права доступа и прочие прелести цивилизации не претендую.

Используемые USE-флаги:
net-fs/samba-3.0.24-r3  USE="acl cups pam python readline swat -async -automount -caps -doc -examples -fam -kerberos -ldap -oav -quotas (-selinux) -syslog -winbind"
где: swat - веб-интерфейс управления самбой.

# emerge net-fs/samba

Настройка:
# cp /etc/samba/smb.conf.example /etc/samba/smb.conf
# nano /etc/samba/smb.conf

Привожу только то, что добавил и оставил включённым:
#================== Global Settings ======================
[global]

# 1. Server Naming Options:
# Имя рабочей группы. Именно оно высвечивается в «Сетевом окружении».
   workgroup = WORKGROUP

# NetBIOS-имя, под которым будет виден сервер остальным машинам сети.
# по умолчанию = hostname
;  netbios name = <name_of_this_server>

# Комментарий, появляющийся рядом с именем машины в "Сетевом окружении" Windows.
   server string = Samba Server %v


# 2. Printing Options:
   printcap name = cups
   load printers = yes
   printing = cups


# 3. Logging Options:
# Параметры логирования - log.<имя_машины_клиента>
   log file = /var/log/samba/log.%m

# Put a capping on the size of the log files (in Kb).
# это кому скока не жалко
   max log size = 50


# 4. Security and Domain Membership Options:
# Следующий параметр влияет на безопасность. Hosts allow разрешает машинам с
# указанными IP-адресами присоединяться к Samba-серверу.
   hosts allow = 192.168.1. 192.168.0. 127. 10.

# Uncomment this if you want a guest account, you must add this to /etc/passwd
# otherwise the user "nobody" is used
# имя, под которым разрешен гостевой вход в систему
  guest account = nobody
# Allow users to map to guest:
  map to guest = bad user

# Уровень доступа. user — на уровне пользователя.
   security = user

# Поддержка шифрованных паролей
  encrypt passwords = yes


# 5. Browser Control and Networking Options:
# Параметры оптимизации самбы,
# всеми рекомендуемые и проверенные опытным путем.
;   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
socket options = TCP_NODELAY IPTOS_LOWDELAY
read raw = yes
write raw = yes
oplocks = yes
max xmit = 65535
dead time = 15
getwd cache = yes

# По умолчанию слушаются все интерфейсы, здесь можно указать конкретно
;   interfaces = 192.168.12.2/24 192.168.13.2/24


# 8. File Naming Options:
# Enabling internationalization:
dos charset = 866
unix charset = UTF-8
display charset = UTF-8


#================== Share Definitions ====================
[homes]
   comment = Home Directories
   browseable = no
   writable = yes

# A publicly accessible directory, but read only, except for people in
# the "staff" group
# Отсюда можно будет только брать файлы
[public]
   comment = Public Stuff
   path = /home/samba/public
   public = yes
   writable = no
   write list = @staff

# A publicly accessible directory, read/write to all users. Note that all files
# created in the directory by users will be owned by the default user, so
# any user with access can delete any other user's files. Obviously this
# directory must be writable by the default user. Another user could of course
# be specified, in which case all files would be owned by that user instead.
;[public]
;   path = /usr/somewhere/else/public
;   public = yes
;   only guest = yes
;   writable = yes
;   printable = no
# Общий каталог для всех, полная анархия.
[incoming]
   path = /home/samba/incoming
   public = yes
   only guest = yes
   writable = yes
   printable = no
   create mask = 0666
   directory mode = 0777

Создание необходимых каталогов:
# mkdir /home/samba/public -p
# mkdir /home/samba/incoming

Так как у каталога incoming владелец root, писать в неё сможет только он, исправляем:
# chmod 777 /home/samba/incoming
# ls /home/samba/ -l
drwxrwxrwx 2 root root 48 Авг 29 20:12 incoming
drwxr-xr-x 2 root root 48 Авг 29 20:09 public

# /etc/init.d/samba start
По желанию:
# rc-update add samba default

Все файлы/папки, создаваемые в каталоге incoming будут создаваться от пользователя nobody:
# ls /home/samba/incoming/ -l
-rw-rw-rw- 1 nobody nobody 640 Авг 30 10:44 ttt.txt
drwxr-xr-x 2 nobody nobody  48 Авг 30 11:32 Новая папка


SWAT. Веб-интерфейс для управления самбой.

 * swat must be enabled by xinetd:
 *     change the /etc/xinetd.d/swat configuration

Изменил:
# nano /etc/xinetd.d/swat
        only_from       = 127.0.0.1
        disable         = no

По какой-то причине при прописанном "only_from = localhost" никак не мог достучаться до swat'а. Исправил на 127.0.0.1 - всё заработало.

# /etc/init.d/xinetd start

Проверяем: http://localhost:901/ (или http://127.0.0.1:901/)

Если появилось окно авторизации - хорошо. Лично я создал пароль для root'а: # smbpasswd -a root и перезашёл.


Теги: samba|server


  • gentoo
    30 августа 2007|04:26|ссылка
    Файловым менеджером :) Krusader, реже mc. В xfce обычным Thunar'ом ходил.

  • frac
    30 августа 2007|04:19|ссылка
    а ты каким "explorer"-ом пользуешься для просмотра виндовых ресурсов...
    мне вот чет резко это интересно стало, так как я монтированием важных для себя ресурсов ограничивался.. но иногда просто необходимо скачать файлик с сетевой машинки без лишнего гимора.. может посоветуешь что-нить..

    • gentoo
      30 августа 2007|04:42|ссылка
      А как монтируешь ресурсы? Покажи пример?

      • frac
        30 августа 2007|05:19|ссылка
        в общем случае это выглядит так: ( строка из /etc/fstab):
        //<имя_шары> /mnt/pub smbfs credentials=/etc/guest.samba.auth,codepage=cp866,iocharset=utf8

        содержимое /etc/guest.samba.auth:
        username=uncle
        password=fuc*er
        (типа с юмором)
        без эти самых данных не монтирует! видимо венда ведет лог кто куда заходил!

        PS монирую веновые шары исключительно на работе! дома обмениваюсь файлами по фтп..
        предпологаю тоже самое в коммандной строке будет выглядеть так:
        # mount -t smbfs -o credentials=/etc/guest.samba.auth,codepage=cp866,iocharset=utf8 //<имя_шары> /mnt/pub

      • frac
        30 августа 2007|05:23|ссылка
        имя шары - у меня это IP/<директория>

        • gentoo
          30 августа 2007|06:30|ссылка
          угу, записал на память

  • Анонимно
    10 сентября 2007|17:23|ссылка
    Если вы живёте в win-окружении, весьма удобно иметь возможность именовать виндовые компы по netbios имени. Для этого нужно включить winbind в USE флаги при компиляции.
    К вопросу о монтировании шар, советую почитать http://baleks.dorms.spbu.ru/linux:shares

    • gentoo
      10 сентября 2007|21:32|ссылка

      Если вы живёте в win-окружении, весьма удобно иметь возможность именовать виндовые компы по netbios имени

      Что это значит? Т.е. у меня сейчас если зайти в Remote Places -> Samba Shares -> далее идут имена компов и рабочая группа WORKGROUP. Мой компьютер также виден для других по имени в рабочей группе WORKGROUP. Что даст winbind?

      К вопросу о монтировании шар, советую почитать http://baleks.dorms.spbu.ru/linux:shares

      Спасибо, посмотрю.

      • Анонимно
        11 сентября 2007|02:43|ссылка
        Я лишь имел ввиду что набрав, скажем, ping comp_name, где comp_name - netbios имя, будет запрошен его ip адрес. По дефолту адрес запрашивается сначала из файла hosts, затем у dns сервера (порядок прописан в файле /etc/nsswitch.conf). Если собрать самбу с опцией winbind, самба попытается найти компьютер с таким именем и получить его адрес. Довольно удобно, к примеру, чтобы заходить на локальные сайты и тп.

        • gentoo
          11 сентября 2007|04:34|ссылка
          Ааааа, понял, ну да.

      • Анонимно
        11 октября 2007|07:41|ссылка
        недавно ставил kde (не себе конечно), выяснил такую вещь: лазить по шарам средствами konqueror'а не очень удобно (нельзя смотреть файлы прямо с удалённого компа). если Вас это тоже раздражает, могу подкинуть прогу, которая монтирует рабочие группы в заданный каталог. при этом можно работать с чужими шарами как с локальными папками. использую этот пакет в сети на ~600 компов, глюков замечено не было...

        • gentoo
          11 октября 2007|09:11|ссылка
          Это нечто похожее на fusesmb? Отказываться не буду, с интересом посмотрел бы на Вашу прогу. Konqueror'ом и правда ходить по сети неудобно, поэтому в основном использую для этого Krusader, но не помню как в нём насчёт просмотра удалённых файлов (фильмы запускать не пробовал, а с правкой txt-шек и просмотром картинок проблем не было).

          • Анонимно
            12 октября 2007|16:59|ссылка
            да, это нечто похожее и так же использует fuse. не буду утверждать что лучше, но если ты зайдёшь на оффсайт fusesmb (http://www.ricardis.tudelft.nl/~vincent/fusesmb/), сможешь увидеть внизу ссылку на smbnetfs. да человека и написавшего smbnetfs я знаю :)
            ЗЫ и что означает последний коммент к посту? =)

            • gentoo
              12 октября 2007|21:33|ссылка
              Опробовал вчера ещё раз Krusader, открытие картинок и редактирование файлов происходит удалённо, а вот для просмотра фильма - начинает сначала копировать всю авишку в темп...
              Жаль smbnetfs нет в портежах, но посмотрю как-нибудь. В fusesmb мне не нравилось то, что после монтировании в папку изменения на машинах в сети не отображались. Хотя это было давно, может я там сам что-то не так делал.

              ЗЫ это ребус какой-то