Кто не знает, что это такое. Если говорить по рабоче-крестьянски, инструкция о том, как расшарить в локальную сеть каталог на компьютере с Linux.
Про протокол SMB/CIFS и пакет Samba можно почитать по ссылкам в Википедии.
Обычно в Slackware сервер Samba доступен «из коробки».
Для запуска Samba в Slackware достаточно дать права на исполнение файлу /etc/rc.d/rc.samba
и дать команду на запуск:
chmod 744 /etc/rc.d/rc.samba
/etc/rc.d/rc.samba start
Остановка:
/etc/rc.d/rc.samba stop
Если не надо, чтоб сервер Samba стартовал при загрузке ОС, отбираем права на исполнение:
chmod 644 /etc/rc.d/rc.samba
Samba прекрасно запускается в сетевом неймспейсе (копия) если это будет надо.
В таком случае, Samba надо будет запускать вручную, после того, как нужный namespace настроен, иначе возможны непонятные глюки. Так что в стартовый скрипт, после настройки неймспейсов вставляем команды:
echo "Starting samba server..."
chmod 744 /etc/rc.d/rc.samba
ip netns exec provns /etc/rc.d/rc.samba start
provns
— меняем на имя нужного неймспейса.
В скрипт, выполняемый при завершении работы (обычно /etc/rc.d/rc.local_shutdown
) вставляем команду завершения работы Samba-сервера:
echo "Stopping samba server..."
/etc/rc.d/rc.samba stop
И отбираем права на исполнение скрипта rc.samba
:
chmod 644 /etc/rc.d/rc.samba
Производим основные настройки в файле /etc/samba/smb.conf
[global] workgroup = WORKGROUP netbios name = PXE server string = Local PXE interfaces = 10.10.0.120 map to guest = bad user security = USER unix extensions = no wide links = yes follow symlinks = yes log file = /var/log/samba/log.%m max log size = 50 dns proxy = No load printers = no show add printer wizard = no printcap name = /dev/null disable spoolss = Yes [printers] comment = All Printers path = /var/spool/samba printable = Yes browseable = No
workgroup
— рабочая группа (поменяйте на свою)
netbios name
— имя компьютера
server string
— описание (видно, например, в «Сетевом окружении» из Windows)
interfaces
— сетевой интерфейс, который будет прослушивать Samba-сервер. Можно выставить имена сетевых устройств (например, eth0
) или задать IP
Делаем доступ к каталогам, открытым в Samba анонимным (без логина и пароля):
map to guest = bad user
security = USER
Следующие 3 строки нужны, чтоб Samba стал поддерживать символические ссылки. Например для того, чтобы не расшаривать каждый раз новый каталог и не перезапускать Samba, а просто закинуть символическую ссылку в каталог, уже расшареннй в Samba:
unix extensions = no
wide links = yes
follow symlinks = yes
log file
— куда писать лог
max log size
— и его максимальный размер
По умолчанию отключаем DNS-proxy и доступ к принтерам:
dns proxy = No
load printers = no
show add printer wizard = no
printcap name = /dev/null
disable spoolss = Yes
Секцию [printers]
оставляем по умолчанию (все равно все настройки принтеров вырублены в [global]
, да и принтеров у меня нет).
Иногда полезно создать каталог, чье содержимое доступно в локальной сети только для чтения, например, чтобы пользователь случайно или намеренно не испортил файлы. Пример такой шары из конфига для PXE-сервера. В шаре расположены файлы для Hiren’s Boot CD, запускаемого через PXE (копия)
Права на файлы, расшаренный каталог и подкаталоги должны быть установлены в 644
(чтение и запись для владельца, чтение для группы, чтение для остальных).
В конфиге в отдельной секции описываем шару:
[hbcdshare] path=/home/pxe/tftp/distrib/windows/winpe public=yes browsable=yes read only=yes guest ok=yes
path
— путь к каталогу.
public
— публичный, ставим в yes
, т.к. каталог нужно открыть для любого пользователя в локальной сети.
browsable=yes
— отображение без прямого указания адреса, без этого параметра автоматически не найдется в «Сетевом окружении», например.
read only=yes
— только чтение.
guest ok=yes
— пускать любого пользователя.
Примечание: Можно расшарить хоть целый раздел.
Права на расшариваемый каталог, подкаталоги и файлы надо установить в 777
(читать, исполнять и записывать для всех)
Секция в конфиге:
[pomojka] path=/mnt/sdb2 public=yes browsable=yes read only=no guest ok=yes
В секции меняется только параметр read only=no
Пример отображения в «Сетевом окружении» Windows: