Windowsファイルサーバー構築(Samba)

最終更新日: 2007.12.10

<<トップページ <<新着情報 <<質問掲示板 <<アンケート <<サイト内検索 <<ダウンロード <<管理人へメール <<Fedoraで自宅サーバー構築

■概要

LinuxサーバーをWindowsのファイルサーバーにする。
ここでは、Sambaを導入し、各ユーザのホームディレクトリへWindowsクライアントからアクセスできるようにする。
また、全ユーザでフルアクセスできる共有フォルダも作成する。
なお、Sambaサーバーへは内部からのみアクセスできるようにする。


■Sambaインストール

[root@centos ~]# yum -y install samba ← sambaインストール

■Samba設定

(1)Samba設定
[root@centos ~]# vi /etc/samba/smb.conf ← Samba設定ファイル編集
[global]
以下を追加
   dos charset = CP932
   unix charset = UTF-8
   display charset = UTF-8

# workgroup = NT-Domain-Name or Workgroup-Name
   workgroup = MYGROUP
   ↓
   workgroup = WORKGROUP ← 変更(Windowsのワークグループ名を指定)
        ※マイコンピュータのプロパティ⇒コンピュータ名タブ内のワークグループ欄を参照

;   hosts allow = 192.168.1. 192.168.2. 127.
   hosts allow = 192.168.1. 127. ← 追加(アクセス許可アドレスとして内部ネットワークアドレスを指定)

# If you want to automatically load your printer list rather
# than setting them up individually then you'll need this
;   load printers = yes ← 行頭に;を追加(プリンタ共有無効化)※Sambaでプリンタを共有しない場合
   load printers = no ← 追加(プリンタ共有無効化)※Sambaでプリンタを共有しない場合
   disable spoolss = yes ← 追加(プリンタ共有無効化)※Sambaでプリンタを共有しない場合

ホームディレクトリ設定
[homes]
   comment = Home Directories
   browseable = no
   writable = yes
   以下はごみ箱機能を使用する場合のみ追加
   vfs objects = recycle ← ごみ箱の有効化
   recycle:repository = .recycle ← ごみ箱のディレクトリ名(/home/ユーザ名/.recycle)
   recycle:keeptree = no ← ごみ箱へ移動時にディレクトリ構造を維持しない
   recycle:versions = yes ← 同名のファイルがごみ箱にある場合に別名で移動
   recycle:touch = no ← ごみ箱へ移動時にタイムスタンプを更新しない
   recycle:maxsize = 0 ← ごみ箱へ移動するファイルのサイズ上限(0:無制限)
   recycle:exclude = *.tmp ~$* ← ここで指定したファイルはごみ箱へ移動せずに即削除する

以下を最終行へ追加(リードオンリー用共有ディレクトリ設定)
[public]
   comment = Read only Directories
   path = /home/samba/public
   public = yes
   guest ok = yes

以下を最終行へ追加(フルアクセス用共有ディレクトリ設定)
[share]
   comment = All User shared Directories
   path = /home/samba/share
   public = yes
   only guest = yes
   writable = yes
   printable = no
   以下はごみ箱機能を使用する場合のみ追加
   vfs objects = recycle ← ごみ箱の有効化
   recycle:repository = .recycle ← ごみ箱のディレクトリ名(/home/ユーザ名/.recycle)
   recycle:keeptree = no ← ごみ箱へ移動時にディレクトリ構造を維持しない
   recycle:versions = yes ← 同名のファイルがごみ箱にある場合に別名で移動
   recycle:touch = no ← ごみ箱へ移動時にタイムスタンプを更新しない
   recycle:maxsize = 0 ← ごみ箱へ移動するファイルのサイズ上限(0:無制限)
   recycle:exclude = *.tmp ~$* ← ここで指定したファイルはごみ箱へ移動せずに即削除する

(2)共有ディレクトリ作成
[root@centos ~]# mkdir -p /home/samba/public ← リードオンリー用共有ディレクトリ作成

[root@centos ~]# mkdir -p /home/samba/share ← フルアクセス用共有ディレクトリ作成

[root@centos ~]# chown -R nobody. /home/samba/ ← 共有ディレクトリ所有者変更

(3)ごみ箱内ファイルの自動削除設定※ごみ箱機能を使用する場合のみ
1週間ごとに30日間アクセスのないファイルを自動的に削除するようにする
[root@centos ~]# vi /etc/cron.weekly/recyclewatch ← ごみ箱内ファイル自動削除スクリプト作成
#!/bin/bash

for user in `ls /home/`
do
    [ -d /home/$user/.recycle ] && \
    tmpwatch -f 720 /home/$user/.recycle
done

