Samba 3.6.6でSMB2プロトコルを設定する

Samba 3.6.6でSMB2プロトコルを設定する

私は主にセキュリティ上の理由からSambaからより高いバージョンのSMB(少なくとも2つ)に切り替えることにしました。

[global]セクションでsmb.confに追加してみました。

client min protocol = SMB2
client max protocol = SMB3
server min protocol = SMB2

そうでなければ

protocol=SMB2

試みるたびに、Sambaまたはサーバー全体を再起動しました。ただし、ログには次のように記載されています。

[1970/01/01 01:01:12.085949,  0] smbd/negprot.c:706(reply_negprot)


No protocol supported !
[1970/01/01 01:01:13.153024,  0] smbd/negprot.c:706(reply_negprot)
  No protocol supported !
[2018/11/04 12:10:25.080148,  0] param/loadparm.c:7997(lp_do_parameter)
  Ignoring unknown parameter "server min protocol"
[2018/11/04 12:10:25.092055,  0] param/loadparm.c:7997(lp_do_parameter)
  Ignoring unknown parameter "client min protocol"
[2018/11/04 12:10:30.803144,  0] param/loadparm.c:7997(lp_do_parameter)
  Ignoring unknown parameter "server min protocol"
[2018/11/04 12:10:30.804260,  0] param/loadparm.c:7997(lp_do_parameter)
  Ignoring unknown parameter "client min protocol"

検索してみると、一部の人はFSTABでもcufを構成することがわかりました。私はそうしなかったし、smb.confのために働いたと思います。
これは私のFSTABです。

roc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
UUID=34150b89-5e8b-4769-8b68-f403659c58f7       /media/USBHD           auto    defaults,_netdev  0       2

以下は、共有フォルダを定義するsmb.confセクションです。

[USBHD]
comment=Dysk udostepniony
path = /media/USBHD
valid users = @users
force group = users
create mask = 0777
directory mask = 0777
read only = no
writeable = yes
browseable = yes
public = yes

FSTABを編集する必要がありますか?どのように?
smb.confのMANページのようにバージョンプロトコルを設定することはいつ可能であり、FSTABでこれを行う必要があるのですか?
そうかもしれないと思います。最小限の合意私が使用しているSambaバージョンでは、この機能を使用できない可能性があります。しかし、とにかくSMB2プロトコルをサポートするためにどのように有効にしますか?

Sambaバージョン3.6.6
NAME="Raspbian GNU/Linux" VERSION_ID="7" VERSION="7

カーネル: 4.1.19+

