SoClipper*

 

11/7/2009 - Quote

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
outline: 0;
}
body {
line-height: 1;
color: black;
background: white;
}
ol, ul {
list-style: none;
}
/* tables still need ‘cellspacing=”0”’ in the markup */
table {
border-collapse: separate;
border-spacing: 0;
}
caption, th, td {
text-align: left;
font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: “”;
}
blockquote, q {
quotes: “” “”;
}

10/27/2009 - Quote

Sambaでusershareを使用したディレクトリ共有を行う。

例として今まで smb.conf で設定していた /home/samba ディレクトリ共有を、usershareを使用して共有してみる。

sambaのユーザはpdbeditで作成されていることを前提とする。

まず、smb.conf の設定変更
$ sudo vi /etc/samba/smb.conf
usershare path = /var/lib/samba/usershare # これを指定しない場合デフォルトは /var/lib/samba/usershare
usershare allow guests = yes
usershare max shares = 10
usershare owner only = False # 共有可能なディレクトリを自身が所有するディレクトリ以外も対象にする
usershare prefix allow list = /home,/usr/local/document # 共有設定が可能なディレクトリを /home と /usr/local/document 以下のみに限定
usershare prefix deny list = /home/administrator # /home下であっても /home/administratorは共有設定不可
設定ファイルの置き場所のパーミッションを変更
$ sudo chmod 777 /var/lib/samba/usershare
(本来であればsambashareグループにユーザを所属させ、ここではchmod 770 などとするべき。)
共有設定を追加
$ net usershare add public /home/samba publicComment Everyone:F guest_ok=y
$ net usershare list
Sambaを再起動
$ sudo /etc/init.d/samba restart

10/27/2009 - Quote

1. sambaの設定

パッケージリストを更新する
$ sudo apt-get update

sambaをインストールする
$ sudo apt-get install samba

共有ディレクトリにアクセスできるグループを作る
$ sudo addgroup public

共有設定を入れるディレクトリの作成
$ sudo mkdir /etc/samba/shares
$ sudo chgrp public /etc/samba/shares
$ sudo chmod 1770 /etc/samba/shares

smb.confを編集する

$ sudo vi /etc/samba/smb.conf

[global]
#linuxの文字コード
unix charset = UTF-8
#SWATの文字コード
display charset = UTF-8
#Windowsの文字コード(SJIS)
dos charset = CP932
#workgroup名の確認
workgroup = WORKGROUP
#共有ディレクトリの設定情報の置き場(共有ディレクトリの場所ではない)
usershare path = /etc/samba/shares
usershare max shares = 10

#### Networking ####
#追加(内部からのみアクセスできるようにする)
hosts allow = 192.168.1. 127. 

####### Authentication #######
#コメントアウトを解除
security = user


sambaの再起動
$ sudo /etc/init.d/samba restart

2.共有ディレクトリの用意


共有ディレクトリを作る
$ sudo mkdir /home/public
$ sudo chgrp public /home/public
$ sudo chmod 770 /home/public


共有ディレクトリをsmbaに登録する
書式 net usershare add 共有名 共有場所 コメント
$ sudo net usershare add public /home/public coment


共有ディレクトリの設定のリストを見る
$ sudo net usershare list

共有ディレクトリの情報を見る
$ sudo net usershare info public
[usershare1]
path=/home/public
comment=comment1
usershare_acl=Everyone:R
guest_ok=n


共有ディレクトリに書き込み権限を与える
書式 net usershare add 共有名 共有場所 コメント ユーザー:パーミッション,ユーザー:パーミッション

パーミッションの種類
R:読み取り専用
D:拒否
F:フルコントロール

$ sudo net usershare add public /home/public coment everyone:R,user01:F


sambaの再起動
$ sudo /etc/init.d/samba restart

共有の設定を削除する
$sudo net usershare delete public


3. 共有ディレクトリにアクセスするユーザーの設定

sambaにユーザーの登録
$ sudo pdbedit -a -u user01

グループpublicににユーザーの登録
$ sudo adduser user01 public

再ログイン

sambaにユーザーの削除
$ sudo pdbedit -x user01


4. 補足 smbpasswdデータベースからtdbsamデータベースへの移行


smbpasswdデータベースからtdbsamデータベースへの移行
pdbedit -i smbpasswd:/etc/smbpasswd -e tdbsam:/etc/samba/passdb.tdb

確認のため、リストビューする。
pdbedit -L


[注意]


[参考]


[ThinkIT] 第4回:Samba 3.0.20以降の新機能を追え(3) (1/3)
http://www.thinkit.co.jp/free/article/0707/7/4/

Sambaサーバ構築、5つのべからず:2008年版(2/2)
http://www.atmarkit.co.jp/flinux/special/samba_n/samba_nb.html

関連記事
samba

* ubuntuからprintしたい
* Ubuntu Jaunty Jackalope で SAMBA3
* UbuntuでCIFSを利用してWindowsの共有フォルダをmountする
* Ubuntuをsambaサーバーにする

Ubuntu

* proftpd でftp-server
* NTPで自動時刻合わせ
* Dovecotでmail Server
* postfix で mail server を立てる
* ntpで自動時刻あわせ
* ubuntuでbind9を設定ver2

10/27/2009 - Quote

USERSHARE

