玄箱HGにFedoraを入れて自宅サーバを構築(Fedora12) - Amonution

sambaのインストール

概要

Windows上からファイルサーバとして使用するため、sambaをインストールします。

sambaのインストール

yumを使用してインストールを実施します。

[root@KURO-BOX ~]# yum -y install samba
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
updates/metalink                                         | 2.7 kB     00:00
 * fedora: ftp.kddilabs.jp
 * rpmfusion-free: ucmirror.canterbury.ac.nz
 * rpmfusion-free-updates: ucmirror.canterbury.ac.nz
 * updates: ftp.jaist.ac.jp
rpmfusion-free-updates                                   | 2.8 kB     00:00
updates                                                  | 4.5 kB     00:00
updates/primary_db                                       | 5.3 MB     00:01
インストール処理の設定をしています
パッケージ samba-3.4.7-58.fc12.ppc はインストール済みか最新バージョンです
何もしません

既にインストール済みでした。

sambaの設定

sambaの設定を行って行きます。

sambaアクセス用のユーザーを追加します。
[root@KURO-BOX ~]# useradd SambaUser

パスワードを設定します。
[root@KURO-BOX ~]# passwd SambaUser
ユーザー SambaUser のパスワードを変更。
新しいパスワード:	パスワード入力
新しいパスワードを再入力してください:	パスワード入力
passwd: 全ての認証トークンが正しく更新できました。

pdbeditでsambaのユーザー登録情報を変更します。
[root@KURO-BOX ~]# pdbedit -a SambaUser
new password:	パスワード入力
retype new password:	パスワード入力
tdbsam_open: Converting version 0.0 database to version 4.0.
tdbsam_convert_backup: updated /var/lib/samba/private/passdb.tdb file.
account_policy_get: tdb_fetch_uint32 failed for field 1 (min password length), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 2 (password history), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 3 (user must logon to change password), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 4 (maximum password age), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 5 (minimum password age), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 6 (lockout duration), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 7 (reset count minutes), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 8 (bad lockout attempt), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 9 (disconnect time), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 10 (refuse machine password change), returning 0
Unix username:        SambaUser
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-2858109631-260765371-2922119685-1000
Primary Group SID:    S-1-5-21-2858109631-260765371-2922119685-513
Full Name:
Home Directory:       \\kuro-box\SambaUser
HomeDir Drive:
Logon Script:
Profile Path:         \\kuro-box\SambaUser\profile
Domain:               KURO-BOX
Account desc:
Workstations:
Munged dial:
Logon time:           0
Logoff time:          never
Kickoff time:         never
Password last set:    土, 05  6月 2010 08:44:34 JST
Password can change:  土, 05  6月 2010 08:44:34 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

samba用の共有ディレクトリを作成します。
[root@KURO-BOX ~]# mkdir /home/public

共有ディレクトリの所有者を変更します。
[root@KURO-BOX ~]# chown nobody:nobody /home/public
[root@KURO-BOX ~]# ls -ld /home/public/
drwxr-xr-x 2 nobody nobody 4096 2010-06-05 09:33 /home/public/

sambaの設定ファイルを編集します。

[root@KURO-BOX ~]# vi /etc/samba/smb.conf

共通の設定
[global]
        unix charset = UTF-8	追加(Linux側の日本語文字コードを指定する)
        dos charset = CP932	追加(Windows側の日本語文字コードを指定する)
        display charset = UTF-8	追加(Linux側の日本語文字コードを指定する)

        workgroup = workgroup	変更(Windowsのワークグループ名を指定する)

        hosts allow = 127. 192.168.11.	変更(内部からのみアクセスできるようにする)

        load printers = no	変更(Sambaでプリンタを共有しない場合)

各ユーザーごとのディレクトリの設定
[homes]
        comment = Home Directories
        browseable = no
        writable = yes
;       valid users = %S
;       valid users = MYDOMAIN\%S
各ユーザ専用のごみ箱機能(ファイル削除時に自動的にごみ箱へ移動される)を有効にします。
ここから下の行を追加します。
        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 = Public Stuff
        path = /home/public
        public = yes
        writable = yes
;       printable = no
;       write list = +staff

共通ディレクトリのごみ箱機能(ファイル削除時に自動的にごみ箱へ移動される)を有効にします。
ここから下の行を追加します。
        vfs objects = recycle  ごみ箱の有効化
        recycle:repository = .recycle  ごみ箱のディレクトリ名(/home/public/.recycle)
        recycle:keeptree = no  ごみ箱へ移動時にディレクトリ構造を維持しない
        recycle:versions = yes  同名のファイルがごみ箱にある場合に別名で移動
        recycle:touch = no  ごみ箱へ移動時にタイムスタンプを更新しない
        recycle:maxsize = 0  ごみ箱へ移動するファイルのサイズ上限(0:無制限)
        recycle:exclude = *.tmp ~$*  ここで指定したファイルはごみ箱へ移動せずに即削除する
ここまで

sambaの起動

ここまでで設定が出来たので、sambaを起動します。

[root@KURO-BOX ~]# /etc/rc.d/init.d/smb start
SMB サービスを起動中:                                      [  OK  ]

[root@KURO-BOX ~]# /etc/rc.d/init.d/nmb start
NMB サービスを起動中:                                      [  OK  ]

リスタートした際に自動で起動するように設定します。

[root@KURO-BOX ~]# chkconfig smb on
[root@KURO-BOX ~]# chkconfig nmb on
[root@KURO-BOX ~]# chkconfig --list smb
smb             0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@KURO-BOX ~]# chkconfig --list nmb
nmb             0:off   1:off   2:on    3:on    4:on    5:on    6:off

接続確認

Windowsクライアント側で「スタート」⇒「ファイル名を指定して実行」⇒「名前」に"サーバーIPアドレス(例:192.168.11.2)"またはホスト名(例:KURO-BOX)を入力して「OK」ボタンを押下します。
Sambaの共有フォルダが表示されれば成功です。

なお、この時点では、nobodyユーザーにしかwrite権限がついていないため、SambaUserユーザーでは書き込みができません。
nobodyユーザーと同様にSambaUserユーザーにもwrite権限を付与すれば、SambaUserユーザーでも書き込みが可能になります。

スポンサード リンク

TOPに戻る / メニューに戻る
Copyright © 1999-2011 Amonution  All rights reserved.
Address