テストパラメータ -v

Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Unknown parameter encountered: "client min protocol"
Ignoring unknown parameter "client min protocol"
Unknown parameter encountered: "client max protocol"
Ignoring unknown parameter "client max protocol"
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[USBHD]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
        display charset = LOCALE
        workgroup = WORKGROUP
        realm =
        netbios name = RASPBERRYPI
        netbios aliases =
        netbios scope =
        server string = %h server
        interfaces =
        bind interfaces only = No
        security = USER
        auth methods =
        encrypt passwords = Yes
        client schannel = Auto
        server schannel = Auto
        allow trusted domains = Yes
        map to guest = Bad User
        null passwords = No
        obey pam restrictions = Yes
        password server = *
        smb passwd file = /etc/samba/smbpasswd
        private dir = /etc/samba
        passdb backend = tdbsam
        algorithmic rid base = 1000
        root directory =
        guest account = nobody
        enable privileges = Yes
        pam password change = Yes
        passwd program = /usr/bin/passwd %u
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:                                                                                        * %n\n *password\supdated\ssuccessfully* .
        passwd chat debug = No
        passwd chat timeout = 2
        check password script =
        username map =
        password level = 0
        username level = 0
        unix password sync = Yes
        restrict anonymous = 0
        lanman auth = No
        ntlm auth = Yes
        raw NTLMv2 auth = No
        client NTLMv2 auth = Yes
        client lanman auth = No
        client plaintext auth = No
        client use spnego principal = No
        send spnego principal = No
        preload modules =
        dedicated keytab file =
        kerberos method = default
        map untrusted to domain = No
        log level = 2
        syslog = 0
        syslog only = No
        log file = /var/log/samba/log.%m
        max log size = 1000
        debug timestamp = Yes
        debug prefix timestamp = No
        debug hires timestamp = Yes
        debug pid = No
        debug uid = No
        debug class = No
        enable core files = Yes
        smb ports = 445 139
        large readwrite = Yes
        max protocol = SMB2
        min protocol = CORE
        min receivefile size = 0
        read raw = Yes
        write raw = Yes
        disable netbios = No
        reset on zero vc = No
        log writeable files on exit = No
        acl compatibility = auto
        defer sharing violations = Yes
        nt pipe support = Yes
        nt status support = Yes
        announce version = 4.9
        announce as = NT
        max mux = 50
        max xmit = 16644
        name resolve order = lmhosts wins host bcast
        max ttl = 259200
        max wins ttl = 518400
        min wins ttl = 21600
        time server = No
        unix extensions = Yes
        allow dcerpc auth level connect = No
        use spnego = Yes
        client signing = auto
        server signing = No
        client use spnego = Yes
        client ldap sasl wrapping = sign
        enable asu support = No
        svcctl list =
        deadtime = 0
        getwd cache = Yes
        keepalive = 300
        lpq cache time = 30
        max smbd processes = 0
        paranoid server security = Yes
        max disk size = 0
        max open files = 16384
        socket options = TCP_NODELAY
        use mmap = Yes
        hostname lookups = No
        name cache timeout = 660
        ctdbd socket =
        cluster addresses =
        clustering = No
        ctdb timeout = 0
        ctdb locktime warn threshold = 0
        smb2 max read = 65536
        smb2 max write = 65536
        smb2 max trans = 65536
        smb2 max credits = 8192
        load printers = Yes
        printcap cache time = 750
        printcap name =
        cups server =
        cups encrypt = No
        cups connection timeout = 30
        iprint server =
        disable spoolss = No
        addport command =
        enumports command =
        addprinter command =
        deleteprinter command =
        show add printer wizard = Yes
        os2 driver map =
        mangling method = hash2
        mangle prefix = 1
        max stat cache size = 256
        stat cache = Yes
        machine password timeout = 604800
        add user script =
        rename user script =
        delete user script =
        add group script =
        delete group script =
        add user to group script =
        delete user from group script =
        set primary group script =
        add machine script =
        shutdown script =
        abort shutdown script =
        username map script =
        username map cache time = 0
        logon script =
        logon path = \\%N\%U\profile
        logon drive =
        logon home = \\%N\%U
        domain logons = No
        init logon delayed hosts =
        init logon delay = 100
        os level = 20
        lm announce = Auto
        lm interval = 60
        preferred master = No
        local master = Yes
        domain master = Auto
        browse list = Yes
        enhanced browsing = Yes
        dns proxy = No
        wins proxy = No
        wins server =
        wins support = No
        wins hook =
        kernel oplocks = Yes
        lock spin time = 200
        oplock break wait time = 0
        ldap admin dn =
        ldap delete dn = No
        ldap group suffix =
        ldap idmap suffix =
        ldap machine suffix =
        ldap passwd sync = no
        ldap replication sleep = 1000
        ldap suffix =
        ldap ssl = start tls
        ldap ssl ads = No
        ldap deref = auto
        ldap follow referral = Auto
        ldap timeout = 15
        ldap connection timeout = 2
        ldap page size = 1024
        ldap user suffix =
        ldap debug level = 0
        ldap debug threshold = 10
        eventlog list =
        add share command =
        change share command =
        delete share command =
        preload =
        lock directory = /var/run/samba
        state directory = /var/lib/samba
        cache directory = /var/cache/samba
        pid directory = /var/run/samba
        utmp directory =
        wtmp directory =
        utmp = No
        default service =
        message command =
        get quota command =
        set quota command =
        remote announce =
        remote browse sync =
        socket address = 0.0.0.0
        nmbd bind explicit broadcast = Yes
        homedir map = auto.home
        afs username map =
        afs token lifetime = 604800
        log nt token command =
        time offset = 0
        NIS homedir = No
        registry shares = No
        usershare allow guests = Yes
        usershare max shares = 100
        usershare owner only = Yes
        usershare path = /var/lib/samba/usershares
        usershare prefix allow list =
        usershare prefix deny list =
        usershare template share =
        allow insecure wide links = No
        async smb echo handler = No
        multicast dns register = Yes
        panic action = /usr/share/samba/panic-action %d
        perfcount module =
        host msdfs = Yes
        passdb expand explicit = No
        idmap backend = tdb
        idmap cache time = 604800
        idmap negative cache time = 120
        idmap uid =
        idmap gid =
        template homedir = /home/%D/%U
        template shell = /bin/false
        winbind separator = \
        winbind cache time = 300
        winbind reconnect delay = 30
        winbind max clients = 200
        winbind enum users = No
        winbind enum groups = No
        winbind use default domain = No
        winbind trusted domains only = No
        winbind nested groups = Yes
        winbind expand groups = 1
        winbind nss info = template
        winbind refresh tickets = No
        winbind offline logon = No
        winbind normalize names = No
        winbind rpc only = No
        create krb5 conf = Yes
        ncalrpc dir = /var/ncalrpc
        winbind max domain connections = 1
        idmap config * : backend = tdb
        comment =
        path =
        username =
        invalid users =
        valid users =
        admin users =
        read list =
        write list =
        printer admin =
        force user =
        force group =
        read only = Yes
        acl check permissions = Yes
        acl group control = No
        acl map full control = Yes
        create mask = 0744
        force create mode = 00
        security mask = 0777
        force security mode = 00
        directory mask = 0755
        force directory mode = 00
        directory security mask = 0777
        force directory security mode = 00
        force unknown acl user = No
        inherit permissions = No
        inherit acls = No
        inherit owner = No
        guest only = No
        administrative share = No
        guest ok = No
        only user = No
        hosts allow =
        hosts deny =
        allocation roundup size = 1048576
        aio read size = 0
        aio write size = 0
        aio write behind =
        ea support = No
        nt acl support = Yes
        profile acls = No
        map acl inherit = No
        afs share = No
        smb encrypt = auto
        block size = 1024
        change notify = Yes
        directory name cache size = 100
        kernel change notify = Yes
        max connections = 0
        min print space = 0
        strict allocate = No
        strict sync = No
        sync always = No
        use sendfile = No
        write cache size = 0
        max reported print jobs = 0
        max print jobs = 1000
        printable = No
        print notify backchannel = Yes
        print ok = No
        printing = cups
        cups options =
        print command =
        lpq command = %p
        lprm command =
        lppause command =
        lpresume command =
        queuepause command =
        queueresume command =
        printer name =
        use client driver = No
        default devmode = Yes
        force printername = No
        printjob username = %U
        default case = lower
        case sensitive = Auto
        preserve case = Yes
        short preserve case = Yes
        mangling char = ~
        hide dot files = Yes
        hide special files = No
        hide unreadable = No
        hide unwriteable files = No
        delete veto files = No
        veto files =
        hide files =
        veto oplock files =
        map archive = Yes
        map hidden = No
        map system = No
        map readonly = yes
        mangled names = Yes
        store dos attributes = No
        dmapi support = No
        browseable = Yes
        access based share enum = No
        blocking locks = Yes
        csc policy = manual
        fake oplocks = No
        locking = Yes
        oplocks = Yes
        level2 oplocks = Yes
        oplock contention limit = 2
        posix locking = Yes
        strict locking = Auto
        share modes = Yes
        dfree cache time = 0
        dfree command =
        copy =
        preexec =
        preexec close = No
        postexec =
        root preexec =
        root preexec close = No
        root postexec =
        available = Yes
        volume =
        fstype = NTFS
        set directory = No
        wide links = No
        follow symlinks = Yes
        dont descend =
        magic script =
        magic output =
        delete readonly = No
        dos filemode = No
        dos filetimes = Yes
        dos filetime resolution = No
        fake directory create times = No
        vfs objects =
        msdfs root = No
        msdfs proxy =

