суббота, 24 ноября 2007 г.

Настройка Samba (расшаривание папок и принтеров)

Недавно на работе мне потребовалось быстро настроить доступ к своему компьютеру по протоколу Samba. А именно - расшарить несколько папок и один принтер. Раньше никогда подобными вещами не занимался, поэтому пришлось разбираться, хотя в итоге оказалось, что это совсем не сложно - думал, будет гораздо хуже.

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

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

Анонимный пользователь, который заходит на мою шару, бегает под юзером anonymous и группой ftp_user (естественно, необходимо, чтобы они существовали). Файлам, которые он заливает, назначаются права доступа 644, причем заливать файлы ему разрешено только в папку upload (опция read only = No). Папки расшариваются следующим образом: в квадратных скобках пишется имя, которое будет видеть пользователь, а в поде path - фактический путь к папке на вашем компьютере.

Принтер я на своем компьютере настраивал через gnome-cups-manager. Данный конфиг делает доступными для удаленных пользователей все принтеры, которые настроены на моем компьютере. В Windows их можно подключить как сетевые принтеры, в Linux - через тот же gnome-cups-manager.

smb.conf:
[global]
workgroup = LAB83.NET
server string = Lab83 SMB server (Ubuntu 7.10)
security = SHARE
obey pam restrictions = Yes
passdb backend = tdbsam
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
panic action = /usr/share/samba/panic-action %d
invalid users = root
force user = anonymous
force group = ftp_user
create mask = 0644
guest ok = Yes

# Настройка принтера
load printers = yes
printing = cups
printcap name = cups

[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
public = yes
guest ok = yes
writable = no
printable = yes
printer admin = root

[print$]
comment = Printer Drivers
browseable = yes
guest ok = yes
read only = yes

[archive_disk]
path = /my_files/share/archive_disk

[crashed_linux_home]
path = /my_files/share/crashed_linux_home

[distributives]
path = /my_files/share/distributives

[docs]
path = /my_files/share/docs

[upload]
path = /my_files/share/upload
read only = No

1 комментарий:

Анонимный комментирует...

Спасибо, помогло. Все получилось с первого раза, да ошибки свои увидел, почему не работало :)