スマートフォン公開用sambaの設定メモ

2013/03/20PDA

Androidスマートフォンからsambaサーバーにアクセスする際に、通常利用するアカウントでアクセスさせるのは危険*1と思い、以下のようなポリシーを定め公開する設定を追加してみました。

  • Androidスマートフォンからアクセスさせるためユーザーを作成する
    • このユーザーはLinuxコンソールにはログインできないようにする
    • このユーザーは特定のディレクトリに対して読み取りのみの権限を持つ
    • このユーザーは特定のディレクトリに対して書き込み権限を持つ

*1 : パスワードが保存されたりするので流出時のリスクを軽減する必要がある

環境

$ cat /etc/issue
Debian GNU/Linux 6.0 \n \l

$ dpkg --list | grep samba
ii  samba                               2:3.5.6~dfsg-3squeeze9       SMB/CIFS file, print, and login server for Unix
ii  samba-common                        2:3.5.6~dfsg-3squeeze9       common files used by both the Samba server and client
ii  samba-common-bin                    2:3.5.6~dfsg-3squeeze9       common files used by both the Samba server and client

設定メモ

sambaサーバーコンソール操作

#Androidクライアントのユーザー(ユーザー名: droid)を作成
# useradd -s /usr/sbin/nologin droid
# smbpasswd -a droid
||<

#Androidクライアントに見せるための公開ディレクトリを作成
# mkdir -m 777 /share/droid                 読込専用
# mkdir -m 777 /share/droid_writable        書込可
# chwon droid: ./*

# Androidクライアントに見せたいディレクトリのシンボリックリンクを張る
# ここでは/data/musicのシンボリックリンクを/share/droid/musicに張る
# cd /share/droid
# ln -s /data/music music

# 同様に書き込み可能なディレクトリのシンボリックリンクを張る
# cd /share/droid_writable
# ln -s /data/docs docs

smb.confの設定

今回の設定で必要な部分のみ記載

[global]
# シンボリックリンクを辿れるようにする
unix extensions = no

[droid]
# droidユーザーが普段アクセスするパス
path = /share/droid
writable = no
guest ok = no
# シンボリックリンクを辿れるようにする
wide links = yes

[droid_writable]
path = /share/droid_writable
writable = yes
guest ok = no
create mask = 0660
directory mask = 0770
wide links = yes
browseable = no

設定を有効にする

# /etc/init.d/samba reload

参考