第4章 Samba
Samba の web サイトより抜粋:
原文: "Samba is an Open Source/Free Software suite that has, since 1992, provided file and print services to all manner of SMB/CIFS clients, including the numerous versions of Microsoft Windows operating systems. Samba is freely available under the GNU General Public License.". (訳文: Samba とは、 1992 年に設立され、 Microsoft Windows オペレーティングシステムの各種バージョンをはじめ、 あらゆる SMB/CIFS クライアントにファイルやプリンタなどのサービスを提供している Open Source/Free Software スィートです。 Samba は GNU General Public License に基づき自由に入手が可能です。)[6]
Red Hat Enterprise Linux では、 Samba サーバーは samba パッケージにより提供されます。
rpm -q samba を実行して samba パッケージがインストールされているか確認します。Samba を使用する予定にも関わらず、このパッケージがインストールされていない場合は、root ユーザーになり次のコマンドを実行してパッケージのインストールを行ないます。
yum install samba
yum install samba
4.1. Samba と SELinux リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
SELinux を有効にすると、 Samba サーバー (
smbd) はデフォルトで制限のあるサービスとして実行されます。 制限のあるサービスはそのサービス自体のドメイン内で実行され、 他の制限のあるサービスとは分離されます。 次の例では、 サービス自体のドメイン内で実行している smbd プロセスを示しています。 samba パッケージがインストールされていることを前提としています。
getenforceを実行して、 SELinux が enforcing モードで実行していることを確認します。getenforce
$ getenforce EnforcingCopy to Clipboard Copied! Toggle word wrap Toggle overflow SELinux が enforcing モードで実行されている場合は、getenforceコマンドによりEnforcingが返されます。- root ユーザーで
service smbd startを実行してsmbdを起動します。service smb start Starting SMB services: [ OK ]
service smb start Starting SMB services: [ OK ]Copy to Clipboard Copied! Toggle word wrap Toggle overflow ps -eZ | grep smb実行してsmbdプロセスを表示させます。ps -eZ | grep smb
$ ps -eZ | grep smb unconfined_u:system_r:smbd_t:s0 16420 ? 00:00:00 smbd unconfined_u:system_r:smbd_t:s0 16422 ? 00:00:00 smbdCopy to Clipboard Copied! Toggle word wrap Toggle overflow smbdプロセスに関連する SELinux コンテキストはunconfined_u:system_r:smbd_t:s0です。 このコンテキストの最後から 2 番目の部分、smbd_tがタイプになります。 プロセスのドメインやファイルのタイプを定義するのがタイプです。 この例の場合、smbdプロセスは smbd_t ドメイン内で実行しています。
smbd によるファイルのアクセスおよび共有を許可するため、適切なラベルを付ける必要があります。たとえば、smbd では samba_share_t タイプのラベルが付いたファイルの読み込みと書き込みを行なうことができますが、デフォルトでは httpd_sys_content_t タイプのラベルが付いたファイルにはアクセスできません。このタイプは Apache HTTP Server での使用を目的としているためです。Samba によるホームディレクトリや NFS ファイルシステムのエクスポートを許可する、また Samba にドメインコントローラとしての動作を許可するなど、特定の動作を許可する場合は Boolean をオンにする必要があります。