波打際のブログさん

主に、プログラミング備忘録など。

CentOS6.4でsambaを使用してWindowsとファイル共有を行う。

はじめに

 CentOS6.4上でsambaを使用してファイルサーバを構築する際にいくつか手間取ったポイントがあったので備忘録としてまとめておきます。

環境

  • CentOS6.4
  • samba3.6

sambaのインストール

 パッケージはyumを使用してインストールします。

sudo yum install samba

sambaの設定

ファイアウォールの設定

 sambaでは次のポートを使用します、予めファイアウォールの設定を行い通信を許可する必要があります。

自動起動の設定

 samba本体と、Windowsのファイル共有で使用されるNetBIOS名を解決するためのnmbdを自動で起動するように設定します。

sudo chkconfig smb on
sudo chkconfig nmb on

samba用ユーザの追加

 sambaにログインするためのユーザを作成します。ここで作成するユーザー名は、Linuxのユーザー名と合わせておきます。もし、Linuxのユーザー名と異なるユーザ(Linuxに存在しないユーザ名)を作成する場合は、 /etc/samba/smbusers でユーザー名のマッピング設定を記述する必要があります。

sudo smbpasswd -a [共有させるユーザ名]

共有するディレクトリの作成

 Linux上で共有するディレクトリを生成します。

sudo mkdir /samba/nyaruko -p
sudo chown [共有させるユーザ名]:[共有させるユーザ名] /samba/nyaruko
sudo chcon -t samba_share_t /samba/nyaruko -R

 最後に実行しているchconコマンドに注意してください。SELinuxが有効な環境ではこのコマンドを実行して、ディレクトリへsambaによるアクセスポリシーを付与する必要があります。もし、このコマンドを実行しないと「アクセス許可がありません。ネットワーク管理者にアクセス許可を要求してください。」と言ったエラーメッセージが表示されアクセスできません。

設定ファイルの修正

 先程作成したディレクトリを共有するために、 /etc/samba/smb.conf を修正します。

[global]
	# 共有の設定
	workgroup = Nyaruko 
	server string = "いつもニコニコあなたの隣に這い寄る混沌、ニャルラトホテプ、です!" 
	
	# ログの設定
	log file = /var/log/samba/log.%m
	max log size = 50
	
	# ユーザ認証の設定
	security = user
	passdb backend = tdbsam
 
	# プリンタ関連の設定
	load printers = no 
	cups options = raw
 
 
#============================ Share Definitions ==============================
	
[Nyaruko]
	# 共有するフォルダに関する設定
	path = /samba/nyaruko
	comment = "いつもニコニコあなたの隣に這い寄る混沌、ニャルラトホテプ、です!"
	writable = yes
	valid users = [共有させるユーザ名]

Windowsからのログイン

 サーバーにエクスプローラからアクセスすると、認証ダイアログが表示されます。smb.confで指定したワークグループが、Windowsに設定されているワークグループ名と異なる場合、ワークグループ名を指定してログインする必要があります。