高森太郎のノート

このページについて

このページは、高森太郎がノート的に何でも書くページです。
主に勉強したこと、自分が知った知識や方法などを中心に、適当に、メモ的に、書き留めてます。

 | 

2011年10月15日 (土曜日)

[]FreeNAS 8.0.1 で、ユーザが専用の個人フォルダと共有のフォルダを持てるようにパーミッションを設定する方法。 FreeNAS 8.0.1 で、ユーザが専用の個人フォルダと共有のフォルダを持てるようにパーミッションを設定する方法。 - 高森太郎のノート を含むブックマーク はてなブックマーク - FreeNAS 8.0.1 で、ユーザが専用の個人フォルダと共有のフォルダを持てるようにパーミッションを設定する方法。 - 高森太郎のノート

http://forums.freenas.org/showthread.php?1122-Set-Permission-to-allow-users-to-share-a-common-folder-amp-have-private-personal-folder

を翻訳するつもりで書いてみます。

つもりなので誤訳やらなんやらたくさんあると思いますが突っ込んでください。

最終的にどういう状況を目指しているかというと、

2人のユーザ

  • alpha
  • beta

がそれぞれ、アクセスすると自分だけがアクセスできるネットワークドライブ(この場合ユーザalphaは「alpha」と、ユーザbetaは「beta」という名前)があり、一方さらに「alpha-beta」という共有は2人ともアクセスできるようにしたいと言う設定をFreeNASで行うにはと言う話。

その時、保存する場所の実体は

/mnt/strage/home/

以下としている。

また前提条件として

  • すでにボリュームの作成は終わっており/mnt/以下にきちんとマウントされている
  • サービスではSSHが稼働中

と言う事になっている。

なお、この原文を公表してくださったprotosd氏に感謝申し上げます。

問題があれば削除します。(ってえーごではなんとかけばいいんだろ…)

introduction

個人用のフォルダを持ちたいが、グループ共有もしたい2人以上のユーザがいる場合にこのガイドを始めてください。

注:このガイドは、FreeNAS 8.0.1 Beta 4に基づきます。また、ここのフォルダは例です。'/mmt/strage'は、(SSHを使用してログインした)FreeNASのシステム上のコマンドラインから「df]を行う事により見つけることの出来るボリュームと名前に置き換えてください。(訳注:dfコマンドの結果から)'/mmt/(あなたのボリューム名)'を示す行を探してください。

おそらく私は、いくつかのミスを気付かずにしているはずですので、より良い方法を提案したり、より良い説明が追加出来る場合は、訂正しますので私に知らせてください。私がここで説明していないことに関係があると思われる多くの設定は、サービス -> CIFSの下にあります。(詳細はFreeNASのドキュメント「CIFS_Shares」(リンク先)を参照してください)

(1)保存場所(フォルダ)の作成

各ユーザがファイルを保存する予定のフォルダ、共有するフォルダを作成します。これらはコマンドラインから実行してください。以下のサンプルでは「strage」をあなたのマウントポイントの名前と置き換えてください。

(訳注:SSHでログインして)

mkdir /mnt/storage/home/alpha
mkdir /mnt/storage/home/beta
mkdir /mnt/storage/home/alpha-beta

(2)フォルダ共有用のグループの作成

共有フォルダの共有設定に使うためのユーザーグループを設定します。

(訳注:WebGUIから)

Account(アカウント) -> Groups(グループ) -> Add Gruop(Addグループ)

と進みます。ここでは'Gorup ID'(グループID)と'Group Name'(グループ名)が表示されているはずです。

Gorup ID(グループ名)
任意の重複しない番号を入力します(通常は4桁)(訳注:呼び出すと自動的に重複しない一番小さい番号が入ってくるのでこのままでもよい)
Gorup Name(グループ名)
任意の単語や名前を入力します。(訳注:ここでは'commongrup'と設定しています。以降自分のグループ名に読み替えてください)

[OK]

をクリックします。(訳注すると少し待って画面が戻ります)

(3)ユーザを追加

この例では、alpha と言うユーザと、betaというユーザを追加します。

(訳注:WebGUIから)

Account(アカウント) -> Users(ユーザ) -> Add User(ADDユーザ)

と進みます。(訳注:ここでAdd Userと言う画面が表示されているはずです)

User ID(ユーザID)
重複しない一意の番号を入力します。
User Name(ユーザ名)
ユーザ名を入力します。ここでは例として'alpha'と入力します。
Primary Group
(プライマリグルーアップ):ドロップダウンリストから'nogroup'を探して選択します。
Home Directory(ホームディレクトリ)
あなたがこのユーザに、SSHコマンドラインにログインさせる、あるいは、Webの管理GUIにログインを許可する/nonexistent とします。

