FreeNAS: ルートとしてデータセットを入力する際の権限の問題 (cli)

FreeNAS: ルートとしてデータセットを入力する際の権限の問題 (cli)

FreeNASに慣れる機会として自宅NASを設置しています

私のスペック:
FreeNAS-11.3-U2
Intel(R) Core(TM) i5-4690 CPU @ 3.50GHz。16GB
DDR3 RAM。OS
: SSD ADATA SP600 250GB で動作します。

私のプール:

  1. NAS01. /mnt/NAS012x 2TBミラー予備が 1 つ (実際のバックアップ/NAS スペース)。ミラーの 2 つのデバイスは WDC WD2003FZEX で、予備は ST2000DL003 です。
  2. S500。/mnt/S5001x 500GB(スクラッチ スペース)。ディスクは ST3500320AS です。また、使用を待機している 6 番目の 1TDB ディスクもあります...

当初、別のコンピューターから外付け HD 上の zfs データセットに約 80 GB のデータをバックアップしました。その後、このようなディスクはインポートできないことを知りました。このデータセットには、元のコンピューターで作成されたスナップショットがありました。

その後、/mnt/pre2012 にマウントされた S500/pre2012 としてデータセットを pool2 に転送することができました (正直に言うと、どうやってやったかは正確には思い出せませんが、zpool と ifs 経由で cli を経由したはずです)。

ある時点で、 を使用してzfs send | recvS500/pre2012@snp1 を NAS01/pre2012 の下の pool1 に転送 (コピーと言ってもいいでしょうか?) しましたが、これは予想外に /mn/mnt/pre2012 の下にマウントされていました。

SMB 共有をテストしてある程度理解し、すべての MAC と Linux ボックスで動作できることを確認した後、保存する予定の内容と使用方法に応じて、プール 1 (NAS01) をさまざまなデータセットに整理する時期が来たと判断しました。これらのデータセットは GUI を使用して作成しました。

