スマートフォン公開用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

参考

[WS011SH] gChargeAlarmでだれとでも定額 無料通話時間超過のアラームを出す

2011/12/10PDA::Windows CE

ウィルコム定額プランでは、ウィルコム同士の通話では1回当たり2時間45分までの通話は無料ですが、これを超えると通話料が発生します。
gChargeAlarmでは、通話時間を監視し指定した通話時間となったときに、アラームを鳴らしたり通話を自動切断したりすることができるようになります。

  • 配布先: ごりぽん's HP
  • 動作確認バージョン: 1.0.0.0
  • 動作確認デバイス: WS011SH
  • 種別: フリーウェア

上記サイトからはダウンロードリンクが消失していますが、以下のリンクを直接アクセスすることでダウンロードが可能です(2011/12/10時点)
http://www.zob.jp/~goripon/wince/gChargeAlarm/gChargeAlarm.cab


だれとでも定額に対応させる、秒単位での指定を行う

gChargeAlarmに用意されている設定画面では10分以下の時間指定をすることができないため*1、だれとでも定額にて無料となる連続通話時間10分より前の警告を設定することができません。

gChargeAlarmの設定はレジストリに保管されるため、レジストリ値を直接編集することで10分未満の値を設定することが可能となります。また、秒単位での指定も可能です。

  • 編集するレジストリキーの場所: \HKEY_CURRENT_USER\Software\goripon\gChargeAlarm
  • "TimeAlarm"エントリ: 警告を出す連続通話時間(ミリ秒で指定)
  • "TimeOnhook"エントリ: 自動切断する連続通話時間(ミリ秒で指定)
gChargeAlarm04.jpg
gChargeAlarm05.jpg

なお、直接レジストリの値を変更した後に、コントロールパネルのgChargeAlarm設定画面を開くと、10分未満に設定した項目が10分に戻ってしまいますので注意してください。

*1 : 設定画面に10分未満が入力は可能ですが、実際に保存される設定は10分となります

NEC MEDIAS (N-04C) 2.3.3/A1022001 root奪取手順

2011/05/07(土)HTC Desire HD (SoftBank 001HT)買った

