ディレクトリ内でのファイル作成を許可しながら、ディレクトリの名前変更や移動を禁止するにはどうすればよいですか?


3

ディレクトリ構造の例:

 /userA-directory/
        freespace-for-userA
        /THE-UNMOVABLE-UNRENAMABLE-PROTECTED-DIR/
             userA-files
             /userA-directories/
             freespace-for-userA

保護されたディレクトリ内で特定のuserAに完全な書き込みおよび作成権限を与えたいが、userAがそのコンテナディレクトリの名前を変更したり移動したりすることはできません。dirsの名前や場所に触れることはありませんが、内部は完全に自由です。また、userAは親ディレクトリも所有しています。

これを達成する最良の方法は何でしょうか?

私が到達できる解決策の現在のレベルはこれです(@nobarの助けを借りて):

同じディレクトリ内外のファイル作成操作を許可しながら、ディレクトリ名の変更を禁止するにはどうすればよいですか?


例は説明よりも複雑です。どのようなアクセスを提供しvarious-userA-files-and-directoriesますか?
nobar

私は答えを書くことは十分質問を理解していないので、私はヒントを与えるでしょう:Linuxファイルシステム(参照の「GROUP」機能を使用するchownと、chmodスタータ用)。
-nobar

複雑な例で申し訳ありませんが、単純化します。
ヨハン

私はそれを直接行う方法を知りません。別の場所のディレクトリへのシンボリックリンクを使用して、問題を解決できる場合があります。
-nobar

回答:


1

私が理解していれば、あなたがしようとしていることは非常に一般的です-これは単に共有フォルダを作成することです。

たぶんあなたが欠けているのは、ディレクトリの名前を変更することは、そのディレクトリの内容を変更するのと同じ許可によって制御されないという事実です-共有ディレクトリの名前はその親ディレクトリのレベルで保護されます。

最も単純なケースでは、あなたがする必要があるのは次のとおりです:

chmod o-w parent ## prevent others from modifying the parent directory
chmod o+rwx parent/THE-UNMOVABLE-UNRENAMABLE-PROTECTED-DIR ## others can write

ただし、前述の方法では、すべてのユーザーが共有ディレクトリを変更できます。より高度なセットアップでは、ターゲットディレクトリのOWNERまたはGROUP、あるいはその両方を操作できます。

/parent -- OWNER:you, GROUP:you
   /THE-UNMOVABLE-UNRENAMABLE-PROTECTED-DIR/ -- OWNER:userA, GROUP:userA
      /userA-files-and-directories/ -- OWNER:userA, GROUP:userA

chownおよびを使用chmodして、のプロパティを操作しますTHE-UNMOVABLE-UNRENAMABLE-PROTECTED-DIR。を使用してプロパティを表示できますls -l

OWNERとGROUPを別々の値に設定することもできますが、これはおそらく、複数のユーザーを許可し、誰がアクセスできるかを制御する場合にのみ必要です。


答えてくれてありがとう、しかしそれは私が必要としていたものとは正確に違う。親ディレクトリはuserAスペースです。質問をもう少し明確にします。
ヨハン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.