[homes]
        comment = Home Directories
        valid users = %S
        create mask = 0700
        directory mask = 0700
        browseable = No

[printers]
        comment = All Printers
        path = /var/spool/samba
        create mask = 0700
        printable = Yes
        print ok = Yes
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/printers

[USBHD]
        comment = Dysk udostepniony
        path = /media/USBHD
        valid users = @users
        force group = users
        read only = No
        create mask = 0777
        directory mask = 0777
        guest ok = Yes

答え1

SLES 11.4は、SambaがデフォルトでSMBv1にのみ設定されるほど古いです。client min protocolとを設定しましたclient max protocol。これは、Sambaがクライアントの場合にのみSambaに影響します(例:)smbclient

サーバー側ではその項目のみを設定するため、server min protocolデフォルトserver max protocolはSMBv1です。そして今、最小プロトコルが最大プロトコルより高いので、smbd実際にはどのプロトコルも許可されていません。

SLES 11.4のSambaが古すぎて、SMBv3のサポートがバグを持っているようであるという事実(あなたが見つけたように)のために、私たちはまだSLES 11.4を実行しているすべてのSambaサーバーを作業優先順位でSLES 12以降にアップグレードしました。

答え2

カーネル3.0を含むSLES 11.4でSamba-3.6.3を実行している場合、グローバル部分は次のようになります。 Windows 10クライアントはSMB1を介して接続しないため、SMB2が機能することを知っています。デフォルトでは、Win10の場合、最小要件はSMB2です。

設定した場合、Min Protocol = SMB2クライアントがWindows 7の場合は機能しません。少なくともWindows側のトラブルシューティング方法がわからない場合は、Win7の場合はデフォルトでSMB1のようです。 win7にあります。手動構成の一部の内容は、SMB2を実行するように指示されています。

何らかの理由max protocol = SMB3で設定で動作しない問題が発生したため、SMB2を指定しました。

[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

そして私が使った共有例

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

/etc/fstab通常どおり、ストレージリソースをインストールする以外に何もする必要はありません。その後、インストールが完了したら、そのフォルダへのアクセス権があることを確認してください。chmod 777 /data1私の例では、開始のために開いてからワールド権限を引き続き削除し、必要に応じてグループの所有権と権限を変更します。

関連情報