The smb-protocols nmap script checks to see which smb dialects are present on the Samba server.

client min protocol sets the minimum smb dialect that server can use to connect to another server not the minimum dialects that a client to this server can use.

By default the version of samba used in Ubuntu 18.04 sets the server min to NT1 ( smbv1 ) and the max to SMBv3.

If you want to restrict access to this server to SMB3 and SMB3 only you need to set the server min protocol:

server min protocol = SMB3

*Note: there are sub-variants to this dialect:

SMB3_00: Windows 8

SMB3_02: Windows 8.1

SMB3_10: early Windows 10

SMB3_11: Windows 10

By default SMB3 in smb.conf selects the SMB3_11 variant.*

Answer from Morbius1 on askubuntu.com
🌐
Samba
samba.org › samba › docs › current › man-html › smb.conf.5.html
smb.conf
This setting controls the minimum protocol version that the client will attempt to use. Normally this option should not be set as the automatic negotiation phase in the SMB protocol takes care of choosing the appropriate protocol unless you connect to a legacy SMB1-only server.
🌐
nixCraft
cyberciti.biz › nixcraft › howto › samba (smb/cifs) › how to configure samba to use smbv2 and disable smbv1 on linux or unix
How to configure Samba to use SMBv2 and disable SMBv1 on Linux or Unix - nixCraft
May 12, 2021 - I tested on RHEL6 system (samba ... windows client was unable to connect to samba server on linux. SMB1 was disabled on windows server because of security concerns like wannacry. And “max protocol” was not set explicitly on samba server. So “max protocol” was NT1(SMB1) as default. I set “min protocol = ...
Discussions

windows ce - How to enable SMB1 as default and disable SMB2 and SMB3 on Ubuntu 18.04 Server? - Stack Overflow
[global] protocol = SMB1 min protocol = SMB1 max protocol = SMB1 client min protocol = SMB1 client max protocol = SMB1 More on stackoverflow.com
🌐 stackoverflow.com
SMB.conf help
client max protocol = NT1 client min protocol = SMB2 NT1 means SMB1 so you set your max lower than the min. EDIT: https://getsol.us/articles/software/samba/en/ might help you if you're trying to enable SMB1 My `/etc/samba/smb.conf` only contains: [stuff] path = /mnt/sdb1/stuff browseable = yes create mask = 0777 directory mask = 0777 guest ok = yes read only = no writeable = yes As explained in the above link Solus uses a stateless configuration so anything in /etc/samba/smb.conf overwrites the defaults stored in /usr/share/defaults/samba/smb.conf More on reddit.com
🌐 r/SolusProject
4
2
February 15, 2020
Smb.conf Default Configuration with samba-support - Feedback - Garuda Linux Forum
Hello Garuda Team, So I was looking ... to insure sanity was there, then I found this line: client min protocol = NT1 Which, while the server protocol remains default at SMB2, it's allowing the client to connect at SMB1/CIFS, the protocol that's long since been replaced since ... More on forum.garudalinux.org
🌐 forum.garudalinux.org
3
September 25, 2022
networking - Set SMB2 protocol in Samba 3.6.6 - Unix & Linux Stack Exchange
And because now min protocol is ... any protocol at all. The facts that SLES 11.4's Samba is so old and its SMBv3 support seems to be buggy (as you discovered) caused us to make it a priority at work to upgrade any Samba servers that were still running SLES 11.4 to SLES 12 or newer. ... running Samba-3.6.3 in SLES 11.4 which has kernel 3.0, my global section is this and I know SMB2 works because windows 10 client will NOT connect via SMB1 the minimum is SMB2 for ... More on unix.stackexchange.com
🌐 unix.stackexchange.com
November 7, 2018
🌐
Linux Mint Forums
forums.linuxmint.com › board index › main edition support › networking
Samba configuration - NT1 vs others - Linux Mint Forums
December 22, 2022 - To connect to my FreeBSD server from Linux Mint 21.1 64bit Xfce I added : client min protocol = NT1 server min protocol = NT1 below the line 'workgroup = WORKGROUP' line This worked, I can now connect to the Samba (version 4.12.15) running on the FreeBSD server.
🌐
Samba
samba.org › samba › security › CVE-2016-2115.html
Samba - Security Announcement Archive
Normally this option should not be set as the automatic negotiation phase in the SMB protocol takes care of choosing the appropriate protocol. The value default refers to the higher value of NT1 and the effective value of "client min protocol". See client max protocol for a full list of available protocols.
Find elsewhere
🌐
GitHub
gist.github.com › aont › 499c877e4ddf568abbd49b2534f00be5
Forcing SMB1 with smbclient.md · GitHub
(samba.org) --option='client min protocol=NT1' sets the equivalent Samba client configuration option at runtime, lowering the minimum protocol the client will attempt; this makes smbclient accept SMB1-only servers.
🌐
SambaWiki
wiki.samba.org › index.php › Samba_4.11_Features_added › changed
Samba 4.11 Features added/changed - SambaWiki
This means clients without support for SMB2 or SMB3 are no longer able to connect to smbd (by default). It also means client tools like smbclient and other, as well as applications making use of libsmbclient are no longer able to connect to servers without SMB2 or SMB3 support (by default).
🌐
Reddit
reddit.com › r/solusproject › smb.conf help
r/SolusProject on Reddit: SMB.conf help
February 15, 2020 -

I cannot seem to get file sharing/browsing working correctly with Dolphin. Can anyone share the contents of their working smb.conf file so I can see what I'm doing wrong?

I do have kdenetwork-filesharing installed. I use GUFW with UFW and I have samba allowed both in and out. nmblookup does not resolve any of my other PC's names on the network.

Here is testparm. Italics are what I have added in the /etc/samba/smb.conf file trying to get this to work. The rest is what is default in Solus.

[global]
       client ipc max protocol = SMB3
       client ipc min protocol = SMB2
       client max protocol = NT1
       client min protocol = SMB2
       disable spoolss = Yes
       guest account = sambaguest
       load printers = No
       log file = /var/log/samba/log.%m
       map to guest = Bad User
       max log size = 500
       name resolve order = lmhosts bcast host wins
       printcap name = /dev/null
       server min protocol = SMB2
       server role = standalone server
       server string = Samba server (version: %v, protocol: %R)
       usershare allow guests = Yes
       usershare max shares = 100
       usershare path = /var/lib/samba/usershare
      idmap config * : backend = tdb
       create mask = 0644
       hosts allow = 192.168.0.0/16
       hosts deny = 0.0.0.0/0
       include = /etc/samba/smb.conf
       printing = bsd

[homes]
       browseable = No
       comment = Home Directories
       hosts allow =  
       hosts deny =  
       include =  
       lpq command = lpq -P'%p'
       lprm command = lprm -P'%p' %j
       print command = lpr -r -P'%p' %s
       read only = No

[Public]
       comment = Public folder share
       force create mode = 0755
       force group = zsolus
       force user = zsolus
       guest ok = Yes
       path = /home/zsolus/Public
       read only = No

🌐
Garuda Linux
forum.garudalinux.org › feedback
Smb.conf Default Configuration with samba-support - Feedback - Garuda Linux Forum
September 25, 2022 - Hello Garuda Team, So I was looking ... to insure sanity was there, then I found this line: client min protocol = NT1 Which, while the server protocol remains default at SMB2, it's allowing the client to connect at SMB1/CIFS, the protocol that's ...
🌐
Samba
lists.samba.org › archive › samba-technical › 2022-October › 137731.html
smbclient --max-protocol=NT1: why it requres setting MIN protocol too?
> > SMB1 is only now used from our client if you deliberately specify it > in smb.conf or on the command line. Michael (correctly) complains > that if you set -mNT1 (meaning max client protocol is NT-SMB1 - i.e. > use SMB1) that it won't connect if you have "min client protocol" > set to be SMB2-only (as min-protocol is now less than max).
🌐
Linux Mint Forums
forums.linuxmint.com › board index › main edition support › networking
Why SMBv1 works on Mint but not on Ubuntu? - Linux Mint Forums
March 6, 2022 - server min protocol = NT1 client lanman auth = yes ntlm auth = yes If however the Ubuntu machine is trying to connect to a machine that can only accept SMB1 then his smb.conf needs to look like this - on the ubuntu machine:
🌐
Arch Linux Forums
bbs.archlinux.org › viewtopic.php
Samba: how to access both SMB1 as well as SMB2+3 shares? / Networking, Server, and Protection / Arch Linux Forums
November 15, 2017 - ... If you have clients that only ... re-activatable, though) You'll have to add "server min protocol = NT1" (to the samba server, default is now SMB2 because NT1 has some "slight" security issues...) to make the server support SMBv1-only clients but should seek to get network-wide ...
Top answer
1 of 2
1

