SambaによるWindowsとLinuxでのファイル共有



Windows側の設定

(1)コンピュータ名とワークグループ名を所定の名前に設定する。

マイコンピュータを右クリックし、プロパティを選択、
「コンピュータ名」のタグを選択し、「変更」ボタンをクリックする。
必要に応じてコンピュータ名とワークグループ名を変更する。

(2)共有フォルダを設定する。

Linuxではフォルダ名やファイル名に全角文字やスペースを使うことができないので、
これらの文字を使っている場合は半角文字に変更する。また、ファイルまでのパス
の中に全角文字やスペースを使ったフォルダ名やドライブ名があるとエラーに
なるので、共有フォルダまでのパス中に全角文字やスペースが無いことを確認する。



Linux側の設定

スーパーユーザ(root)としてログインする。


(1) /etc/samba/smb.confを開いて次の設定を行う。
(念のため、編集する前にバックアップを作っておく)


1)ワークグループ名を設定する。

# workgroup = NT-Domain-Name or Workgroup-Name
workgroup = XXXXXX    ←MYGROUPを所定のグループ名に変更


2)共有ディレクトリを設定(/tmpを共有にする)

# This one is useful for people to share files
[tmp]                   ←行の先頭にある「;」を除く
comment = Temporary file space   ←行の先頭にある「;」を除く
path = /tmp               ←行の先頭にある「;」を除く
read only = no               ←行の先頭にある「;」を除く
public = yes                ←行の先頭にある「;」を除く


3)パスワードの暗号化を有効にする。

# You may wish to use password encryption. Please read
# ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation.
# Do not enable this option unless you have read those documents
encrypt passwords = yes            ←行の先頭にある「;」を除く
smb passwd file = /etc/samba/smbpasswd ←行の先頭にある「;」を除く

Windowsでは暗号化パスワードを使っているので、Linux側も
暗号化パスワードを有効にする必要がある。

ここまでの編集が完了したらsmb.confを上書き保存する。


4)修正のチェック

# testparm      ← ターミナルモードから入力

Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[tmp]"
Loaded services file OK.    → このOKが出れば正常である。
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

# Global parameters
[global]
workgroup = XXXXXX
server string = Samba Server
・・・・
・・・・
[tmp]
comment = Temporary file space
path = /tmp
read only = No
guest ok = Yes




(2) 暗号化パスワードの設定

1)Windowsにログインするユーザ名とパスワードをLinuxのユーザとして登録する。

2)暗号化パスワードの作成

# mksmbpasswd.sh < /etc/passwd > /etc/samba/smbpasswd ← 抜き出し加工

# grep XXXXXX /etc/samba/smbpasswd
XXXXXX:500:XXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXX:[U]:LCT-00000000: 確認

# smbpasswd XXXXXX XXXXXXのパスワードを暗号化する。
New SMB password:    パスワードを入力する
Retype new SMBpassword: 

# grep XXXXXX /etc/samba/smbpasswd  設定されたかどうかを確認


→ 再起動?


sambaの起動と停止

/etc/rc.d/init.d/smb start   sambaの起動
/etc/rc.d/init.d/smb stop    sambaの停止

/etc/rc.d/init.d/smb restart   再起動
/etc/rc.d/init.d/smb status   現在の状態を表示