(訳注:ユーザIDとパスワードをWindowsのログインのものを合わせておくと、そのIDでログインされているWidnowsからはパスワードを入力せずに自動的に認証できるようになります)

[OK] をクリックします。

これを繰り返して、もう一つ「beta」と言う別のユーザを、もう一度'Primary Group(プライマリグループ)'を'nogroup'と選択して作ります。

この時、このユーザがSHを使用してコマンドラインにアクセスしたり、Web管理GUIにログインするようにする予定が無ければ、'Disble logins(ログインを無効にする)'のチェックを入れます。

(4)パーミッションを設定し、グループを追加する

ここで(訳中:SSHでログインした)コマンドラインから以下を実行します。

su (ここで管理者のパスワードを入力します)
chown alpha /mnt/storage/home/alpha
chown beta /mnt/storage/home/beta
chgrp commongrp /mnt/storage/home/alpha-beta
chmod 770 /mnt/storage/home/alpha-beta
chmod 700 /mnt/storage/home/alpha
chmod 700 /mnt/storage/home/beta

(最初の2行はオーナーを変更し、3行目は共有ディレクトリのグループを変更しています)

最後の3行は、読み取り/書き込み/実効のアクセス権限を、オーナーだけか、グループができる様にするか、それ以外かを設定しています。

これによってグループ'commongrp'に追加されているユーザーは共通のフォルダ'/mnt/storage/home/alpha-beta' にアクセス出来るようになります。

このグループに追加するには

(WebGuiから)

Account(アカウント) -> Users(ユーザ) -> View All Users(全てのユーザを表示)

と進み'Auxillary Groups(補助グループ'をクリックして、(訳注:左側の一覧の中から)'commongrp'を探して選択し、右側のリストに(訳注:真ん中の>>をを押して)右側のリスト追加してOKを押します。

ユーザ'beta'についてもこれを繰り返します。

これで、ユーザ alpha と beta は、一般グループ 'commongrp'に属するので、両方ともそのフォルダ(訳注:/mnt/storage/home/alpha-beta)内のファイルに何かをする事ができます。

グループ'commongrp' に2人のユーザを加えることで、そのフォルダのオーナーが'commongrp' (コマンド 'chgrp commongrp alpha-beta' )で所有されている場合、2人のユーザにフォルダーへ共通のアクセス権限を与える役割を果たします。これはグループアクセスが許可されているためです。(コマンド chmod 770 alpha-beta)

(5) CIFS/Samba(Windows共有)の設定をする。

あなたがCIFS / sambaのためにこれを設定している場合は、彼らが自分のファイルにアクセスできるように、共通フォルダ「alpha-beta」だけでなく、ステップ1で作った各ユーザのホームフォルダにも、以下の手順を繰り返してください。

(WebGUIの share(共有) -> CIFS Sheres -> Add CIFS sheresにて)

Name(名前)
ネットワーク共有で、Windows エクスプローラでフォルダをブラウズする時に表示される名前です。
Path(パス)
あなたのボリューム上で作成された共有フォルダの場所です。
例: /mnt/storage/alpha-beta , /mnt/storage/home/alpha
Browseable to Network Clients
ネットワーク共有の一覧トに表示されるかどうかを意味します。Directパスを知っているか、あらかじめドライブとして設定されている場合を除き、チェックを入れる必要があります。
Guest Account(ゲストアカウント)
'Allow Guest Access(ゲストアクセス許可)'を設定すると、アカウントがなくてもアクセスできるようになります。

(6)CIFSサービスを有効にする。

(訳注: Services(Service) -> Control Services(サービスの制御)の画面で)CIFSサービスを有効にします。

ここ(訳注:Services(Service) -> CIFS)に関連する2つのアクセス許可設定がります。

  • File Mask(ファイルマスク)
  • Directory Mask(ディレクトリマスク)

これらは両方とも、あなたが新しいファイルやディレクトリ、フォルダを作成する場合に割り当てられるデフォルトのパーミッションを指定するものです。

ファイルについては0600,フォルダーは0700を指定してもよい。

これを空のままにしておくと、デフォルトでそれぞれ0666、0777になります。

訳注というか

最後の手順(5)については、CIFSの設定「ホームディレクトリの有効化」なぞして、「ホームディレクトリ」を「/mnt/strage/home/」とするなどすれば、一つ一つCIFSの共有を設定しなくても便利にできる様な気がする。(これはRCで追加された項目だったと思うのでこの手順では触れられていないのだと思う)

ちょっと試したところ結構上手く出来そう…な気がする。

<後日追記:できました。どこかでまとめます>

というわけでそれらを追補して、時間があれば手順を作ってみます。

 | 
ページの一番上へ