ホームディレクトリのフォルダへのユーザー権限の付与

ホームディレクトリのフォルダへのユーザー権限の付与

私はresiliosyncをインストールしただけで正常に動作します。デフォルトでは「rslsync」ユーザーを作成します。私のホームディレクトリにすべての同期プロジェクトを含む既定のフォルダがあります。もちろん、現在rslsyncはそのフォルダにアクセスできません。

私のホームディレクトリに「sync」というディレクトリを作成しました。同期ディレクトリには、「dropbox」と「resilio」という2つのフォルダも作成しました。 "resilio"フォルダを "rslsync"が使用する方法で実行されるファイルのデフォルトの場所として使用したいと思います。

ユーザー「rslsync」に、自分のホームディレクトリの「resilio」フォルダへの読み取り、書き込み、および実行アクセスを許可する最良の方法は何ですか?自分のユーザーグループに「rslsync」ユーザーを追加するだけで、必要なすべてのアクセス権を取得できますか?

ベストアンサー1

プログラムは、パスする必要があるファイルとディレクトリが次のいずれかの条件を満たす場合にファイルにアクセスできます。

  • プログラムの実行中にアクセス権を持つユーザーです。
  • プログラムの実行中にアクセス権を持つすべてのグループ。
  • 誰でもアクセス可能です。

(実際にすべての場合に当てはまるわけではありませんが、ここでは十分近似値です。)

どのユーザーがどのグループのメンバーであるかは表示されません。この情報は、ユーザーがログインしている場合にのみ使用されます。これにより、そのログインセッションのプログラムがこれらのグループとして実行されます。したがって、ユーザーをグループに追加しても問題は解決されません。

ユーザーには、rslsyncそのディレクトリとそのディレクトリにつながるディレクトリチェーン全体へのresilioアクセスを許可する必要があります。にアクセスするには、/home/liam/sync/resilioプログラムにディレクトリナビゲーション権限(x通常のファイルの場合は「実行」を意味する属性)と読み取り権限が必要です。//home/home/liam/home/liam/sync/home/liam/sync/resilio/home/liam/sync/resilio

あなたはそれを使用することができますアクセス制御リスト:

setfacl -m u:rslsync:x /home/liam /home/liam/sync
setfacl -R -m u:rslsync:rx /home/liam/sync/resilio
setfacl -R -d -m u:rslsync:rx /home/liam/sync/resilio

最初の行は、rslsyncが先行ディレクトリを通過できることを保証します。 2行目では、rslsyncがrootにルートを持つディレクトリツリー全体にアクセスできるようにします/home/liam/sync/resilio。このフラグを持つ3行目は、-d新しく作成されたファイルのデフォルトACLを設定します。このフラグがないと、rslsyncは新しく作成されたファイルを読み取ることができません。

一部のアプリケーションは、デフォルトのACLよりも制限的なACLを使用してファイルを生成できます。これは特にファイルを別の場所からコピーした場合に発生します。この場合、rslsync はこれらのファイルを読み取ることができません。 rslsyncが常にファイルを読み取ることができるようにする別の方法があります。つまり、/home/liam/sync/resilio別の権限を使用してツリーの代替ビューを作成することです。あなたはこれを行うことができますファイルシステムバインディング。他のユーザーがbinfsファイルシステムにアクセスできるようにするには、rootとしてインストールする必要があります。次の行を使用できます/etc/fstab

bindfs#/home/liam/sync/resilio /var/lib/rslsync/resilio fuse ro,force-user=rslsync,perms=u+rD:go=

おすすめ記事