後で削除できる他のユーザーのためにLinuxでフォルダを作成する方法は?

後で削除できる他のユーザーのためにLinuxでフォルダを作成する方法は?

docker-compose up -d --buildプロジェクトを実行するには、コマンドを実行する必要があります。一部のコンテナはボリュームにファイルを書き込み、そのボリュームはマイホームフォルダ内のサブフォルダにマウントされます。

後で私のユーザーと一緒にこのフォルダを削除したいのですが、technicaldockerは私が知らないか、私のシステムにない他のユーザーとしてサブフォルダを作成するため、 "sudo"コマンドなしでフォルダを削除できません。

technical@mysystem $ ls -l ~
drwxr-xr-x. 5 polkitd   root      4096 Apr 21 16:18 data_1
drwxr-xr-x. 5        33 tape      4096 Apr 21 16:18 data_2

例:33私のシステムでは不明なユーザーであり、tapeグループは不明なグループです(dockerで使用されていると仮定します)。

technical@mysystem $ groups
technical wheel docker

technical@mysystem $ awk -F':' '{ print $1}' /etc/passwd | paste -sd " "
root bin daemon adm lp sync shutdown halt mail operator games ftp nobody systemd-network dbus polkitd sshd postfix technical

フォルダでsetuidorビットを試しましたが、setgid結果は同じです。 dockerコンテンツを含むフォルダを削除しようとすると、sudo権限がないとこれを実行できないというエラーが発生します。

technical@mysystem $ rm -R data_1/
rm: cannot remove ‘data_1/myfile’: Permission denied

質問:

  • これらのフォルダを処理する正しい方法は何ですか?
  • technical自分のユーザー(権限なし)でこれらのフォルダ(dockerで書かれた)の内容をどのように削除できますかsudo
    • これを達成するには、フォルダにどの権限を設定する必要がありますか?
  • これらのファイル/アイテムはLinuxファイルシステムのどこに配置する必要がありますか?
  • この状況で従うべきベストプラクティスとパターンは何ですか?

ベストアンサー1

残念ながら、Linuxはシステム権限を処理する方法で読み取りおよび実行権限のみを設定するため、現在のユーザーとグループでこれらのファイルを変更することはできません。問題をそのまま解決するには、ルートアクセスが必要です。ルートになったら、次のコマンドを実行してファイルまたはフォルダの所有権を変更できます。chown technical:technical data1

これで、上記がオプションではないと仮定すると、独自のフォルダを作成して権限を設定できます。テクニカルグループのユーザーが使用できるフォルダを作成するには、テクニカルユーザーとして次のコマンドを実行します。mkdir data3これにより、data3というフォルダが作成され、ランタイムユーザーとグループの両方が「技術」である必要があります。ls -l data3

フォルダとファイルの配置はユーザーによって異なり、通常はシステム上の既存のデータフロー(存在する場合)に従うのが最善です。個人的には、私はこのようなファイルを/home/technical/Documentsに入れて覚えてアクセスしやすくしたいと思います。特に、グループがファイルにアクセスする唯一の人ではない場合は、さらにそうです。

ベストプラクティスによると、技術グループが所有するすべてのファイルは、そのグループのメンバーのみを対象としています。グループが使用するファイルを含むフォルダにアクセス許可を設定したら、これを行うことができます。これにより、setfacl -d -m g:technical:rw /home/technical/Docmuents指定されたフォルダに作成された新しいファイルにのみ読み取りおよび書き込み権限が適用されます。もちろん、書き込みアクセス権を追加したり、rwxグループに付与したくない権限を削除したりすることもできます。

残念ながら私はdockerの経験はありませんが、他のサービスのように聞こえ、新しいファイルが作成される場所とそのファイルの所有者を指定する設定ファイルがあります。これがあなたのサーバーであれば、さらなる調査でそれを変更することができます。

おすすめ記事