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

ゲスト



トラックバック - http://linux2.g.hatena.ne.jp/pneumaster/20090317