Samba — это эффективный способ не только организовать взаимодействие компьютеров под управлением Windows и Linux, но и в сетях, состоящих только из Linux-машин он позволяет быстро организовать общий доступ к ресурсам. Файл конфигурации Samba может достигать огромной длины и учитывать множество параметров, однако в большинстве случаев достаточно гораздо меньшего количества настроек.
Установка Samba:
Код
sudo apt-get install samba
Создайте резервную копию /etc/samba/smb.conf:
Код
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup
Откройте файл /etc/samba/smb.conf для редактирования в вашем любимом текстовом редакторе. Например:
Код
sudo nano /etc/samba/smb.conf
Все то, что там есть — нам не нужно. Можете отчистить файл полностью, и добавить, например, такую конфигурацию:
Код
[global]
workgroup = WORKGROUP
server string = Samba Mega Server %v
bind interfaces only = yes
interfaces = eth0
hosts deny = ALL
hosts allow = ALL
map to guest = bad user
guest account = nobody
# ----- Logging Options -----
log file = /var/log/samba/%m.log
max log size = 1024
# ----- Standalone Server Options -----
security = user
encrypt passwords = yes
socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192IPTOS_LOWDELAY
# ----- Browser Control Options -----
local master = yes
os level = 255
preferred master = yes
# ----- Name Resolution -----
dns proxy = yes
# ----- Charsets -----
unix charset = utf8
dos charset = cp1251
display charset = cp1251
[buffer]
comment = Public stuff
path = /samba/buffer
browseable = no
writable = yes
guest only = yes
[freesoft]
comment = Install freesoft directory
path = /samba/freesoft
browseable = yes
writable = yes
guest ok = yes
[install]
comment = Install directory
path = /samba/install
browseable = yes
writable = yes
guest account = user-install
[databases]
comment = Databases
path = /samba/databases
browseable = yes
writable = yes
guest ok = yes
[user1]
comment = User1
path = /samba/user1
browseable = yes
writable = yes
guest account = user1
workgroup = WORKGROUP
server string = Samba Mega Server %v
bind interfaces only = yes
interfaces = eth0
hosts deny = ALL
hosts allow = ALL
map to guest = bad user
guest account = nobody
# ----- Logging Options -----
log file = /var/log/samba/%m.log
max log size = 1024
# ----- Standalone Server Options -----
security = user
encrypt passwords = yes
socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192IPTOS_LOWDELAY
# ----- Browser Control Options -----
local master = yes
os level = 255
preferred master = yes
# ----- Name Resolution -----
dns proxy = yes
# ----- Charsets -----
unix charset = utf8
dos charset = cp1251
display charset = cp1251
[buffer]
comment = Public stuff
path = /samba/buffer
browseable = no
writable = yes
guest only = yes
[freesoft]
comment = Install freesoft directory
path = /samba/freesoft
browseable = yes
writable = yes
guest ok = yes
[install]
comment = Install directory
path = /samba/install
browseable = yes
writable = yes
guest account = user-install
[databases]
comment = Databases
path = /samba/databases
browseable = yes
writable = yes
guest ok = yes
[user1]
comment = User1
path = /samba/user1
browseable = yes
writable = yes
guest account = user1
В данном примере показана настройка samba-сервер, для доступа по паролям к папкам и для доступа без пароля. То есть, будут папки к которым нужна авторизация для доступа к ним а также будут папки к которым авторизация не нужна.
В папку buffer будет пускать без авторизации.
Чтобы попасть в папку user1, нужно будет авторизоваться: user1 и пароль.
Заводим пользователей в систему и samba:
Код
useradd user1
passwd user1
smbpasswd -a user1
smbpasswd -e user1
passwd user1
smbpasswd -a user1
smbpasswd -e user1
После завершения конфигурации выполните команду:
Код
testparm
она автоматически проверит файл конфигурации. После этого перезагрузите Samba:
Код
sudo service samba restart
или
Код
sudo service smbd restart
Обратите внимание, что после загрузки компьютеры не сразу появляются в сети, что связанно с особенностями протокола.