グループ別にフォルダを共有する

 当たり前の話だが、自分のフォルダは他のユーザからは利用できない。そこで、共有フォルダを作成し、グループに所属するユーザがそのフォルダを利用できるような設定を行う。
 手順は次のとおり。

  1. グループの作成
  2. ユーザをグループに所属させる
  3. グループで使用するディレクトリの作成
  4. グループで使用するディレクトリをSambaで公開する

1.グループの作成

 まずはグループを作成する。例えば「group1」という名前のグループを作成する場合、次のコマンドを実行する。

# groupadd group1

 ちなみにグループを削除するなら、groupdelコマンドを同じように実行すればよい。

2.ユーザをグループに所属させる

 作成済みのユーザを、グループに所属させる。ユーザごとに行う場合、次のコマンドを実行する。

# usermod -G グループ名

 ※複数のグループに所属させる場合、グループ名をカンマ(,)で区切って指定する

 ただし、このコマンドを実行すると、以前所属したグループが全て消えてしまい、新しく指定したグループで上書きされてしまう。グループに所属させる場合、まずは以下のコマンドを実行し、現在所属しているグループを確認してから、usermodコマンドを実行するのが望ましい。

# groups ユーザ名

 ユーザごとに行うのが面倒な場合、groupファイルを直接編集する方法がある。次のコマンドを実行して、groupファイルをviで開く。

# vigr

 groupファイルに登録されているグループの情報が表示される。ここで、所属させるユーザをカンマ(,)で区切って列挙する。例えばgroup1にuser1、user2を所属させる場合、次のように指定する。

group1:x:502:user1, user2

 ※502の部分は環境によって異なる

 編集後、保存して終了しようとすると、次のメッセージが現れる。

このシステムではシャドウグループが使われています。
今すぐ /etc/gshadow を編集しますか [y/n]?

 ここでyを入力してEnterキーを押す。先ほどと同じような画面が現れるので、同様にユーザを登録して保存・終了する。

group1:!x::user1, user2

3.グループで使用するディレクトリの作成

 Sambaで公開するディレクトリを作成する。例えば/home/group1というディレクトリを、group1に所属するユーザで共有する場合、次のように作成する。

# mkdir /home/group1
# chmod 775 /home/group1
# chgrp group1 /home/group1

4.グループで使用するディレクトリをSambaで公開する

 作成したディレクトリを共有フォルダとして公開するには、Sambaの設定ファイルを編集しなければならない。/etc/samba/smb.confを開き、次の行を追加する。

[group1]
        path = /home/group1
        comment = public Directory
        read only = no
        force group = group1
        force create mode = 664
        force directory mode = 775
        valid users = @group1

 編集後、Sambaを再起動する。

# /etc/rc.d/init.d/smb restart

5.動作確認

 ネットワークコンピュータから、Sambaサーバを開く。ユーザ名のフォルダのほかに、group1フォルダが現れたはず。


[ TOP ]