この記事を読む前に言っておくッ!
おれは今SBMの恐ろしさをほんのちょっぴりだが体験した
い…いや…体験したというよりは全く理解を超えていたのだが…
あ…ありのまま そのとき 起こったことを話すぜ!
『おれはウィルコムプラザでX PLATEを契約したと
思ったらいつのまにかDesire HDも契約していた』
な… 何を言ってるのか わからねーと思うが
おれも何をされたのかわからなかった…
頭がどうにかなりそうだった…
割賦販売だとか月々割引だとか
そんなチャチなもんじゃあ 断じてねえ
もっと恐ろしいものの片鱗を味わったぜ…

         ,. -‐'''''""¨¨¨ヽ
         (.___,,,... -ァァフ|
          |i i|    }! }} //|
         |l、{   j} /,,ィ//|
        i|:!ヾ、_ノ/ u {:}//ヘ
        |リ u' }  ,ノ _,!V,ハ |
       /´fト、_{ル{,ィ'eラ , タ人
     /'   ヾ|宀| {´,)⌒`/ |<ヽトiゝ
    ,゙  / )ヽ iLレ  u' | | ヾlトハ〉
     |/_/  ハ !ニ⊇ '/:}  V:::::ヽ
    // 二二二7'T'' /u' __ /:::::::/`ヽ
   /'´r -―一ァ‐゙T´ '"´ /::::/-‐  \
   / //   广¨´  /'   /:::::/´ ̄`ヽ ⌒ヽ
  ノ ' /  ノ:::::`ー-、___/::::://       ヽ  }
_/`丶 /:::::::::::::::::::::::::: ̄`ー-{:::...       イ

というわけで、買ってしまいました

dhd01.jpg


というわけで、はじめてのSBM端末です。
WX130Sと重ねてみると、その小ささが際立ちます。

続きを読む

[GALAXY Tab] Windowsファイル共有をマウントする(Mount Manager)

2011/02/10PDA::Android

GALAXY Tabからcifsファイルサーバー*1で公開されているディレクトリをGALAXY Tabにマウントできるようにします。
これにより、cifsファイルサーバーで公開されている各種ファイルをGALAXY Tabへコピーすることなく、直接扱えるようになります。具体的には、ファイルサーバー上にある動画ファイルを直接再生したりできるようになります。

注: root奪取が必須です。適用は自己責任でお願いします。

*1 : Windowsファイル共有

環境

  • SUMSUNG GALAXY Tab (SC-01C) root奪取環境
  • cifsサーバー
    • Debian 4.0/i386
      • samba 3.0.24-6etch10
    • Debian 5.0/x86_64
      • samba 3.2.5-4lenny13
  • cifsクライアントソフトウェア
    • Mount Manger 1.0.25

準備

カーネルモジュールをGALAXY Tabへ転送する

  1. xda-developersにて公開されているcifsを扱うカーネルモジュールをダウンロードします。
  2. cifs_gtab.zipに含まれるcifs.ko, slow-work.koをGALAXY Tabの任意のディレクトリにコピーします。
    • 例: /sdcard/data/hack/cifs_gtab/以下にコピー
      (以降、/sdcard/data/hack/cifs_gtab/以下に格納されているものとして説明しますので、該当部分は自身の環境に読み替えてください)

Mount Managerを導入する

Androidマーケットより"Mount Manager"をインストールし、以下の要領でMount Managerを設定します。

Mount Managerの設定

1. ロードするカーネルモジュールを設定する

Mount Managerを起動し、上部アイコンの右から2番目の箱型のアイコン(Modulesアイコン)をタップします。

sc-01c_MountManager00.png

Module設定画面になるので、"Add Module"をタップします。

sc-01c_MountManager02a.png

slow-work.ko, cifs.koに対して以下のように設定します。

  • slow-work.ko
    • Module Path: /sdcard/data/hack/cifs_gtab/slow-work.ko
    • Load Order: 0
    • Load Module: Yes
  • cifs.ko
    • Module Path: /sdcard/data/hack/cifs_gtab/cifs.ko
    • Load Order: 0
    • Load Module: Yes
sc-01c_MountManager03.png

sc-01c_MountManager02b.png

2. カーネルモジュールのロードするタイミングを設定する

初期画面に戻り、上部アイコンの右から3番目の歯車のアイコン(Preferencesアイコン)をタップします。
Preferences設定画面になるので、[Modules]の項目を設定しモジュールがロードされるようにします。好みに合わせて設定してください。私は[Load Modules]をオンにしています。

sc-01c_MountManager04a.png

  • [Force Loading of Modules]をタップする: 設定したモジュールをロードします
  • [Load Modules]をオンにする: 以降、アプリケーションの起動時に設定したモジュールをロードします
  • [Load on Boot]をオンにする: 以降、デバイスの起動時に設定したモジュールをロードします

設定した後、[Force Loading of Modules]をタップするなどし、モジュールをロードします。[Loaded Module]にて以下のようにcifsとslow_workがロード(表示)されていれば、cifsマウントに必要なモジュールが組み込まれています。

sc-01c_MountManager04b.png

3. マウントの設定

初期画面に戻り、上部アイコンの左から2番目のドライブに+が付いているアイコン(Add Mountアイコン)をタップします。
Add Mountの設定画面になるので、以下のように設定します。

  • Share Path: [//IPアドレス/共有名]もしくは[//コンピュータ名/共有名]で設定します
  • Mount Point: GALAXY Tab上のどのディレクトリにマウントするかを設定します。/sdcard以下のディレクトリをマウントポイントとして設定することで、"マイファイル"アプリケーションから操作することができます。
  • Mount Type: Windowsファイルサーバーであればcifsとなります。
  • Auto Mount: 自動的にマウントされるようになります(Preferencesにて、自動マウントする設定が必要です)
  • Options: マウントオプションを設定します。後述。

マウントオプションは環境に合わせて設定する必要がありますが、通常の環境であれば以下が必要となります。

  • Username: cifsサーバー側で資格情報を取得するユーザー名
  • Password: Usernameにて指定したユーザーに対応するパスワード

その他、マルチバイト文字を正しく扱えるようにするために以下を追加します。

  • codepage: cp932
  • iocharset: utf8

cifsサーバーがCIFS Unix Extensionをサポートしている場合(sambaサーバーなど)、パーミッションがxx0などのファイルがGALAXY Tab上で表示されません。この場合、nopermオプションを設定します。設定はNameを空にし、Valueにnopermを設定します。

sc-01c_MountManager05.png

その他のマウントオプションはmount.cifsのオンラインマニュアルを参考にしてください。

4. マウントする

自動マウントしない設定の場合、初期画面でマウントの設定をタップすることでマウントされます。
以下のように容量が表示されれば成功です。

sc-01c_MountManager06.png

以上で、cifsファイルサーバーのファイルを操作できるようになります。