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
- 13 Oct 2017: 『テスト駆動開発』
- 19 Oct 2016: 『新装版 達人プログラマー 職人から名匠への道』
- 19 Aug 2016: 『プログラミングElixir』
- 20 Oct 2015: Migrating from git-media to git-lfs
- 04 Oct 2015: Git Large File Storageクライアントのインストール
- 12 Aug 2015: isbn.rb
- 22 Apr 2015: 「なるのか、なすのか?」(To Be Or To Do?)