Hatena::Grouplinux2

server_setting_memo このページをアンテナに追加 RSSフィード

2009-03-17 (Tuesday)

[][]gentoosamba立てたときの記録 gentooでsamba立てたときの記録 - server_setting_memo を含むブックマーク はてなブックマーク - gentooでsamba立てたときの記録 - server_setting_memo gentooでsamba立てたときの記録 - server_setting_memo のブックマークコメント

Fedora(Core)はサポートが切れてたりして面倒なので、

FC5からgentooに移行しました。

インストール

$ emerge samba

これで一発.

設定

ポリシーとしては,

  • 管理者ユーザにはsamba経由でアクセスさせない
  • samba認証されるユーザ(pdbeditで追加されているユーザ)が

/etc/samba/smbusersで置き換え可能なときにアクセス可能にします.

あと,後述の設定ファイル内の

"userfoo"を,許可しているユーザのUnixネーム

"usergroup"を,userfooが所属しているグループと読んでください.


設定ファイル(/etc/samba/smb.conf)は,

man smb.confとにらめっこしながら次のようにしました.

[global]
	# workgroup = WORKGROUP
	dos charset = CP932
	# unix charset = EUCJP-MS
	# display charset = EUCJP-MS
	unix charset = UTF-8
	display charset = UTF-8

	log file = /var/log/samba/log.%m
	hosts allow = ***********

	load printers = no
	disable spoolss = yes
	
	username map = /etc/samba/smbusers
	invalid users = root @wheel
	valid users = @usergroup


[section1]
	# comment = 
	path = /mnt/smb/section1
	browseable = no
	writable = yes
	vfs objects = recycle
	create mask = 0664
	directory mask = 0775
	force create mode = 0664
	force directory mode = 0775
	recycle:repository = .recycle
	recycle:keeptree = no
	recycle:versions = yes
	recycle:touch = no
	recycle:maxsize = 0
	valid users = @usergroup

[section2]
	# comment = 
	path = /mnt/smb/section2
	browseable = no
	writable = yes
	vfs objects = recycle
	create mask = 0664
	directory mask = 0775
	force create mode = 0664
	force directory mode = 0775
	recycle:repository = .recycle
	recycle:keeptree = no
	recycle:versions = yes
	recycle:touch = no
	recycle:maxsize = 0
	valid users = @usergroup


[ext]
	# unix charset = EUCJP-MS
	# display charset = EUCJP-MS
	path = /home/userfoo/share
	browseable = no
	writable = yes
	# create mask = 0744
	# directory mask = 0755
	valid users = userfoo

セクションの構造はこんな感じの単純なものです.

