Linuxファイルのセキュリティ設定はSMBに適用されますか?

Linuxファイルのセキュリティ設定はSMBに適用されますか?

さまざまなGoogle検索を試しましたが、私の質問に対する直接的な答えは見つかりませんでした。

所有者、グループ、権限ビットなどのUnixの概念はSMBに適用されますか?

最初は、SMBがWindowsセキュリティモデル(ACLなど)と連携するように設計されており、Unixセキュリティの概念を理解できない可能性があると思いました。しかし、再び誰かがそれをサポートするためにプロトコルを拡張したかもしれません。

デフォルトでは、あるLinuxボックスでSambaを実行し、別のLinuxボックスにファイル共有をマウントできますが、権限がある場合は何もできません。クライアントで実行されるかchown成功chgrpを返しますが、報告された実際の権限は変更されませんでした。今回もchmod変なことをしています。これにより、chmod 000ファイルはまだ誰でも読むことができ、実行できます。実際に実行権限をオフにすることはまったく不可能なようです。

私が間違って設定したからですか、それともSMBですか?サポートしていないUnixファイル権限?

答え1

smb.confSamba共有を作成すると、サーバーの共有に次のオプションを設定できますが、場合によっては正しいオプションを使用しないと、生成されたディレクトリに対してSambaに適切な権限を設定させることはできません(これは設定できる項目の例に過ぎず、すべて一緒に設定することはできず、例の設定を使用しないでください。):

[anonymous]
path                    = /usr/share/anonymous
valid users             = anonymous
hosts allow             = 23.32.23.32
writeable               = yes
guest ok                = no
public                  = no
browsable               = no
printable               = no
usershare allow guests  = no
usershare owner only    = no
usershare max shares    = 0
read only               = no
create mask             = 0644
directory mask          = 0644
valid users             = %S
create mask             = 664
force create mode       = 664
security mask           = 664
force security mode     = 664
directory mask          = 2775
force directory mode    = 2775
directory security mask = 2775
force directory security mode = 2775

すべてのソースを確認し、どのパラメータを設定する必要があるかを確認してみてください。

答え2

最初は、SMBがWindowsセキュリティモデルと連携するように設計されている可能性があると思いました。

中小企業=サーバーメッセージブロック。そうではないサンバ

https://en.wikipedia.org/wiki/Server_Message_Block

SMB(サーバーメッセージブロック)は、IBM OS / 2を実行しているシステムネットワークのノード間ファイルへのアクセスとプリンタへの共有アクセスを提供するために、1983年にIBMのBarry A. Feigenbaumによって最初に開発された通信プロトコル[1]です。また、認証されたプロセス間通信(IPC)メカニズムも提供します。 1987年、Microsoftと3ComはOS / 2のLAN ManagerでSMBを実装しました。この時点で、SMBはNetBIOSフレームプロトコルの上にNetBIOSサービスをデフォルト転送として使用しました。マイクロソフトは後で Windows NT 3.1 で SMB を実装し、最新の基本転送で動作するように更新しました。

したがって、SMBはdesigned work with[Microsoft] Windowsセキュリティモデルではありません。サーバーメッセージブロック1992年にはWindows 3.1、1995年にはWindows95より前のバージョンです。これは、Microsoftを含む誰もが使い始めたプロトコルであり、SMB 2.0と3.0にアップデートされました。コンピューティング初期のすべてと同様に、安全概念は基本的に存在しません。Windowsセキュリティモデル非常に曖昧または不特定です。

デフォルトでは、LinuxボックスでSambaを実行しており、他のLinuxボックスにファイル共有をマウントできます。

サンバはLinuxソフトウェアスイートMicrosoft Windowsシステムとの相互運用性を提供します。ファイルと印刷サービスを提供し、LinuxサーバーをActive Directory環境にシームレスに統合します。 SAMBAを使用してファイル共有をエクスポートできますか?中小企業(または使用されなくなったCIFS?)もちろん、他のLinuxサーバーにインストールするようにしてください。しかし、SAMBAの単純な定義と目的によると、私はそうしません。 LinuxとLinuxの間で私の提案はNFSを使用することですvers=4.2。 SMB3.0でSAMBAを排他的に使用するには、samba.orgのWebサイトで、/etc/samba/smb.confLinuxが今日のファイルシステムの内容(権限など)を適用できるように、その共有を適切にエクスポートしてマウントするすべての設定オプションを検索します/ SMB3.0プロトコルに合格する必要があります。