Samba 3.0.23 より、root 以外のユーザが「net usershare」コマンドを用いてユーザ定義共有を公開する機能が追加された。

これを行なうには、まず smb.conf の [global] セクションに以下を追加する必要がある: usershare path = /usr/local/samba/lib/usershares ついで /usr/local/samba/lib/usershares ディレクトリを作成し、所有者を root に、所有グループをユーザ定義共有の作成を許可したい UNIX グループ、例えば「serverops」とする。 /usr/local/samba/lib/usershares のパーミッションは 01770 に設定する。 (所有者と所有グループには完全なアクセス権があり、その他にはアクセス権が全くない。さらにスティッキービットにより、ディレクトリ中のファイルについて、名前の変更や削除が行なえるのはファイルの所有者のみとなる) 最後に、smb.conf の [global] セクションに以下のような行を追加することで、作成可能なユーザ定義共有の最大数を smbd に設定する: usershare max shares = 100 これにより、最大 100 のユーザ定義共有を設定可能となる。 これにより、「serverops」という UNIX グループのメンバは必要に応じて以下のコマンドを実行することで、ユーザ定義共有を作成することが可能となる。

ユーザ定義共有に関するコマンドを以下に示す:
net usershare add sharename path [comment] [acl] [guest_ok=[y|n]] - ユーザ定義の共有の追加または変更
net usershare delete sharename - ユーザ定義の共有の削除
net usershare info [-l|—long] [wildcard sharename] - ユーザ定義の共有の情報の出力
net usershare list [-l|—long] [wildcard sharename] - ユーザ定義の共有の一覧出力

USERSHARE ADD sharename path [comment] [acl] [guest_ok=[y|n]]

sharename というユーザ定義共有の新規作成もしくは修正(上書き)を行なう。

「path」には、公開するディレクトリのシステム上での絶対パス名を指定する。 公開可能なディレクトリには幾つかの制約がある。 グローバルな smb.conf のパラメータである「usershare owner only」、「usershare prefix allow list」、「usershare prefix deny list」を参照のこと。

オプションの「comment」パラメータは、クライアントから共有を参照した際に表示されるコメント文字列を指定する。

オプションの「acl」フィールドは、共有単位でどのユーザに読み取りや書き込みのアクセス許可を与えるかを指定する。 ゲストアクセスは、 smb.conf の「usershare allow guests」パラメータを有効にしない限り行なえない。 ユーザ定義共有の ACL の指定は「user:permission」という形式で行なわれる。user はシステムで有効なユーザ名であり、permission は「F」、「R」、「D」のいずれかである。 「F」は「フルコントロール」、すなわち読み取りと書き込み権を示す。「D」は「拒否」を示し、ユーザの共有へのアクセスを許可しない。「R」は「読み取り専用」、すなわちこの共有への読み取りアクセスのみの許可を示す (ファイルへの書き込みやファイルやディレクトリの新規作成は行なえない)。

「acl」オプションが指定されなかった場合のデフォルトは「Everyone:R」である。これは、認証された全てのユーザが読み取り専用のアクセス権を有することを意味する。

オプションの「guest_ok」パラメータは、smb.conf 中の同名のパラメータと同じ意味を持ち、該当のユーザ定義共有に対するゲストアクセスを許可する。 このパラメータは、 smb.conf 中でグローバルパラメータの「usershare allow guests」が有効になっている時のみ設定できる。
既存のユーザ定義共有を修正するコマンドは個別に用意されておらず、 「net usershare add [sharename]」コマンドを用いて、sharename 共有を新規のオプションを指定して上書き変更することになる。 Samba の smbd デーモンは、接続のあったタイミングでユーザ定義共有の変更を検知するのため、変更は即座に反映される。ユーザ定義共有の追加、削除、変更により、smbd の再起動を行なう必要はない。
USERSHARE DELETE sharename

指定されたユーザ定義共有を削除する。 Samba smbd デーモンは即座にこの変更を検知するが、削除された共有にその時点で接続中のユーザが切断されることはない。
USERSHARE INFO [-l|—long] [wildcard sharename]

指定されたパターンに合致するユーザによって所有されている、もしくは全てのユーザ定義共有の情報が表示される。

net usershare info は、実行したユーザが作成したユーザ定義共有の詳細情報を表示するが、ワイルドカード情報 (「*」は1文字以上の文字にマッチし、「?」は1文字のみにマッチする) が指定されている場合は、それにマッチした共有のみを表示する。 「-l」もしくは「—long」オプションが指定されていた場合、他のユーザが作成したユーザ定義共有の情報も表示する。

各共有についての情報は以下のような形式で設定される: [foobar] path=/home/jeremy comment=testme usershare_acl=Everyone:F guest_ok=n これは、「net usershare add」コマンドで現状設定可能なユーザ定義共有の設定一覧である。
USERSHARE LIST [-l|—long] wildcard sharename

実行したユーザが所有し、指定されたワイルドカードにマッチする、もしくは全てのユーザのユーザ定義共有の一覧を表示する。

net usershare list は、実行したユーザが作成したユーザ定義共有の一覧を表示するが、ワイルドカード情報 (「*」は1文字以上の文字にマッチし、「?」は1文字のみにマッチする) が指定されている場合は、それにマッチした共有のみを表示する。 「-l」もしくは「—long」オプションが指定されていた場合、他のユーザが作成したユーザ定義共有の情報も表示する。

net