root-+-section1
     +-section2
     `-ext

section1とsection2は,グループ"usergroup"での共有ディレクトリです.

ユーザを追加するときには,

  • useradd
  • pdbedit
  • smbusers編集

でよいでしょう.samba再起動は必要でしょうが,smb.confには触れません.


extセクションは個人ディレクトリのつもりなので,homesセクションを使って

http://linux2.g.hatena.ne.jp/pneumaster/20070117/1168974821#seemore

こんな感じの(つまりpath = /home/%u/share)を書いてもよかったのですが,

当時と違って現在は個人的にしか使うつもりがないので,小回りがきく形にしておきます.


# 共有セクションと個人セクションで文字コードが異なるのは,

# 個人的かつ歴史的(?)な理由です.

# convmvを使って,ファイル名の文字コードを変換してもよいですが,

# ファイル数が多かったので,UTF-8のままです.


create mask(directory mask)とforce create mode(force directory mode)の違い

create maskはcreate modeとも書かれます.

create maskは,

windowsファイルのパーミッションからlinuxファイルのパーミッションに変換するときに,

「通す」パーミッションビットです.(create maskのNOTとのAND)

	create mask = 0664
	directory mask = 0775

とあれば,---windowsパーミッションの詳細は知りませんが,UNIXと同じ形式で表せるならば---

パーミッションが[rwxrwxrwx]であるwindowsのファイルは,[rw-rw-r--]となりますし,

[r-xrw--wx]であれば(どんなファイルだろう),[r--rw----]になるでしょう.


linuxファイルのパーミッションにこの値が直接使われる訳ではなく,

この後force create modeとの演算が行われます.

force create modeは「必ず設定される」パーミッションビットです.(bitOR)

	force create mode = 0664
	force directory mode = 0775

であれば,

create maskとの演算後に[rw-rw-r--]となったファイルは[rw-rw-r--](そのまま)となりますし,

[r--rw----]となったファイルは[rw-rw-r--]となるでしょう.


directoryに関しても同じですが,ディレクトリは実行権限を与えないと中に降りれないので注意です.一応.


つまるところ,設定したいパーミッションが決まっているなら,

create maskとforce create modeを同じにしておけばよいです.


参考

http://wiki.samba.gr.jp/mediawiki/index.php?title=Samba%E6%8A%80%E8%A1%93%E6%83%85%E5%A0%B1

http://fedorasrv.com/samba.shtml

2007-01-17 (Wednesday)

[][][]sambaで発見した! 04:13 sambaで発見した! - server_setting_memo を含むブックマーク はてなブックマーク - sambaで発見した! - server_setting_memo sambaで発見した! - server_setting_memo のブックマークコメント

sambaの設定ファイルの中の[homes]セクションでも%uが使える!*1


つまりどういうことかっていうと

Linuxを知らないユーザを抱えている場合に

何もないフォルダを使ってもらうことが(使わせることが)可能なわけだ。


veto filesなどの設定で”.”からはじまる隠しファイルを表示させない、という設定があったはず。

だけどWindowsのフォルダオプションで「すべてのファイルとフォルダを表示する」にしてしまうと

隠しファイルが表示されてしまう。

しかし先にも述べたように

Windows(で隠しファイルを表示させてる程度)の経験はあるが、Linuxは知らない一般ユーザに対してはこの設定は親切でない。

「使っていいよ」と伝えられたフォルダの中に既に何かが入ってたら気になるじゃないか。(俺だけ?

一から使いたいのに消してはならないファイルがあると困る。


そこでこの方法。

例えば俺は次の一文を[homes]セクションに書き加えた。

path = /home/%u/myspace

# ”home”に関しては突っ込まないように。


勘で書いてみたんだけど、testparmしてみたら通った。

んでデーモン再起動かけた後、Windowsから確認してみたらやっぱり出来てた。すげー

*1:[global]セクション内でしか%uとか%mとかの表記を見たことが無かったから発見したよ~的なことを偉そうに書いちゃったけど、この表記ってsambaの設定ファイル内で元々使えるものだよね?

2006-10-02 (Monday)samba立った

[][][]samba立った 03:07 samba立った - server_setting_memo を含むブックマーク はてなブックマーク - samba立った - server_setting_memo samba立った - server_setting_memo のブックマークコメント

20061002_public.jpg


以前ネットワーク上にPCが見えただけでしたが,ついにファイルサーバとして使えるようになりました.

とりあえず

o ユーザ毎の読み書き可能なフォルダ

  そのアカウントログインした人にしか見えないフォルダ

o 全ての人に閲覧可能なフォルダ

  WindowsでGuestアカウント可能にした状態で

  簡易共有した状態のフォルダ.Publicフォルダ

o 許可したユーザのみが読み書き可能なフォルダ

o ホームディレクトリ

を作ってみました.

今の段階では容量制限(クォータ)を掛けてないので,無尽蔵に使われると俺のPCが泣いてしまうことになります;-;

[ 参考にしたwebページ ]

http://www.miloweb.net/samba.html

http://www.atmarkit.co.jp/flinux/samba/whatissamba01/whatissamba.html

http://www.atmarkit.co.jp/ad/ms/linuxvswin/linuxvswin01.html

http://fedorasrv.com/

http://fedorasrv.com/samba.shtml

http://www.hero-island.ne.jp/linux/samba.html

http://apex.wind.co.jp/tetsuro/f-bsd/samba.html

o SWATを使った設定(今回はSWATは使用してません)

http://www.samba.gr.jp/doc/contrib/begin_samba2.0.html

http://www.samba.gr.jp/project/archive/samba-jp/home.htm

http://www.fkimura.com/samba1.html

http://www.obenri.com/_samba/samba_home.html

http://www.obenri.com/_samba/samba_control.html

http://homepage1.nifty.com/~hide822/fileserver.html

o 隠しファイルについての設定など

http://www.samba.gr.jp/project/kb/J0/7/00.html

http://www.samba.gr.jp/project/kb/J0/0/26.html

o create modeに関して

http://www.miloweb.net/samba.html

http://www8.wind.ne.jp/hosimisuto/mypc/linux02.html

o quotaに関して(未解決)

http://www.samba.gr.jp/doc/quota.html

http://www.itmedia.co.jp/help/tips/linux/l0066.html



        • 以下独り言----

つか,PC見えてるところまで来てたのにアクセスできないってどういうことよ,と何が原因かも分からず調べるだけの日々.

sambaのversionが古いのかと思ってupgradeしようとしたらyum(=アップデートマネージャ)が通らない始末.

yumの設定にまた時間が掛かってupgradeしてみれば今度はsambadaemon(=smbd)が起動しない.

起動しないってことはPC見えない...ふりだし?...;-;

何が原因だ,と調べたらsmdbが起動しないときはホスト名の名前解決が正常動作してないおそれがあるってのが引っかかりまくった.

でも,hostsファイル記述は間違ってないし,,,

そんなときtestparmというsambaの設定ファイル(=smb.conf)の記述が正しいかチェックしてくれるスクリプトがあることが判明.

とりあえず,これでsmb.confの間違いによる問題は回避できるはず...

話は戻ってlogファイルを見るといいことがあるかも,という文章を見つけ読んだが書いてある内容がよく分からない.

logファイル記述されてる文字列を検索しながら解読していくとどうやらプリンターが関係しているらしい.

我が家プリンターなどという文明の利器はないのでプリンターに関するdaemonのoff(chkconfig cups off ; chkconfig cups-config-daemon off)とsmb.conf内の記述の消去を行った.

結果,smbdが起動できる状態に.やったヽ(´ワ`)ノ

testparmタン気づいてよ;-;