Excelの文書ファイルをLinux上のSambaで共有してみた。一応動いている。 maskとgroupに注意。
Sambaで共有を用意する
% sudo vi /etc/samba/smb.conf
# A shared folder for project Foo
# \\server\share-foo
[share-foo]
comment = Foo
browseable = yes
read only = no
create mask = 660
path = /home/jdoe/share-foo
public = no
cerate mask = 660として、同じgroupのメンバなら読み書きできるようにする。
Unix groupの準備
共有用のgroup fooを用意して、メンバーを加える。
% sudo groupadd foo
% sudo adduser jdoe foo
% sudo adduser asmith foo
Sambaアカウントの準備
必要ならSambaにもユーザを登録。
% sudo smbpasswd jdoe
% sudo smbpasswd asmith
ディレクトリと権限の用意
group foo, mode 660でディレクトリを用意してsetgidする。
% sudo mkdir /home/jdoe/share-foo
% sudo chown jdoe:foo /home/jdoe/share-foo
% sudo chmod 660 /home/jdoe/share-foo
% sudo chmod g+s /home/jdoe/share-foo
smb.confで設定したとおりにディレクトリを用意する。 group fooで読み書きできるようにmode 660とする。 配下のファイルやフォルダがgidを継承するようにsetgidしておく。
Excelで文書ファイルを用意
Excelの文書ファイルを用意して、ブックを共有設定する。設定を変えるとき はブック共有を一次的に解除しないといけないので注意。
% ls -al /home/jdoe/share-foo
drwxrwsr-x jdoe foo .
drwxr-sr-x jdoe jdoe ..
(jdoe creates foo.xls)
% ls -al /home/jdoe/share-foo
drwxrwsr-x jdoe foo .
drwxr-sr-x jdoe jdoe ..
-rw-rw---- jdoe foo foo.xls
編集して保存する
編集して保存するとこうなる。
% ls -al /home/jdoe/share-foo
drwxrwsr-x jdoe foo .
drwxr-sr-x jdoe jdoe ..
-rw-rw---- jdoe foo foo.xls
(asmith edits foo.xls)
% ls -al /home/jdoe/share-foo
drwxrwsr-x jdoe foo .
drwxr-sr-x jdoe jdoe ..
-rw-rw---- asmith foo foo.xls
Excelで共有されたブックを開いて保存すると、新しいファイルを作って置き 換えるらしく、ownerは変わってしまう。でもgroupは変わらないので、group のメンバは読み書きできる。
もっといい方法があれば知りたい。
Other Articles
- 12 May 2011 : onlispja ebook
- 07 May 2011 : 文字校正用ユーティリティ
- 28 Apr 2011 : htdigest設定支援スクリプト
- 15 Apr 2011 : HudsonからJenkinsへの移行
- 11 Apr 2011 : Emacs Lispでert.elを使ってユニットテスト
- 25 Mar 2011 : Jenkins導入
- 11 Mar 2011 : 地震 / Earthquake in Japan