SLES 11.4 is old enough for its Samba to default to SMBv1 only. You've set both client min protocol and client max protocol, which only affect Samba when it's acting as a client, like smbclient.

For server-side, you've only set server min protocol, so the server max protocol is still defaulting to SMBv1. And because now min protocol is higher than max, smbd actually cannot allow any protocol at all.

The facts that SLES 11.4's Samba is so old and its SMBv3 support seems to be buggy (as you discovered) caused us to make it a priority at work to upgrade any Samba servers that were still running SLES 11.4 to SLES 12 or newer.

2 of 2
0

running Samba-3.6.3 in SLES 11.4 which has kernel 3.0, my global section is this and I know SMB2 works because windows 10 client will NOT connect via SMB1 the minimum is SMB2 for win10 out of the box.

Note that if you set Min Protocol = SMB2 then if your clients are Windows 7 it will not work for them... at least i did not figure it out troubleshooting on the windows side I think for Win7 it is default SMB1 unless you manually configure something in win7 to say do SMB2.

And for whatever reason setting max protocol = SMB3 caused things not to work for me thus I have SMB2 specified.

[global]
    min protocol = SMB2
    max protocol = SMB2
    workgroup = workgroup
    passdb backend = tdbsam
    map to guest = Never
    usershare allow guests = No
    add machine script = /usr/sbin/useradd  -c Machine -d /var/lib/nobody -s /bin/false %m$
    domain master = No
    security = user
    wins support = No
    server signing = auto
    name resolve order = lmhosts bcast host
    printing = bsd
    printcap name = /dev/null
    log level = 2 auth:10 auth_audit:3 auth_json_audit:3 winbind:5
    max log size = 1000000