実行権限をまったくオフにすることは不可能なようです。

これにより、LinuxでNTFSファイルシステムを使用することを考えました。 https://unix.stackexchange.com/questions/604674/chmod-is-not-working-on-ntfs-3g-partition#:~:text=For%20either%20chmod%20or%20chown,commands%20can%27t %20Maybe%20work.&text=この%20は%20mount%20を指定し、%20,755%20および%20files%20mode%20644%20を指定します。

ntfs-3gLinux 対応ファイルシステム (XFS や EXT3/4 など) ではなく Linux で NTFS ファイルシステムをマウントする場合、明示的にマウントしない限り、すべてのエントリに対する実行権限が常に表示されます。

Linuxファイルのセキュリティ設定はSMBに適用されますか?

と言いたいのですが、あなたの説明によれば、使用しているLinuxのバージョン、使用しているSAMBAのバージョン、プロトコル、およびsmb.confSMBプロトコルが実際に動作するような重要なコンテキストがたくさんありません。だから、間違って設定したと思います...あなたが言及したたぶん、誰かがそれをサポートするためにプロトコルを拡張したかもしれません。...答えは、SMBが最新バージョン3.0に更新される方法にあります。 Linux Sambaのエクスポートを使用して3.0を介して、Sambasecurity=userpassdb backend = tdbsam

答え3

CIFS(Common Internet File System)とも呼ばれるServer Message Block(SMB)は、Windowsシステムで主に使用されるネットワークファイル共有プロトコルです。 Unixシリーズシステム(Linux、macOSなど)はUnixスタイルの権限(所有者、グループ、権限ビット)を直接サポートしません。

LinuxクライアントのSambaサーバーでSMB / CIFS共有をマウントすると、クライアントはSMB権限をUnixスタイルの権限にマッピングして互換性と一貫性を提供しようとします。これは通常**cifsVFS **モジュールを使用して行われます。CIFSローカルファイルシステム階層の一部として表示されるように共有します。

ただし、SMB権限をUnixスタイルの権限にマッピングする際には、いくつかの制限があります。chmod権限を使用または変更できず、実行権限を持つ奇妙な動作など、説明する動作は、chownSMB権限がUnixスタイル権限にマッピングされる方法によるものです。

考慮すべきいくつかの点は次のとおりです。

  1. ユーザーマッピング:LinuxクライアントとSambaサーバー間に正しいユーザーマッピングが設定されていることを確認してください。マッピングが正しくない場合、クライアントに共有のファイルを変更するために必要な権限がない可能性があります。

  2. ACL(アクセス制御リスト):SMB / CIFSは、既存のUnixスタイルの権限よりもファイルの権限をより細かく制御できるアクセス制御リスト(ACL)をサポートしています。共有にACLが設定されている場合は、Unixスタイルの権限よりも優先できます。

  3. CIFS Unix拡張cifs:Sambaは、Sambaサーバー設定で有効または無効にできるUnix拡張というパラメータを提供します。有効にすると、クライアントは権限を使用してUnixと同様の動作をさらに実行できます。 Sambaサーバー構成でこのオプションが有効になっていることを確認してください。

  4. インストールオプション:クライアントがSMB共有をマウントするときにマウントオプションを指定して、権限の処理方法を制御できます。たとえば、、、およびuidオプションgidを使用して、マウントされた共有のファイルとディレクトリのデフォルトの所有権と権限を設定できますfile_modedir_mode

SMB / CIFSはデフォルトでUnixスタイルの権限をサポートしていませんが、SambaはUnixファミリークライアントでより使いやすくするためにいくつかの互換性とマッピングを提供しようとしていることに注意する価値があります。ただし、権限システム間の本質的な違いにより、いくつかの制限と矛盾が生じる可能性があります。

Linuxクライアントで完全なUnixスタイルの権限と機能が必要な場合は、Unix系システム用に特別に設計されており、ネイティブのUnixスタイルの権限と所有権管理を提供するネットワークファイルシステム(NFS)の使用を検討できます。

関連情報