[ -d /home/samba/share/.recycle ] && \
tmpwatch -f 720 /home/samba/share/.recycle

[root@centos ~]# chmod +x /etc/cron.weekly/recyclewatch ← スクリプトに実行権限付加

■Samba起動

[root@centos ~]# /etc/rc.d/init.d/smb start ← Samba起動
SMBサービスを起動中:                                       [  OK  ]
NMBサービスを起動中:                                       [  OK  ]

[root@centos ~]# chkconfig smb on ← Samba自動起動設定

[root@centos ~]# chkconfig --list smb ← Samba自動起動設定確認
smb             0:off   1:off   2:on    3:on    4:on    5:on    6:off ← ランレベル2〜5のオン確認

■Sambaユーザ追加

(1)Sambaユーザ追加(SSHによるリモート接続はできないようにする場合)
※例としてユーザ名をcentosとする
[root@centos ~]# useradd -s /sbin/nologin centos ← システムへユーザ追加

[root@centos ~]# passwd centos ← パスワード設定
Changing password for user centos.
New password: ← パスワード応答※表示はされない
Retype new password: ← パスワード応答(確認)※表示はされない
passwd: all authentication tokens updated successfully.

[root@centos ~]# pdbedit -a centos ← Sambaへユーザ追加
new password: ← パスワード応答※表示はされない
retype new password: ← パスワード応答(確認)※表示はされない
startsmbfilepwent_internal: file /etc/samba/smbpasswd did not exist. File successfully created.
Unix username:        centos
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-1397570601-503051572-2212552623-2000
Primary Group SID:    S-1-5-21-1397570601-503051572-2212552623-2001
Full Name:
Home Directory:       \\linux\centos
HomeDir Drive:
Logon Script:
Profile Path:         \\linux\centos\profile
Domain:               LINUX
Account desc:
Workstations:
Munged dial:
Logon time:           0
Logoff time:          土, 14 12月 1901 05:45:51 GMT
Kickoff time:         土, 14 12月 1901 05:45:51 GMT
Password last set:    月, 13 12月 2004 16:06:00 GMT
Password can change:  月, 13 12月 2004 16:06:00 GMT
Password must change: 土, 14 12月 1901 05:45:51 GMT
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

(2)Sambaユーザ追加(SSHによるリモート接続もできるようにする場合)
※例としてユーザ名をcentosとする
[root@centos ~]# useradd centos ← システムへユーザ追加

[root@centos ~]# passwd centos ← パスワード設定
Changing password for user centos.
New password: ← パスワード応答※表示はされない
Retype new password: ← パスワード応答(確認)※表示はされない
passwd: all authentication tokens updated successfully.

[root@centos ~]# pdbedit -a centos ← Sambaへユーザ追加
new password: ← パスワード応答※表示はされない
retype new password: ← パスワード応答(確認)※表示はされない
startsmbfilepwent_internal: file /etc/samba/smbpasswd did not exist. File successfully created.
Unix username:        centos
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-1397570601-503051572-2212552623-2000
Primary Group SID:    S-1-5-21-1397570601-503051572-2212552623-2001
Full Name:
Home Directory:       \\linux\centos
HomeDir Drive:
Logon Script:
Profile Path:         \\linux\centos\profile
Domain:               LINUX
Account desc:
Workstations:
Munged dial:
Logon time:           0
Logoff time:          土, 14 12月 1901 05:45:51 GMT
Kickoff time:         土, 14 12月 1901 05:45:51 GMT
Password last set:    月, 13 12月 2004 16:06:00 GMT
Password can change:  月, 13 12月 2004 16:06:00 GMT
Password must change: 土, 14 12月 1901 05:45:51 GMT
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

■Samba確認

・Windowsクライアント側でマイネットワークをエクスプローラで開き、ネットワーク全体⇒Microsoft Windows Network⇒Workgroupと開いていき、"Samba Server (サーバーホスト名)"が表示されることを確認。

・Windowsクライアント側から"Samba Server (Linux)"⇒"public"フォルダへアクセスし、ファイルの参照のみできて、ファイルを作成できないことを確認。

・Windowsクライアント側から"Samba Server (Linux)"⇒"share"フォルダへアクセスし、ファイルを作成できることを確認。

・Windowsクライアント側から"Samba Server (Linux)"⇒"ユーザ名"フォルダへアクセスし、ファイルを作成できることを確認。

※ユーザ名/パスワードはSambaに追加したユーザ名/パスワードを応答する



▲このページのトップへ戻る

LPIロゴ Copyright© 2005-2008 fallenangels, All rights reserved.
ご自由にリンクしてください(連絡は不要です)
本ページへのご意見・ご要望、誤字・脱字・リンク切れ等のご連絡はこちらからお願いします