Всё написанное далее я сам делал и работало на Debian 6.
Вначале ставим самбу:
aptitude install samba
Затем редактируем конфиг /etc/samba/smb.conf:
[global]
workgroup = WORKGROUP
netbios name = ftp-server
server string = %h server
wins support = no
dns proxy = no
name resolve order = host wins bcast
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = user
encrypt passwords = true
passdb backend = tdbsam
null passwords = true
obey pam restrictions = yes
username map /etc/samba/smbusers
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
printing = cups
printcap name = cups
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192
[homes]
comment = Home Directories
#если надо шарить хомяки пользователей, ставим тут yes
browseable = no
read only = no
create mask = 0700
directory mask = 0700
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
#это объявление шары, доступной всем
[shared]
path = /home/vsftpd/shared
browseable = yes
read only = no
#тут ставим yes чтобы все могли видеть эту шару
guest ok = yes
create mask = 0660
#в моем случае эта директива играла ключевую роль, т. к. все файлы имеют хозяином пользователя vsftpd и права 660 или 770.
force user = vsftpd
directory mask = 0770
#шара, доступная только пользователю user
[user]
path = /home/vsftpd/user
browseable = yes
read only = no
guest ok = no
create mask = 0660
directory mask = 0770
#здесть через пробел указываем, какому/каким конкретно юзерам будет доступна шара
valid users = user
force user = vsftpd
В принципе, по ходу конфига всё понятно.Далее необходимо создать пользователей. Для создания системных юзаем команды:
useradd -m user
passwd user
Далее надо добавить пользователей в самбу. Добавление:
smbpasswd -a user
Включить пользователя:
smbpasswd -e user
В принципе, всё. Шара должна быть видна в Windows машинах: набираем в адресной строке эксплорера \\ip_address\share_name и если необходимо, вводим доступы.
Для монтирования Samba шары на клиентских машинах под Linux вначале установим пакет smbfs (для Debian/Ubuntu):
apt-get install smbfs
После этого можно юзать команду (под рутом или судо):
mount -t cifs -o username=user,password=passwd,iocharset=utf8,file_mode=0777,dir_mode=0777 //network/resource /mount/point
Параметры говорят сами за себя.
Чтобы шара монтировалась автоматически при загрузке в файл /etc/fstab добавляем следующее:
//network/resource /mount/point cifs username=user,password=passwd,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0