まずUNIX上でユーザ共有の情報を格納するディレクトリを作成します。ディレクトリの位置はどこでもかまいません。
# mkdir /usr/local/samba/var/locks/usershares
# chgrp users /usr/local/samba/var/locks/usershares
# chmod 1770 /usr/local/samba/var/locks/usershares
ここではディレクトリの所有者をusersグループに設定して書き込み権を与えています。ディレクトリ書き込み権のあるユーザのみが共有を作成することが可能となりますので留意してください。
次にsmb.confで下記の設定を行います。
[global]
...
usershare path = /usr/local/samba/var/locks/usershares
usershare max shares = 10
usershare pathには先ほど作成したディレクトリのパスを、usershare max sharesにはユーザ共有の最大数(デフォルトは0なので作成不可)を設定します。この設定を行ったSambaを起動してから、usersグループに所属する一般ユーザで以下のようにnet usershare addコマンドを実行してください。
$ net usershare add usershare1 /tmp/a comment1
図1のように/tmp/aがusershare1という共有名、comment1という共有コメントで共有されます。なおコメントは任意です。
図1:共有フォルダ (画像をクリックすると別ウィンドウに拡大図を表示します)
ちなみにセキュリティの問題上、共有可能なディレクトリは自身が所有者のディレクトリに限定されています。この制約は「usershare owner only = no」の設定により解除できますが、デフォルトのままにしておくことをお勧めします。
共有の定義は/usr/local/samba/var/locks/usershares以下のusershare1(共有名)というファイルに格納されます。作成したユーザ共有の情報は以下のようにして参照できます。デフォルトでは読み取り専用の共有となっています。
$ net usershare info usershare1
[usershare1]
path=/tmp/a
comment=comment1
usershare_acl=Everyone:R
guest_ok=n
作成したユーザ共有は、以下のようにして削除できます。
$ net usershare delete usershare1
また現在作成されているユーザ共有の一覧はnet usershare listコマンドで取得可能です。ユーザ共有の設定を変更したい場合は、再度net usershare addコマンドで共有の設定を最初からやり直す必要があります。
|