サーバーとクライアント間で同じユーザー/グループ所有権でLinux専用Sambaを設定する方法

サーバーとクライアント間で同じユーザー/グループ所有権でLinux専用Sambaを設定する方法

始める前に、私が要求するものは、mount.cifsに "vers = 1.0"フラグを追加すると完全に機能することを覚えておく必要があります。ただし、サーバーからOSをアップグレード(Sambaにアップグレード)した後Version 4.13.17-Ubuntuはサポートされなくなりました。

また、ここではWindowsについては扱いません。私はLinuxユーザー、グループ、および許可情報のみを扱っています。

smbdを実行し、/ dataボリュームを共有するUbuntu 20.04サーバーとmount.cifsを共有するUbuntu 20.04クライアントインストールがあります。クライアントがls -lルート/ルートが所有するすべてを表示します。

# mount.cifs //server/data /data -o username=username,password=password
# ls -l /data
total 0
drwxr-xr-x 2 root root 0 Mar 29 14:07 directory-a
drwxr-xr-x 2 root root 0 Feb 13 16:43 directory-b
drwxr-xr-x 2 root root 0 May 17  2012 etc
drwxr-xr-x 2 root root 0 Apr 21  2014 lost+found
drwxr-xr-x 2 root root 0 Feb 13 16:43 shared

私が望むものクライアントがサーバーと同じユーザー、グループ、および権限を表示できるようにします。たとえば、次のようになります。

server# ls -l /data
total 0
drwxr-xr-x 2 fred fred      4096 Mar 29 14:07 directory-a
drwxr-xr-x 2 barney barney  4096 Feb 13 16:43 directory-b
drwxr-xr-x 2 wilma wilma    4096 May 17  2012 etc
drwx------ 2 root root     16384 Apr 21  2014 lost+found
drwxrwxr-x 2 fred users     4096 Feb 13 16:43 shared

すべてのユーザーとグループアカウントは両方のシステムに存在し、同じUIDとGUIを持っています(上記のように、以前はうまく機能しました)。サーバーのアップグレード前にクライアントで使用された以前のfstabエントリは次のとおりです。

//server/data  /data  cifs _netdev,username=username,password=password,noexec,noacl,vers=1.0 0 0

これでエラーが発生します。

# mount /data
mount error(95): Operation not supported
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)

"vers = 1.0"フラグを削除するとエラーが解決しましたが、結果は上記のようになります(すべてのユーザー/グループ/権限情報の損失)。

サーバーの smb.conf には以下が含まれます。

[global]
    workgroup = WORKGROUP
    server string = Server
    log file = /var/log/samba/log.%m
    max log size = 1000
    logging = file
    panic action = /usr/share/samba/panic-action %d

    server role = standalone server
    passdb backend = smbpasswd
    obey pam restrictions = no
    unix password sync = no
    pam password change = no
    map to guest = Never

    # defaults for shares
    guest ok = no
    create mask = 0775
    directory mask = 0775
    case sensitive = yes
    map archive = no

[data]
    comment = Data
    path = /data
    writeable = no
    browseable = yes
    write list = fred

質問

最新バージョンのSambaで以前のvers = 1.0の動作を維持する方法はありますか?ありがとうございます!

ベストアンサー1

さて、いよいよ見つけました。 vers=1.0 オプションを再利用できるようにするには、これを smb.conf に追加します。

server min protocol = NT1

あいまいなバグレポートで見つかりました。 https://bugs.launchpad.net/ubuntu/+source/samba/+bug/1883234

Unix 拡張は廃止され、デフォルトでは廃止予定の SMB1 プロトコルでのみ動作します。 SMB3でサポートするために開発中です。

サーバーのsmb.confで[global]に追加してSMB1を再度有効にできます。

サーバー最小プロトコル = NT1

上記の設定をもう一度やり直して報告してもらえますか?

ディレクトリを一覧表示するときに新しい副作用もあります。以前のバージョンでは使用できなかった追加のプラス記号(プラス記号)が権限フィールドに表示されます。次のようになります。

# ls -l /data
total 0
drwxr-xr-x+  2 fred   fred      4096 Mar 29 14:07 directory-a
drwxr-xr-x+  2 barney barney    4096 Feb 13 16:43 directory-b
drwxr-xr-x+  2 wilma  wilma     4096 May 17  2012 etc
drwx------   2 root   root     16384 Apr 21  2014 lost+found
drwxrwxr-x+  2 fred   users     4096 Feb 13 16:43 shared

これに関するドキュメントが見つかりませんが、書き込み権限を持つファイルとディレクトリに対応しているようです。

おすすめ記事