Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
第15章 Samba
Samba は Server Message Block (SMB) および Common Internet File System (CIFS) プロトコルのオープンソース実装で、多様なオペレーティングシステムにまたがるクライアント間でのファイルおよびプリントサービスを提供します[15]。
Red Hat Enterprise Linux では、Samba サーバーは samba パッケージが提供します。以下のコマンドを実行して samba パッケージがインストールされていることを確認します。
~]$ rpm -q samba
package samba is not installed
パッケージがインストールされておらず Samba を使用したい場合は、root で
yum
ユーティリティーを使用してインストールします。
~]# yum install samba
15.1. Samba と SELinux
SELinux を有効にすると、Samba サーバー (
smbd
) はデフォルトで制限のあるサービスとして実行されます。制限のあるサービスはそのサービス自体のドメイン内で実行され、他の制限のあるサービスとは分離されます。以下の例では、サービス自体のドメイン内で実行している smbd
プロセスを示しています。この例では、samba パッケージがインストールされていることを前提としています。
getenforce
コマンドを実行して、SELinux が enforcing モードで実行していることを確認します。~]$
getenforce
EnforcingSELinux が enforcing モードで実行している場合は、Enforcing
が返されます。- root で以下のコマンドを実行して
smbd
を起動します。~]#
systemctl start smb.service
サービスが稼働していることを確認します。出力は以下のようになり、タイムスタンプのみが異なります。~]#
systemctl status smb.service
smb.service - Samba SMB Daemon Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled) Active: active (running) since Mon 2013-08-05 12:17:26 CEST; 2h 22min ago smbd
プロセスを表示するには、以下のコマンドを実行します。~]$
ps -eZ | grep smb
system_u:system_r:smbd_t:s0 9653 ? 00:00:00 smbd system_u:system_r:smbd_t:s0 9654? 00:00:00 smbdsmbd
プロセスに関連する SELinux コンテキストはsystem_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 がドメインコントローラとしての動作できるようにするなど、特定の動作を許可するには、ブール値を有効にする必要があります。
このページには機械翻訳が使用されている場合があります (詳細はこちら)。