Задался целью настроить небольшой файло-обменник, выбор пал конечно на Samba. Доступ нужен смешанный - какие-то ресурсы по логин:паролю, какие-то просто для всех без запроса пароля, клиенты Linux, WindowsXp, Windows7,10.
apt-get install samba
cp /etc/samba/smb.conf /etc/samba/smb.conf_old
nano /etc/samba/smb.conf
[global]
workgroup = ATLANT
netbios name = ubuntu17
server string = ubuntu17
# for NTLM1 Winxp
lanman auth = yes
ntlm auth = yes
# for NTLM2 all Windows
sec = ntlmv2
client ntlmv2 auth = yes
# Setup charsets
dos charset = cp1251
unix charset = utf8
display charset = cp1251
# Disable printers
load printers = No
show add printer wizard = no
printcap name = /dev/null
disable spoolss = yes
# Setup logging
log file = /var/log/samba/smbd.log
max log size = 50
max xmit = 65536
debug level = 1
syslog = 0
panic action = /usr/share/samba/panic-action %d
# Setup daemon settings
domain master = No
dns proxy = No
server role = standalone server
# Securtity settings
security = user
map to guest = Bad Password
guest account = nobody
auth methods = guest, sam_ignoredomain
create mask = 0664
directory mask = 0775
hide dot files = yes
passdb backend = tdbsam
invalid users = root @wheel
#LAN
hosts allow = 192.168.0.0/16 127.0.0.0/8
hosts deny = 0.0.0.0/0
#interfaces = eth0, lo, eth1
#bind interfaces only = yes
[soft]
comment = Soft
path = /home/Win
#available = yes
browseable = yes
#writable = yes
#public = yes
#valid users = vip, admin
valid users = @sambaadmins, @sambausers
write list = @sambaadmins
read list = @sambausers
#write list = admin
[public]
comment = Public share
path = /home/public
create mask = 0666
directory mask = 0775
read only = No
guest ok = yes
Где:
#Две строки для того, чтобы могли авторизоваться машины XP
lanman auth = yes
ntlm auth = yes
#Две строки для того, чтобы все кто поддерживает NTLM2, ваторизовывались с помощью него.
sec = ntlmv2
client ntlmv2 auth = yes
#Три строки которые отвечают за запрос пароля при подключении к расшаренным папкам.
security = user
map to guest = Bad Password
guest account = nobody
#Пример шары для всех без пароля
[public]
comment = Public share
path = /home/public
create mask = 0666
directory mask = 0775
read only = No
guest ok = yes
#Пример шары для входа по логин паролю.
[soft]
comment = Soft
path = /home/Win
browseable = yes
valid users = @sambaadmins, @sambausers
write list = @sambaadmins
read list = @sambausers
Для второго варианта предварительно надо создать, группы пользователей sambaadmins и sambausers и внести в них пользователей.
groupadd sambaadmins
groupadd sambausers
adduser admin1 -g sambaadmins
usermod -s /bin/false admin1
adduser user1 -g sambausers
usermod -s /bin/false user1
smbpasswd -a user1
smbpasswd-a admin1
вводим пароль
systemctl restart smbd.service
О файле настроек читаем тут...-> http://smb-conf.ru/smbpasswd-smb-password-file.html