sambaでファイルアクセス
環境
- サーバ
- linux (CentOS 5.3)
- ip address 192.168.0.1
- クライアント
- WindowsXP SP3
- ipaddress 192.168.0.2
設定手順
# yum install samba samba-client samba-common
# /etc/init.d/smb start
SMB サービスを起動中: [ OK ]
NMB サービスを起動中: [ OK ]
C:\>nbtstat -a 192.168.0.1
ローカル エリア接続:
Node IpAddress: [192.168.0.2] Scope Id: []
NetBIOS Remote Machine Name Table
Name Type Status
---------------------------------------------
THUNDER <00> UNIQUE Registered
THUNDER <03> UNIQUE Registered
THUNDER <20> UNIQUE Registered
MYGROUP <1E> GROUP Registered
MYGROUP <00> GROUP Registered
MAC Address = 00-00-00-00-00-00
# smbpasswd -a suzuki
New SMB password:
Retype new SMB password:
Added user suzuki.
接続
- Windowsエクスプローラーのアドレスバーに \\192.168.0.1 と入力し、Enterキーを押す。
- ユーザー認証ダイアログに設定したユーザー、パスワードを入力すれば、ユーザーのホームディレクトリにアクセスできます。
新規ファイルのパーミッション
- ここまでの設定でファイル読み書きできますが、Windows上から新規ファイルを作成した場合、パーミッションは 744、つまり実行属性がついてしまいます。
- そんなに問題はないかもしれませんが、気持ち悪いです。そのままsvn commitするとsvn:executable 属性がついてしまってやっぱり気持ち悪い。下記設定を行います。
- /etc/samba/smb.confの[homes]セクション(または適切なセクション)に下記追記
create mode = 0644
directory mode = 0755 ;ついで
Linux上のユーザーとWindows側からアクセスするユーザーが異なる場合
- Linuxのユーザーが suzuki (ホームディレクトリ=/home/suzuki)
- Windowsクライアントのユーザーが taro-suzuki
- /etc/samba/smb.confの[global]セクションに下記追記
username map = /etc/samba/smbusers
suzuki = taro-suzuki
smb.confを変更したらsambaを再起動
/etc/init.d/smb restart
- これでwindowsからtaro-suzukiユーザーでアクセスすれば、Linux上ではsuzukiユーザーとして認識されます。