Carpe Diem

  Top > スポンサー広告> Samba > Sambaの設定【アクセス権付き】  

スポンサーサイト

-- - --/-- [--] - --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Sambaの設定【アクセス権付き】

2012 - 06/05 [Tue] - 13:28

ファイルサーバであるSambaの設定です。前回の「Sambaの設定」と違い今回はアクセス権をつけます。前回の続きを想定しているのでインストール等はそちらを参考にしてください。

'security' というグループを作成し、 共有フォルダへはそのグループに属するユーザーのみがアクセスできるようにします。

◆共有フォルダの作成
# groupadd security

# mkdir /home/security
# chgrp security /home/security
# chmod 2770 /home/security

この「2770」というパーミッション設定の説明は後述します。

◆設定
# emacs -nw /etc/samba/smb.conf
# 103行目:変更
security = user

# 最終行に以下7行追記
[Security] # テキトーに好きな名前指定
   path = /home/security
   writable = yes
   create mode = 0770
   directory mode = 0770
   share modes = yes
   guest ok = no # ゲストは不許可
   valid users = @security # security グループのみ許可



◆Sambaにユーザ登録
今回testuser というユーザを登録します。注意としてSambaはLinuxとは別にユーザとパスワードを持ちますが、Sambaに登録するユーザはLinuxでも作成しておく必要があります。今回はすでにtestuserがLinux上にあるものとして進めます。またSamba3.0からパスワードファイルの形式がsmbpasswdからtdbsamに変わっているので注意。pdbeditというコマンドを使います。

# pdbedit -a -u testuser
New password: # パスワード設定
Retype new password:


確認したい場合は
# pdbedit -u testuser -v

削除したい場合は
# pdbedit -x testuser

作ったユーザをグループに登録します。
# emacs -nw /etc/group
security:x:1001:testuser ←追記



設定が完了したら再起動
# service smbd restart

これでエクスプローラなどで
smb://localhost

とアクセスするとsecurityフォルダが表示され、開こうとするとパスワードを訊かれるようになります。


◆フォルダのパーミッションについて
アクセス権付き共有フォルダではotherが使えないよう、パーミッションを「770」といった設定にします(設定のcreate mode = 0770など)。しかしこのままだともしtestuserが新しくファイルやフォルダを作成した時、所有グループが
$ mkdir secure
$ ls -la secure

drwxrwx--- 2 testuser testuser 4096 6月 5 11:30 .

といった感じでtestuserで作成されてしまい、他の登録したユーザがアクセスできなくなってしまいます。かと言って毎回ファイルを作成するたびに、所有グループを皆が使用可能な「security」に変更するのは手間です。そこで「作ったファイル・フォルダが自動で『security』になる」方法が今回の
# chmod 2770 〜

というやり方です。今回共有フォルダのパーミッションをするときに
# chmod 2770 〜

という書き方がありました。これはSGID(Set Group ID)を設定しています。このようにディレクトリに対してsgidビットを立てると,ディレクトリ下に作成されるファイルやディレクトリは,ビット設定したものと所有グループやパーミッションが同じになります。つまり

$ mkdir secure
$ ls -la

drwxrws--- 3 root security 4096 6月 5 11:30 .
drwxr-xr-x 6 root root 4096 6月 5 11:27 ..
drwxrws--- 2 testuser security 4096 6月 5 11:30 secure


のように、作ったフォルダのパーミッション、所有グループが親フォルダと同一になります。こうすることで新たにユーザが増えても、皆securityグループには所属しているためどのフォルダにもアクセスできます。また見てわかるように、グループのパーミッションが「rws」という特殊な形になっています。ちなみに設定方法は
$ chmod 2770 〜

$ chmod g+s 〜

とします。

また似たようなものにSUID(Set User ID)があります。こちらは、「実行権を持っているユーザーによってプログラムが実行された場合には、ファイルの所有者の権限で実行される」となります。つまり
rwsr-xr-x 2 root security 4096 6月 5 13:14 test.sh

といったファイルであれば、otherが実行しても、所有ユーザであるrootが実行したとみなされます。
ちなみにSUIDの方は
$ chmod 4770 〜

$ chmod u+s 〜

と設定します。



ソース:
アクセス権付き共有フォルダの作成
複数のユーザーで共有ディレクトリを使いたい
【特殊なアクセス権について】
Sambaの認証をsmbpasswdからtdbへ移行
Samba:Sambaをインストールして、みんなのパソコンからファイルを共有する。

コメントの投稿





管理者にだけ表示を許可する

 | ホーム | 

プロフィール

Cicatrice

Author:Cicatrice
備忘録

検索フォーム

カテゴリ

最新記事

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。