結果は、ルートデータセットの構造が次のようになります(zfs list:

NAS01/PRIVATE 55.0G 1.62T 20.5G /mnt/NAS01/PRIVATE
NAS01/PRIVATE/Documents 573M 1.62T 573M /mnt/NAS01/PRIVATE/Documents
NAS01/PRIVATE/Fotos 33.9G 1.62T 33.9G /mnt/NAS01/PRIVATE/Fotos
NAS01/PUBLIC 16.9G 1.62T 96K /mnt/NAS01/PUBLIC
NAS01/PUBLIC/Library 57.6M 1.62T 57.6M /mnt/NAS01/PUBLIC/Library
NAS01/PUBLIC/Movies 15.5G 1.62T 15.5G /mnt/NAS01/PUBLIC/Movies
NAS01/PUBLIC/Music 1.05G 1.62T 1.05G /mnt/NAS01/PUBLIC/Music
NAS01/PUBLIC/Software 299M 1.62T 299M /mnt/NAS01/PUBLIC/Software
NAS01/pre2012 71.3G 1.62T 71.3G /mnt/mnt/pre2012
S500 268G 178G 136K /mnt/S500
S500/SharedScratch 196G 178G 196G /mnt/S500/SharedScratch
S500/pre2012 71.4G 178G 71.3G /mnt/pre2012

SharedScratch は私のネットワークの SMB で正常に動作しています - ゲスト アカウント アクセスと nobody:nobody 所有権のみを使用しています。しかし、それはまた別の話です。

現在、S500/pre2012の構造(またはマウント ポイントの) は次のとおりです。

/mnt//pre2012/120/30/home/
/mnt//pre2012/120/30/MatLab6.5/
/mnt//pre2012/120/80/home/
/mnt//pre2012/120/80/O/
/mnt//pre2012/120/80/usr/
/mnt//pre2012/250/48/home/
/mnt//pre2012/250/80win/

また、Music などの他のフォルダーもありましたが、これをmv(かなり苦労して) NAS01/PUBLIC/Music などに移動できました。

S500/pre2012 の下にあるこれらのフォルダーはすべて、ユーザー が所有していますadmin。これは私が作成した唯一の追加ユーザーです。

私の問題は権限の問題に関連しているようですが、次のようなコマンドを発行するときにrootにsudoしました。:

root@freenas[/mnt/S500/pre2012]#mv 120 /mnt/NAS01/PRIVATE/Documents
mv: chmod: /mnt/NAS01/PRIVATE/Documents/120/30/home/msantos/Reports/Apoptosis: Operation not permitted
mv: chmod: /mnt/NAS01/PRIVATE/Documents/120/30/home/msantos/Reports/.Designability.March.2005.tex.swp: Operation not permitted
mv: /mnt/NAS01/PRIVATE/Documents/120/30/home/msantos/Reports/NMR: File exists
mv: /bin/cp 120 /mnt/NAS01/PRIVATE/Documents/120: terminated with 1 (non-zero) status

フォルダの権限は:

root@freenas[/mnt/S500/pre2012/120]# ll ; ll /mnt/NAS01/PRIVATE/Documents/120
total 26
drwxr-x---+ 4 admin admin uarch 4 Sep 22 21:03 ./
drwxr-x---+ 4 admin admin uarch 4 Sep 22 21:03 ../
drwxr-x---+ 3 admin admin uarch 3 Sep 22 21:14 30/
drwxr-x---+ 5 admin admin uarch 5 Sep 14 15:56 80/
total 2
drwxrwx---+ 3 root admin uarch 3 Sep 22 21:57 ./
drwxrwx---+ 3 admin admin uarch 4 Sep 22 21:57 ../
drwxrwx---+ 3 root admin uarch 3 Sep 22 21:57 30/

ご覧のとおり、この移動では何かをコピーしましたが、すべてをコピーすることはできませんでした。これは移動であるため、さらに心配です。

ここにいくつか宛先フォルダの権限:

root@freenas[~]# ls -lF /mnt/NAS01
total 9
drwxr-xr-x+ 5 admin admin 6 Sep 22 19:16 PRIVATE/
drwxrwx---+ 6 root wheel 6 Sep 22 15:30 PUBLIC/

root@freenas[~]# ls -lFd /mnt/NAS01/*/*
drwxrwx---+ 3 admin admin 4 Sep 22 21:57 /mnt/NAS01/PRIVATE/Documents/
drwxrwx---+ 15 admin admin 19 Sep 22 20:37 /mnt/NAS01/PRIVATE/Fotos/
drwxrwx---+ 2 nobody admin 4 Sep 22 21:03 /mnt/NAS01/PUBLIC/Library/
drwxrwx---+ 5 nobody admin 38 Sep 22 20:13 /mnt/NAS01/PUBLIC/Movies/
drwxrwx---+ 17 nobody admin 36 Sep 22 20:41 /mnt/NAS01/PUBLIC/Music/
drwxrwx---+ 9 nobody admin 9 Sep 22 21:09 /mnt/NAS01/PUBLIC/Software/

PRIVATE および PUBLIC の子データセットはすべて SMB 経由で共有されています。最初のデータセットは管理者ユーザーのみがアクセスできる必要があります。そのため、これらの権限/所有権が必要です。

質問:mvこれらのデータセットにデータを入力するには、ここをどのように使用すれば確実でしょうか?zfs send/recv を使用して特定のデータセット/フォルダーにデータをコピーする方法がわかりません。そのため、最初に試したときに、/mnt/mnt/ の下に pre2012 のコピーが作成されましたが、GUI では共有として使用できません。そのため、 を使用していますmv

さらに、元のデータセットの異なるフォルダーを異なる dst データセットに分類しようとしているため、zfs send/recv でそれがどのように実行できるかわかりません。それは可能ですか?

この時点で、私は少しイライラしています。完全に間違ったことをしたか、FreeNAS の使用方法についての基本的な考え方を理解していないかのどちらかです... あるいはその両方です :-/ いずれにせよ、サーバーにデータを入力するのがこれほど複雑になるとは思っていませんでした。

繰り返しますが、これは FreeNAS を使い始めて 1.5 週間後のことです。長い投稿で申し訳ありません。

今、行き詰まっています。何かヒントがあればありがたいです。

前もって感謝します。

答え1

解決済み... そうですね。

次のようなスレッドから学んだことこれこれそしてこれ次のような問題が複合的に発生していた可能性があります。

  1. データセットを作成するときに、タイプSMBとしてGeneric. これは Samba 共有には問題ありませんが、代償があります。FreeNAS はすぐにcase sensitiveモードを割り当ててしまい、それを変更することはできません。
  2. chmod と smb acl: CLI レベル (chmod) で実行されることは、GUI が行うことと同じではなく、完全に互換性もありません。
  3. 使用する場合はrsync次のように使用してくださいrsync -A --no-perms ...これは私が知っているオプションではありません (たとえば OSX では利用できません)。ACL-Aエントリでうまく機能しているのは何か。
  4. 必ずsudoでroot権限を取得してくださいsudo su -l

私の最終的な解決策は、大文字と小文字を区別したいフォルダのいくつかをやり直すことでした。例:PRIVATE/Documents NFS共有として共有するバージョン 4 では、すべてのユーザーがこの共有に割り当てたユーザー名 (私の場合は admin) としてマウントするように強制します。グループについても同様です。

これにより、データセット タイプを として割り当ててgenericからが可能になりますcase sensitive。また、SMB 共有よりも高速であるようです。

最適ではないかもしれません。しかし、私は主に Mac と Linux (まれに Windows) で使用しているため、問題ないようです。

私は Mac の CLI 経由で共有をマウントしました: 。最初のときのように( )mount -t nfs nas:/mnt/NAS01/PRIVATE/Documents ~/Desktop/NFSの使用は試みませんでした(下記の PS を参照してください)。FinderGo to Server...

Finder、デスクトップ フォルダーを に変換しますNFS -> Documents。ただし、CLI では、 として表示されますNFS

PS: これは NFS 共有を設定して Mac クライアントを使用する 2 回目の試みでしたが、今のところすべて問題ないようです。共有にファイルをコピーするときにファインダーが無限ループに陥り、そのコピーを無限に作成し始めるという最初の奇妙な問題は発生しませんでした。

ここに画像の説明を入力してください

関連情報