and a sample of a share that i use

[data1]
    create mask = 660
    directory mask = 770
    inherit acls = Yes
    path = /data1
    read only = No

you should not need to do anything in /etc/fstab other than mounting your storage resource as you normally would. Then once mounted make sure access permissions of that folder... chmod 777 /data1 in my example, are open for starters, then when working go ahead and remove world permissions and change group ownership and permissions as you need.

Top answer
1 of 1
16

From the man page for the configuration file for the Samba suite in the "client max protocol" section:

Possible values are :

  • CORE: Earliest version. No concept of user names.
  • COREPLUS: Slight improvements on CORE for efficiency.
  • LANMAN1: First modern version of the protocol. Long filename support.
  • LANMAN2: Updates to Lanman1 protocol.
  • NT1: Current up to date version of the protocol. Used by Windows NT. Known as CIFS.
  • SMB2: Re-implementation of the SMB protocol. Used by Windows Vista and later versions of Windows. SMB2 has sub protocols available.
  • SMB2_02: The earliest SMB2 version.
  • SMB2_10: Windows 7 SMB2 version.
  • SMB2_22: Early Windows 8 SMB2 version.
  • SMB2_24: Windows 8 beta SMB2 version.

By default SMB2 selects the SMB2_10 variant.

  • SMB3: The same as SMB2. Used by Windows 8. SMB3 has sub protocols available.
  • SMB3_00: Windows 8 SMB3 version. (mostly the same as SMB2_24)
  • SMB3_02: Windows 8.1 SMB3 version.
  • SMB3_10: early Windows 10 technical preview SMB3 version.
  • SMB3_11: Windows 10 technical preview SMB3 version (maybe final).

By default SMB3 selects the SMB3_11 variant.

Normally this option should not be set as the automatic negotiation phase in the SMB protocol takes care of choosing the appropriate protocol.

The value default refers to SMB3_11.

Adding clarification from A.B in the comments:

wiki.samba.org/index.php/Samba3/SMB2 states "Samba 3.6 added basic support for SMB2.0", "Basic support for SMB 2.1 was added in Samba 4.0.0", "Basic support for SMB3 is included in Samba 4.0.0 and later."