私は各ファミリーメンバーのディレクトリを含むNASを持っています。
私のユーザー名はすべてのメンバーグループのメンバーです。したがって、すべてのユーザーのフォルダにアクセスできます。
ユーザーディレクトリにファイルを配置するときは、そのファイルが親ディレクトリから所有権を取得したいと思います。または、特定の権限を取得します。
私の妻のディレクトリは、所有権がzoe:zoeで、権限がrwxrwx---である「zoe_folder」です。
touch file.txt
妻のディレクトリ(またはサブディレクトリ)でrootとしてコマンドを実行した場合、file.txtの所有権はroot:rootであり、特権はrw-r--r--です。 zoe:zoeの所有権(または回避策としてrw-rw-rw-権限)が必要です。
もちろん、どのコマンドも実行する必要はありませんchmod
。chown
NAS、クライアントPCはWindowsです。コンソールを使用してNASにログインできず、毎回権限を変更することはできません。
どんなアイデアがありますか?
答え1
私の考えであなたが探しているものは次のとおりです。
使う設定そのディレクトリ内のすべての新しいファイルが同じになるように、各ユーザーのディレクトリにグループディレクトリとして;
umask
0022のように見えるようにシステムを0002に設定します。umask
削除既存の権限は、デフォルトの権限である0777(ディレクトリ)および0666(ファイル)とは異なります。新しい設定では、ファイルのデフォルト権限が0644から0664に変更され、ディレクトリのデフォルト権限が0755から0775に変わります。あなたが提供した詳細について私が理解したように、あなたのシステムで動作します。
一つ入れる設定すべてのサブディレクトリでfind
次のコマンドを使用します。しかし、 ホームディレクトリがユーザーディレクトリの上にあることを確認してください。ls
無効な起動ディレクトリを使用すると、実行されたすべての操作を元に戻すのが少し難しくなる可能性があるため、簡単に一覧表示します。:
find ./ -type d -mindepth 1 -maxdepth 1 -exec chmod --preserve-root g+s '{}' \;
指定されたオプションは次のことを行います。
-type d
ファイルタイプ「ディレクトリ」のすべての内容を返します。
-mindepth 1
権限が変更されないように、開始ディレクトリのリストを防止します。
-maxdepth 1
独自のサブディレクトリにドリルダウンせずに、最初のレベルのサブディレクトリを一覧表示します。
-exec
テストに合格したプロジェクトごとに、次のコマンドを実行します。これは「{}」の略です。
--preserve-root
権限の変更が誤ってルートディレクトリ(およびファイルシステム全体)に適用されるのを防ぐchmodの保護。
何が影響を受けるかわからない場合は、次の引数なしでfind
コマンドを実行してください。-exec
find ./ -type d -mindepth 1 -maxdepth 1
、これは引数で使用するコマンドに渡されるすべてのファイルのリストを提供します-exec
。
冗長性
少し検索の最後にこの質問を見つけました。 可能すでに(部分的に)ここに答えています。
ディレクトリ内のすべてのフォルダ/ファイルに対してデフォルトのファイル権限を設定するには?
許可された回答は、設定方法に関する段階的なチュートリアルを表します。基本権限ディレクトリ用https://www.linuxquestions.org/questions/linux-desktop-74/applying-default-permissions-for-newly-created-files-within-a-specific-folder-605129/
このような場合があることを確認してください。