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 現在の状態を表示