read/write
ディレクトリのサブフォルダであるこのフォルダの/root
にmike.jackson
へのアクセス許可を与える必要があります(何らかの理由で誰かが/ root内にこのフォルダを作成します):
/root/Products/Metadata/ApplicationServers/Port8080/Marker/
与えられたls -la
これは許可です:
total 12
drwxrwxrwx 3 webproject_deployer users 4096 Sep 1 2010 .
drwxrwxrwx 3 webproject_deployer users 4096 Aug 4 2010 ..
drwxrwxrwx 6 webproject_deployer users 4096 Mar 15 2011 xml
そこで、mike.jackson
をusers
グループに追加します
users:x:100:mike.jackson
それでも、彼はフォルダにアクセスできません。
これはowner
設定です。
webproject_deployer:x:1071:100::/home/webproject_deployer:/bin/bash
ユーザーはLDAP
によって認証され、mike.jackson
も認証されます。ここで何をすればいいですか? sudoersにmike.jackson
を追加したくないのですが、追加したとしても、このフォルダー内でSudo
として悪意のあるコマンドを実行しないことを保証できません。
ユーザーには、階層内のすべてのフォルダーに対するx
権限が必要です。通常、/root
ディレクトリは、root
以外のユーザーがそのディレクトリに入るのを許可しないので、そこから始めて、下に向かって進んでください。
可能であれば、これを別の場所に移動することをお勧めします。注意しないと、rootに属するデータが誤って公開される可能性があります。
パーミッションチェーンを確認する必要があります。
考え:
マイクアクセス可能/
/rootにアクセスをマイクできます
/root/Productsにマイクアクセスできます
.。
/root/Products/Metadata/ApplicationServers/Port8080/Marker/mikeにマイクアクセスできます
読み取りは必要ありませんが、フォルダーをトラバースするための実行は最小限です。
考え: chmod 711
ツリー上の各フォルダに
前述のようにこれが機能しない理由は、ユーザーがその特定のディレクトリだけでなくフルパスにアクセスする必要があるためです。最良の答えは、/ rootからディレクトリ構造を削除することです。ルートディレクトリで何もしてはいけません。また、ルートディレクトリから何かをインストールしたり実行したりすることを許可してはなりません。 rootにログインする必要があるのは、システム管理タスクの場合のみです。昇格された特権でアプリケーションを実行する必要がある場合は、それをサービスとして実行するか、ApacheまたはMySqlなどの特定のユーザーを作成します。
これに関する大きな問題の1つは、アプリケーションがroot権限を持つという現在の構造を調べることです。そのため、攻撃者が悪用によって悪意のあるコードを実行した場合、ホストシステムに莫大な損害を与える可能性があります。アプリケーションが自身のアカウントに関連付けられている場合、それ自体に対する脅威である可能性があり、大規模なシステムに対する脅威ではありません。
そうは言っても、これがWebアプリケーションの場合、サーバーには755のアクセス許可が必要であり、それに接続するユーザーは拡張機能としてサーバーの特権を持ちます。このユーザーがサーバーを管理する権限を必要とするローカルユーザーである場合は、その特定のアプリケーションに関連付けられているグループにユーザーアカウントを追加し、それに応じてグループのアクセス許可を設定します。