Windowsとの共有
いまやWindowsとの共存共栄は避けては通れません。なぜかってーと、実は私もデスクトップはWindowsだから。最近Gentooとマルチメディアの2面攻撃を仕掛けていますが、Linuxの進化には目を見張ります。すばらしい事だと思います。ほんとーに。WindowsとLinuxを比べたら、お金に対して出来ることはLinuxの方が間違いなく多い。サーバからクライアントまで。しかもリソースの活用に対しても、無駄だらけなWindowsと比べてLinuxの方が優れていますね。でも、でもなんです。Linuxは手間っくいですね。ほんとに。まぢで。あえてオリジナルでモノを作りたいからやってますけど、単なるクライアントパソコンを作るだけならWindowsの方が早い。しかもゲームやマルチメディアな用途だと、圧倒的にWindowsの方が強いですね。
だからLinuxとWindowsは上手な住み分けが重要だと思っている訳です。Microsoftは好きじゃー無いけど、誰にでも使いやすいモノを作るコツは十分心得ている無視できない存在ではあるでしょうね。
で、目標の、TVでも、PCでも何時でも何処でもなユビキタスな環境作りにはマルチメディアなクライアントOSとの共存はプリミティブとして用意しておかなきゃいけまへん。ネットワーク上のファイルサーバですね♪
さてインストール
emerge -b samba
終了ー、とはいかせませんでした。まず、そのままでインストールされるバージョンは2.2.8aです。これだと日本語系が入っていません。3.0になると日本語を標準で扱えるようになります。ですがこれはまだMaskがかかっていますので、強引に開発版をインストールする必要があります。また、make.confでLDAPを無効にしている人以外は、LDAP用パッケージがインストールされてしまいます。これをとりあえず無効にしてやろうと。LDAPもチャレンジしようと思ってるのですが、実はまだ解っていないので。で、以下のようにします。
ACCEPT_KEYWORDS="~x86" USE="-ldap" emerge -b samba
ACCEPT_KEYWORDSで~x86を指定すると、開発版Maskの指定を無視して、チャレンジャー環境をインストールしようとします。茨の道をたどる覚悟の人はmake.confに入れておくと良いでしょう。ですがこのPCはサーバ用途で、不安定にはしたくないのでsambaの1パッケージのみを対象にしたいと思います。
さて、ここでsamba3.0、実はすっげぇsmb.confの内容がかわっちゃってたりします。はぁ…日本語ファイルを見られるようにするための設定も含めてこんなかんじで。
[global]
dos charset = CP932 ←日本語の設定
unix charset = EUCJP-MS ←日本語の設定
display charset = EUCJP-MS ←日本語の設定
workgroup = FOO ←ワークグループ
netbios name = VAR ←サーバ名
server string = サーバ君 ←コメント
obey pam restrictions = Yes
pam password change = Yes
log file = /var/log/samba/log.%m
max log size = 50
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
printcap name = lpstat
dns proxy = No
ldap ssl = no
invalid users = root
hosts allow = XXX.XXX.XXX.0/255.255.255.0
printing = cups
[homes]
comment = Home Directories
read only = No
browseable = No
[video]
comment = 共有場所
path = 適当なパス
force group = users
read only = No
create mask = 0774日本語の設定だけ悩みましたが、あとは今までどおりでうまくいきました。あとはsmbpasswdを使ってアクセスしてくるユーザを登録するだけです。
# smbpasswd XXXX New SMB password: ←Windowsで共有時に打つパスワード Retype new SMB password: ←もう一度
これでsmbを起動すればOKですね。
/etc/init.d/samba start rc-update add samba default
これで終了です。アクセスできましたか?アクセスできないとすると共有場所のパーミッションが合ってない場合があります。良くありがちなのが、共有予定のディレクトリでls -alって打って、こうなってませんか?
drwxr-xr-x 9 root root 208 4月 27 02:41 . ←コレ drwxr-xr-x 17 root root 408 4月 27 21:30 ..
一番左端がパーミッション。あとディレクトリの持ち主がrootになっていると、この例でははじかれてしまいます。usersグループの人ならアクセスできるようにするならば
# chown root.users . # chmod 775 . # ls -al drwxrxr-x 9 root users 208 4月 27 02:41 . drwxr-xr-x 17 root root 408 4月 27 21:30 ..
となれば多分アクセスできるでしょう。
Sambaサーバ側
まず、Sambaサーバの現在動作パラメータをみてみます。
# testparm -v
で、結果から以下をみてみる。
log level syslog socket options
ログの出力レベルや、ソケットオプションでかなり速度が変わるらしい。ポイントは、
- 安定しているのであれば、ログを減らす
- ソケットオプションは、TCP_NODELAYだけにして、デフォルトに任せれば十分
てことらしい。ので、
log level = 1 syslog = 0 socket options = TCP_NODELAY
これを、smb.confにカキカキします。もう一つは、プロトコルバージョンをより上位バージョンにあげてやる。上位バージョンの方が、速度的に有利だそうです。Windows8.1以降だと、smb2が使用可能。うちはWindows10のみなので、割り切ってこうしちゃいます。
min protocol = smb2 max protocol = smb3 security = user
| Page Info | |
|---|---|
| Page Name : | Samba設定で悩む |
| Page aliases : | None |
| Page owner : | maruo |
| Can Read | |
| Groups : | All visitors |
| Users : | All visitors |
| Can Edit | |
| Groups : | No one |
| Users : | No one |

