Menu Close
Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
第14章 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
14.1. Samba および SELinux
SELinux を有効にすると、Samba サーバー(
smbd
)はデフォルトで制限のある実行されます。制限のあるサービスは独自のドメインで実行され、他の制限のあるサービスから分離されます。以下の例は、独自のドメインで実行している smbd
プロセスを示しています。この例では、samba パッケージがインストールされていることを前提としています。
- getenforce コマンドを実行して、SELinux が Enforcing モードで実行されていることを確認します。
~]$ getenforce Enforcing
このコマンドは、SELinux が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 smbd
smbd プロセスに関連付けられた SELinux コンテキストは、system
です。次のコンテキストの最後の部分は_u:system_r:smbd
_t:s0smbd_t
です。タイプは、プロセスのドメインとファイルのタイプを定義します。この場合、smbd プロセスは smbd
_t
ドメインで実行されます。
smbd
がアクセスして共有できるように、ファイルに適切にラベル付けする必要があります。たとえば、smbd
は samba_share_t
タイプのラベルが付いたファイルに読み取りおよび書き込みできますが、デフォルトでは、Apache HTTP Server が使用することを目的としている httpd_sys_content_t
タイプのラベルが付いたファイルにアクセスできません。Samba を介してホームディレクトリーや NFS ボリュームをエクスポートしたり、Samba がドメインコントローラーとして動作することができるようにするなど、特定の動作を許可するブール値を有効にする必要があります。