web-dev-qa-db-ja.com

/ rootのサブフォルダーにアクセスする許可をどのように与えますか?

read/writeディレクトリのサブフォルダであるこのフォルダの/rootmike.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.jacksonusersグループに追加します

users:x:100:mike.jackson

それでも、彼はフォルダにアクセスできません。

これはowner設定です。

webproject_deployer:x:1071:100::/home/webproject_deployer:/bin/bash

ユーザーはLDAPによって認証され、mike.jacksonも認証されます。ここで何をすればいいですか? sudoersにmike.jacksonを追加したくないのですが、追加したとしても、このフォルダー内でSudoとして悪意のあるコマンドを実行しないことを保証できません。

2
Valter Silva

ユーザーには、階層内のすべてのフォルダーに対するx権限が必要です。通常、/rootディレクトリは、root以外のユーザーがそのディレクトリに入るのを許可しないので、そこから始めて、下に向かって進んでください。

可能であれば、これを別の場所に移動することをお勧めします。注意しないと、rootに属するデータが誤って公開される可能性があります。

5
Daniel Beck

パーミッションチェーンを確認する必要があります。

考え:
マイクアクセス可能/
/rootにアクセスをマイクできます
/root/Productsにマイクアクセスできます
.。
/root/Products/Metadata/ApplicationServers/Port8080/Marker/mikeにマイクアクセスできます

読み取りは必要ありませんが、フォルダーをトラバースするための実行は最小限です。

考え: chmod 711ツリー上の各フォルダに

2
user218473

前述のようにこれが機能しない理由は、ユーザーがその特定のディレクトリだけでなくフルパスにアクセスする必要があるためです。最良の答えは、/ rootからディレクトリ構造を削除することです。ルートディレクトリで何もしてはいけません。また、ルートディレクトリから何かをインストールしたり実行したりすることを許可してはなりません。 rootにログインする必要があるのは、システム管理タスクの場合のみです。昇格された特権でアプリケーションを実行する必要がある場合は、それをサービスとして実行するか、ApacheまたはMySqlなどの特定のユーザーを作成します。

これに関する大きな問題の1つは、アプリケーションがroot権限を持つという現在の構造を調べることです。そのため、攻撃者が悪用によって悪意のあるコードを実行した場合、ホストシステムに莫大な損害を与える可能性があります。アプリケーションが自身のアカウントに関連付けられている場合、それ自体に対する脅威である可能性があり、大規模なシステムに対する脅威ではありません。

そうは言っても、これがWebアプリケーションの場合、サーバーには755のアクセス許可が必要であり、それに接続するユーザーは拡張機能としてサーバーの特権を持ちます。このユーザーがサーバーを管理する権限を必要とするローカルユーザーである場合は、その特定のアプリケーションに関連付けられているグループにユーザーアカウントを追加し、それに応じてグループのアクセス許可を設定します。

0
Matty