これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド bindfs です。
プログラム:
NAME
bindfs ‐ ユーザー空間で --bind をマウント
SYNOPSIS
バインドファイル [オプション] DIR マウントポイント
DESCRIPTION
ディレクトリの内容を別のディレクトリにミラーリングするための FUSE ファイルシステム。
さらに、ミラーリングされたディレクトリ内のファイルのアクセス許可を変更できます。
FILE 所有権
-u、 --force-user、 -o 強制ユーザー=...
指定されたユーザーが所有するすべてのファイルを作成します。 また、マウントにチョウンを引き起こします
ファイルシステムは常に失敗します。
-NS、 --force-group=グループヘッド, -o 強制グループ=...
指定されたグループが所有するすべてのファイルを作成します。 また、マウントされた上でchgrpを引き起こします
ファイルシステムは常に失敗します。
-NS、 --パーマ=パーミッション, -o パーマ=...
コンマまたはコロンで区切られた chmod のようなパーミッション指定のリストを取り、
許可ビットに順番に適用されます。 見る PERMISSION 仕様 以下で
詳細。
これは、表示されたときに既存のファイルの許可ビットがどのように変更されるかにのみ影響します
マウントされたディレクトリに。 --create-with-perms を使用して権限を変更できます
新しく作成されたファイルがソース ディレクトリに取得されます。
いつものように、root ユーザーはここで設定された権限に拘束されないことに注意してください。 君は
を使用して、真の読み取り専用マウントを取得できます -r.
-NS、 --ミラー=ユーザー1:ユーザー2:..., -o ミラー=...
コンマまたはコロンで区切られたユーザーのリストを受け取ります。
すべてのファイルの所有者。 ここにリストされていないユーザーは、引き続きアクセスできます。
パーミッションで許可されている場合はマウントします。
'@' を前に付けたグループ名を付けて、グループのすべてのメンバーをミラーリングすることもできます。
グループ。 これは、ファイルが持つように表示されるグループを変更しません。
-NS、 --ミラーのみ=ユーザー1:ユーザー2:..., -o ミラーのみ=...
いいね - 鏡 ただし、他のすべてのユーザー (root を除く) のアクセスは許可されません。
--map =ユーザー1/ユーザー2:@グループ1/@グループ2:..., -o マップ=...
与えられたマッピング ユーザー1/ユーザー2、user1 が所有するすべてのファイルは、user2 が所有するものとして表示されます。
user2 がファイルを作成すると、そのファイルは下層のディレクトリで user1 に chown されます。
ファイルが user2 に chown されると、基になるファイルの user1 に chown されます。
ディレクトリ。 グループでも同様に機能します。
XNUMX 人のユーザーまたはグループは、左側に XNUMX 回、右側に XNUMX 回しか表示されません。
マッピングのリストのスラッシュの右側。 現在、オプションは --force-user,
-- 強制グループ, - 鏡, --作成-*, --chown-* --chgrp-* 上書きする
このオプションの対応する動作。
ルートとしてマウントする必要があります。
FILE 作成 ポリシー
新しいファイルとディレクトリが作成されるため、それらはマウンタによって所有されます。 bindfs で許可できる
これが発生するか (通常のユーザーのデフォルト)、所有者を変更しようとする可能性があります。
ファイルを作成するプロセスの uid/gid (ルートのデフォルト)。 それも
bindfs が所有者を特定のユーザーまたはグループに変更しようとする可能性があります。
--ユーザーとして作成、 -o ユーザーとして作成
新しいファイルとディレクトリの所有者とグループを uid と gid に変更しようとします
発信者の。 これは、マウンターが root である場合にのみ機能します。 こちらもデフォルト
マウンタが root の場合の動作 (mount --bind を模倣)。
--マウンタとして作成、 -o マウンタとして作成
すべての新しいファイルとディレクトリは、マウンターによって所有されます。 これがデフォルトです
非ルート マウンタの動作。
--ユーザー用に作成=user, -o ユーザー用に作成=...
新しいファイルとディレクトリの所有者を、ここで指定されたユーザーに変更しようとします。
これは、マウンターが root である場合にのみ機能します。 このオプションは、
--create-as-user および --create-as-mounter オプション。
--グループの作成=グループヘッド, -o グループの作成=...
新しいファイルとディレクトリの所有グループをグループに変更しようとします
ここで指定します。 これは、マウンターが root である場合にのみ機能します。 このオプションはオーバーライドします
--create-as-user および --create-as-mounter オプション。
--create-with-perms=パーミッション, -o create-with-perms=...
--perms のように機能しますが、新しいファイルのパーミッション ビットに適用されます。
ソース ディレクトリ。 通常、新しいファイルのパーミッションは、作成するファイルに依存します
プロセスの設定と umask。 このオプションは、それらを変更するために使用できます
アクセス許可を削除するか、完全にオーバーライドします。 見る PERMISSION 仕様 以下で
詳細。
チョウン/CHGRP ポリシー
chown/chgrp 呼び出しの動作は変更できます。 デフォルトでは、それらはに渡されます
bindfs が偽の所有者/グループを表示するように設定されている場合でも、ソース ディレクトリ。 chown/chgrp 呼び出し
ユーザーがミラーリングされたファイルを chmod するのに十分なミラーリングされた権限を持っている場合にのみ成功します
そして、マウンターは実際のファイルを chmod するのに十分なパーミッションを持っています。
--chown-通常、 -o chown-ノーマル
基になるファイルを chown しようとします。 これがデフォルトです。
--chown-無視、 -o chown-無視
chown を成功させます (ユーザーが十分なミラー化された権限を持っている場合) が、実際には成功します
なし。 結合された chown/chgrp は、実質的に chgrp のみの要求に変わります。
--chown-拒否、 -o チャウン拒否
chown が常に「許可が拒否されました」エラーで失敗するようにします。 chown/chgrp の組み合わせ
リクエストも失敗します。
--chgrp-通常、 -o chgrp-ノーマル
基になるファイルの chgrp を試みます。 これがデフォルトです。
--chgrp-無視、 -o chgrp-無視
chgrp を成功させます (ユーザーが十分なミラー化された権限を持っている場合) が、実際には失敗します
なし。 chown/chgrp の組み合わせは、効果的に chown のみのリクエストに変換されます。
--chgrp-拒否、 -o chgrp-拒否
chgrp が常に「許可が拒否されました」エラーで失敗するようにします。 chown/chgrp の組み合わせ
リクエストも失敗します。
CHMOD ポリシー
chmod 呼び出しは、デフォルトでソース ディレクトリに転送されます。 これにより、予期しない
bindfs が許可ビットを変更している場合の動作。
--chmod-通常、 -o chmod-通常
基になるファイルの chmod を試みます。 ユーザーが持っている場合、これは成功します
ミラーリングされたファイルをchmodするための適切なミラーリングされたアクセス許可と、マウンターが持っている
実際のファイルを chmod するのに十分な権限。 これはデフォルトです(動作するために
デフォルトの mount --bind と同様)。
--chmod-ignore、 -o chmod-無視
chmod を成功させます (ユーザーが十分なミラー化された権限を持っている場合) が、実際には成功します
何もありません。
--chmod-拒否、 -o chmod 拒否
chmod が常に「許可が拒否されました」エラーで失敗するようにします。
--chmod-filter=パーミッション,, -o chmod-filter=...
元のリクエストに適用される前に、chmod リクエストの許可ビットを変更します。
ファイル。 --perms と同じ許可構文を受け入れます。 見る PERMISSION 仕様
詳細は以下をご覧ください。
--chmod-allow-x、 -o chmod-許可-x
ファイルの実行可能属性の設定とクリアを許可します (ただし、
ディレクトリ)。 --chmod-ignore とともに使用すると、chmod は実行ビットのみに影響します
他のビットへの変更は破棄されます。 --chmod-deny を使用すると、すべての chmod
ファイルの実行ビットを除くすべてのビットを変更しても、エラーで失敗します。
'アクセス拒否'。 このオプションは --chmod-normal では何もしません。
XATTR ポリシー
拡張属性はデフォルトでミラーリングされますが、基盤となるすべてのファイル システムではありません
xattrs をサポートします。
--xattr-なし、 -o xattr-なし
拡張属性を完全に無効にします。 すべての操作は「操作ではない」を返します
サポートされました」。
--xattr-ro、 -o xattr-ro
拡張属性を読み取り専用にします。
--xattr-rw、 -o xattr-rw
拡張属性を読み書き可能にします (デフォルト)。 読み取り/書き込み権限
マウント内の (変更されている可能性がある) ファイル許可に対してチェックされます。
レート LIMITS
マウント ポイントを介した読み取りと書き込みは調整できます。 スロットリングはスリープすることで機能します
各読み取りまたは書き込み要求に必要な時間。 スロットリングは XNUMX つのグローバルを課します
プロセスごとまたはユーザーごとの制限ではなく、すべてのリーダー/ライターの制限。
現在、実装は完全に公平ではありません。 見る バグ を参照してください。
--read-rate=N, -o 読み取り率=N
最大でも許可します N 読み取るバイト/秒。 N 次のいずれかを持っている可能性があります
(1024 ベース) サフィックス: k, M, G, T.
--書き込み速度=N, -o 書き込み速度=N
上記と同じですが、書き込み用です。
雑則 OPTIONS
-NS、 - 助けて
ヘルプメッセージを表示して終了します。
-V、 - バージョン
バージョン情報を表示して終了します。
-NS、 -- 許可しない、その他、 -o 他を許可しない
追加しません -o 他を許可する FUSE オプションへ。 これにより、マウントが
現在のユーザーのみがアクセスできます。
-- 現実的な許可、 -o 現実的な許可
マウンターがミラー化されていない場合、ミラーリングされたファイルの読み取り/書き込み/実行権限を非表示にします
基礎となるファイルへの読み取り/書き込み/実行アクセス権を持っています。 としてマウントすると役に立たない
root には常にフル アクセス権があるためです。
(バージョン 1.10 より前では、このオプションはデフォルトの動作でした。違反していると感じました。
最小の驚きの原則は、後方への小さな休憩を正当化するのに十分ひどいものです-
互換性があります。)
--ctime-from-mtime、 -o ctime-from-mtime
UNIX ファイルには XNUMX つの標準タイムスタンプがあることを思い出してください。 時間 (最後のアクセス、つまり読み取り
時間)、 mtime (最終コンテンツ変更時間) ctime (最後のコンテンツまたはメタデータ
(inode) 時刻変更)
このオプションを使用すると、各ファイルとディレクトリの ctime がその mtime から読み取られます。 の
つまり、(メタデータの変更ではなく) コンテンツの変更のみが行われます。
ミラーリングされたファイルの ctime に反映されます。 基になるファイルの ctime は引き続き
普通に更新。
-- 非表示ハードリンク、 -o 非表示ハードリンク
すべてのファイルのハード リンク数を 1 として表示します。
--マルチスレッド、 -o マルチスレッド
マルチスレッド モードで bindfs を実行します。 bindfs はそれ以外の場合はスレッドになるように設計されていますが、
安全ですが、現在、一部のデバイスにセキュリティ上のリスクをもたらす可能性のある競合状態があります
使用例。 見る バグ を参照してください。
FUSE OPTIONS
-o オプション
ヒューズのオプション。
-NS、 -o ro
マウントを厳密に読み取り専用にします。 これにより、ルートからの書き込みも防止されます。 もしも
必要なのはこれだけです。そうすれば (Linux 2.6.26 以降) より効率的なマウントを取得できます。
mount - 練る その後 mount -o 再マウント、ro.
-NS、 -o debug
デバッグ出力を有効にします (-f を暗黙的に示します)。
-f フォアグラウンド操作。
PERMISSION 仕様
当学校区の -p オプションは、XNUMX 進数の許可のコンマまたはコロンで区切られたリストを取ります
ビットまたは許可ビット操作の記号表現。 象徴的な
の表現に基づいています。 chmod(1) コマンド。 setuid、setgid、スティッキー ビット
無視されます。
このプログラムは、chmod シンボリック表現を次のオペランドで拡張します。
`D' (右側)
のように動作します X ただし、ディレクトリにのみ適用されます (実行可能ファイルには適用されません)。
`d'と `f' (左側)
このディレクティブをディレクトリ (d) またはファイル (f) のみに適用するようにします。
例えば ゴドウ すべてのディレクトリからグループ書き込みビットを削除します。
`u'、 `g'、 `o' (右側)
のユーザー (u)、グループ (g)、またはその他 (o) 許可ビットを使用します。
元のファイル。
例えば ぐ=う ユーザーの許可ビットをグループにコピーします。
ウグオ 他のユーザーの権限を所有者とグループに追加します。
例
o-rwx 他からすべての許可ビットを削除します。
g=rD グループがすべてのファイルを読み取り、すべてのディレクトリに入ることを許可しますが、それ以外は許可しません。
0644,a+X
許可ビットを 0644 に設定し、すべてのユーザーの実行ビットをすべてのユーザーに追加します。
ディレクトリと実行可能ファイル。
og-x:og+rD:u=rwX:g+rw
その他およびグループの実行ビットを削除し、読み取りおよびディレクトリ実行を追加
その他およびグループ、読み取り、書き込み、および実行のユーザー権限を設定します
directory/executable、グループの読み取りと書き込みを追加します。
例
バインドファイル -u WWW -g nogroupが -p 0000,u=rD 〜/私のウェブサイト ~/public_html/mysite
「www」ユーザーのみがサイトを読めるように、public_html で Web サイトを公開します。
バインドファイル -M フー、バー、1007、@mygroup -p 0600,u+X DIR mntに
「foo」、「bar」、UID 1007 を持つユーザー、および
グループ「マイグループ」。 許可ビットを 0600 に設定して、指定されたユーザーに
読み取り/書き込みアクセス、およびディレクトリと実行可能ファイルのユーザー実行ビットを追加します。
バインドファイル -ono-allow-other,perms=aw ソディール ソディール
ディレクトリを読み取り専用にし、現在のユーザーのみがアクセスできるようにします。
/ホーム/ボブ/共有 /var/www/共有/ボブ ヒューズ.bindfs perms=0000:u+rD 0 0
例 /etc/fstab エントリ。 引数を区切るにはコロンを使用する必要があることに注意してください
コンマはオプションの区切り文字であるため、パーマに /etc/fstab .
bindfs#/ホーム/ボブ/共有 /var/www/共有/ボブ ヒューズ perms=0000:u+rD 0 0
古いシステムでは、この非推奨の fstab 構文が必要になる場合があります。
注意事項
setuid および setgid ビットは、マウント内では効果がありません。 これは必要なセキュリティです
FUSEの特徴。
MacFuse はデフォルトでファイルの内容をキャッシュします。 これは、ソース ファイルの変更が反映されないことを意味します。
マウント ポイントの下に常にすぐに表示されます。 -o ローカルキャッシュがありません 無効にするために使用できます
キャッシュ。
使用時 --ミラー[のみ] @あるグループ、 bindfs はグループのメンバーへの変更を認識しません
リスト。 bindfs を送信しています シグSR1 シグナルにより、ユーザー データベースが再読み込みされます。
onworks.net サービスを使用してオンラインで bindfs を使用する