Fedora Core への Samba インストール
Sambaのインストール
Fedora Core 3にはSambaのパッケージが含まれています。
ただし、デフォルトのインストールを行った状態では、Samba本体はインストールされていませんので別途インストールする必要があります。可能な限り、インターネットから最新版のパッケージを入手、インストールすることをお勧めします。
Sambaのインストール確認
Sambaのインストール状況を確認するには、以下のようにして端末(コマンドライン)上から rpm -qa
コマンドを実行して確認するのが確実です。
[root@filesv01 ~]# rpm -qa | grep samba samba-common-3.0.8-0.pre1.3 samba-client-3.0.8-0.pre1.3 ※samba-commonおよびsamba-clientパッケージがインストールされています
通常の構成では、このように samba-common と samba-client という2行が出力されることが多いはずです。しかし、この状態ではSamba本体はインストールされていません。実は、Sambaは以下のように複数のパッケージ(RPMファイル、以下Samba関連パッケージと呼称します)から構成されています。最低でもsambaパッケージがインストールされていないと、Sambaサーバは機能しません。
パッケージ名 | GUIからの インストール可否 |
説明 |
samba-common | Yes(※) | Sambaの共通プログラム/ファイル(smb.confなど) |
samba | Yes | Sambaのサーバプログラム(smbd/nmbdなど) |
samba-client | Yes | Sambaのクライアントプログラム(smbclientなど) |
samba-swat | No | SWAT関連(swatなど) |
system-config-samba-1.2.21-1 | Yes | Fedora Core 3に付属するSamba設定ツール |
※: 明示的に指定することはできませんが、パッケージ間の依存関係のため、sambaをインストールすると自動的にインストールされます。
以下Samba関連パッケージのインストール方法について説明しましょう。
なお、インストール時に「インストールの種類」画面で「サーバー」を選択した場合はデフォルトでSamba本体(sambaパッケージ)やSambaサーバー設定ツール(system-config-sambaパッケージ)もインストールされていますが、後述するSambaのWeb設定ツールであるSWAT(samba-swatパッケージ)はインストールされていません。SWATで管理を行なわない場合はsamba-swatパッケージはなくても構いませんが、インストールしたい場合は、以下で説明する方法にしたがってインストールを行ってください。
Samba関連パッケージのインストールとアップレード
Samba関連パッケージがインストールされていなかった場合は、Fedora Core 3のCD-ROMやDVD-ROMなどからインストールを行うか、次で説明するように、インターネット上から最新版のインストールを行います。CD-ROMからインストールを行う場合は、図4のように順に操作を行っていきます。これでCD-ROMからSamba関連のパッケージが全てインストールされます。
図4: CD-ROMからのSamba関連パッケージのインストール
[root@filesv01 ~]# mount /media/cdrom [root@filesv01 ~]# cd /media/cdrom/Fedora/RPMS [root@filesv01 RPMS]# ls *samba* samba-3.0.8-0.pre1.3.i386.rpm samba-swat-3.0.8-0.pre1.3.i386.rpm samba-client-3.0.8-0.pre1.3.i386.rpm system-config-samba-1.2.21-1.noarch.rpm samba-common-3.0.8-0.pre1.3.i386.rpm [root@filesv01 RPMS]# rpm --replacepkgs(※) -Uvh *samba* Preparing... ########################################### [100%] 1:samba-common ########################################### [ 20%] 2:samba ########################################### [ 40%] 3:samba-client ########################################### [ 60%] 4:samba-swat ########################################### [ 80%] 5:system-config-samba ########################################### [100%]
※: --replacepkgsオプションがない場合、インストールされているパッケージとアップデートしようとしているパッケージのバージョンが同一だと、RPMコマンドが失敗します。
ただし、最近は各種セキュリティホールの発見により頻繁にアプリケーションのバージョンアップが行なわれています。残念ながらSambaも例外ではなく、記事執筆時点でもCD-ROMに収録されているパッケージと最新版のパッケージとには差異があります。このため、すでにSambaがインストールされていた場合も含め、可能であればインターネット上から最新版のパッケージを取得、アップデートすることを推奨します。
これはSambaに限った話ではなく、Apacheやsendmailなどサーバアプリケーションすべてについていえることです。不特定多数からアクセスがあるインターネットサーバーの場合、この作業は「必須」です。Sambaが実行される社内ファイル・サーバーの場合も随時アップデートを行うことが望ましいのですが、敢えて「必須」という表現は外しました。
インターネットから最新版のSamba関連パッケージのインストールやアップデートを行う場合は、yumコマンド、up2dateコマンド、aptコマンドが使えますが、ここではFedora Core 3標準のyumコマンドの場合に付いて説明します。
ファイル・サーバーからHTTPプロキシサーバーを経由せずにインターネット上のWebサイトにアクセスできる場合は、図6のようにyum updateに続いてインストールしたいパッケージ名を指定するだけで、そのパッケージのインストールに必要な依存パッケージをyumコマンド側で自動的に認識して、最終的にインストール対象のパッケージのインストールを行ってくれます。
図6: yum updateコマンドによるSambaパッケージのインストール [root@filesv01 ~]# rpm --import /usr/share/rhn/RPM-GPG-KEY-fedora ←最初にyumコマンドを使用する前に1回だけ行うこと [root@filesv01 ~]# yum update system-config-samba ← system-config-sambaパッケージのアップデート Setting up Update Process Setting up Repo: base repomd.xml 100% |=========================| 1.1 kB 00:00 Setting up Repo: updates-released repomd.xml 100% |=========================| 951 B 00:00 Reading repository metadata in from local files primary.xml.gz 100% |=========================| 797 kB 00:01 MD Read : ################################################## 2623/2623 base : ################################################## 2622/2622 primary.xml.gz 100% |=========================| 300 kB 00:00 MD Read : ################################################## 738/738 updates-re: ################################################## 738/738 Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Downloading header for system-config-samba to pack into transaction set. system-config-samba-1.2.2 100% |=========================| 23 kB 00:00 ---> Package system-config-samba.noarch 0:1.2.28-0.fc3.1 set to be updated --> Running transaction check Dependencies Resolved Transaction Listing: Update: system-config-samba.noarch 0:1.2.28-0.fc3.1 Is this ok [y/N]: y ←パッケージを本当にインストールするかを聞いているので「y」を入力 Downloading Packages: system-config-samba-1.2.2 100% |=========================| 204 kB 00:00 Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Updating: system-config-samba 100 % done 1/2 Completing update for system-config-samba - 2/2 Updated: system-config-samba.noarch 0:1.2.28-0.fc3.1 Complete! [root@filesv01 ~]# yum update samba samba-common samba-swat samba-client (以下出力は省略) ※はじめてyumコマンドを使用する場合は初期化に若干時間が掛かりますが異常ではありません。
HTTPプロキシ経由でのアクセスが必要な環境の場合は、環境変数http_proxyにHTTPプロキシのIPアドレスやホスト名とポート番号を設定します。例えば、HTTPプロキシのIPアドレスが192.168.1.1でポート番号が8080の場合は、yumコマンドの実行前に以下のような設定を行ってください。
[root@filesv01 ~]# export http_proxy=http://192.168.1.1:8080/(※) [root@filesv01 ~]# yum update samba-client ※: tcshなどcsh系のシェルを用いている場合は、「setenv http_proxy http://192.168.1.1:8080/」と入力します。
HTTPプロキシを経由してもインターネットにアクセスできない環境においてSambaの最新版をインストールしたい場合は、Fedora CoreのWebサイト(http://download.fedora.redhat.com/pub/fedora/linux/core/updates/3/i386/)などから最新版のパッケージをダウンロードした上で、なんらかの方法でFedora Core 3上にパッケージを転送した上で、図4のようにRPMコマンドを用いてインストールを行ってください。
ファイアウォールの設定
Fedora Core 3では、セキュリティ強化のため、デフォルトの設定でインストールを行うと、ファイアウォール機能が有効になっています。この機能はインターネットサーバとしての使用を意識したものとなっていますので、そのままではWindowsマシンからSambaサーバにアクセスすることができません。従って何らかの設定変更が必須です。
設定方法は幾つかありますが、ここではコマンドラインからでもGUI的な設定が可能なlokkitコマンドを使う方法を説明しましょう。コマンドラインから「lokkit」と入力すると、以下のような画面が現れます
必要最低限のポートだけをオープンしたいという場合は、「カスタマイズ」ボタンを押すと現れる以下の画面で、「その他のポート」欄に以下のように入力してください。
445:tcp,139:tcp,138:udp,137:udp,901:tcp(SWATを用いない場合、901:tcpは不要です)
上記のように入力する代わりに「信頼できるデバイス」欄のインタフェース(eth0など)をチェックすることもできますが、この場合、そのLANインタフェースに関してファイアウォール機能が無効になります。LANカードが複数接続されているマシンでない限り、これはセキュリティレベルを無効にしたのと同じ意味になりますので、注意してください。設定が反映されているかどうかは次のようにiptablesコマンドで確認できます。
上記では、netbios-ssn(139/tcp), netbios-dgm(138/udp), netbios-ns(137/udp)といったポートがACCEPTになっていることが確認できます。
なお、デスクトップの[アプリケーション]-[システム設定]-[セキュリティ レベルの設定]を開くと表示される図17の画面から同様の設定を行うことも可能です。
SE Linuxの設定
Fedora Core 3ではセキュリティ強化の一貫としてSE Linuxという機能がデフォルトで有効になっています。しかしSE Linuxを有効にした状態で、ファイル・サーバーを適切に運用するには相応の知識が必要となりますので、初心者の方での運用は難しいでしょう。そのため、ここではSE Linux機能を無効にする方法を紹介します。SE Linux機能を無効にしてもFedora Core 2のデフォルト状態と同様になるだけで、それ以上にセキュリティが低下することはありません。
SE Linux機能を無効にするには、/etc/selinux/configファイルのSELINUX行を図15のように設定します。なおインストール時にSE Linux機能を無効にしてインストールした場合、図15の設定は既に行われています。
図15: /etc/selinux/configファイルの修正点 # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=disabled ←disabled以外の場合は、disabledに変更する # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted
SE Linuxの設定も、デスクトップの[アプリケーション]-[システム設定]-[セキュリティ レベルの設定]から行うことが可能です。