ユーザーがファイルを「読み取り専用」ディレクトリに移動できるようにする

ユーザーがファイルを「読み取り専用」ディレクトリに移動できるようにする

私はUbuntu 20.04を使用しており、ホームディレクトリにJupyterノートブックを使用しているユーザーがいます。その後、誰でも読むことはできますが、編集や削除はできないJupyterサーバーの共有ディレクトリにノートブックを移動できます。所有者だけを削除して編集できます。

私はsetgidと固定ビットを試しましたが、最後の問題は、ファイルに権限がある場合は所有者だけが変更できる664ように変更する方法がないことです。644

答え1

これは(おそらく)デフォルトのACLを介して実行できます。ファイルがアップロードされるディレクトリ(ファイルがアップロードされるディレクトリではない可能性があります)で、次の設定を行う必要があります。

setfacl -m d:g::rx /path/to/dir
setfacl -m d:o::rx /path/to/dir

答え2

説明していただきありがとうございます。グループ内の誰もがファイルを追加できるようにし、ファイルを追加した後にその権限を644に変更したいと思います。ファイルシステムイベントのincron実行を使用することをお勧めしますchmodIN_CREATE

具体的には、crontabを編集incrontab -eしてトリガーイベントを追加します。

~/readonlyDirectory IN_CREATE customScript.sh $#

customScript.sh次に、権限を変更する新しいファイルを作成します。

#!/bin/bash
chmod 644 $1

元の答え:

このファイルを変更するには、所有者またはスーパーユーザーである必要があります。所有者にコマンドの実行を要求するchmod 664 filenameか、システム管理者に実行権限を高めるように依頼する必要がありますsudo chmod 664 filename

彼らがあなたに何もすることを許さないならば、あなたがそのディレクトリに書いてはいけない十分な理由があります。

関連情報