0

Linux アプリケーションを別のユーザーとして実行したい ( Other の次に root )。私のアプリケーションでは、ソケット プログラムを作成し、raw ソケットを使用してデータベース サーバーに ping を実行しています。アプリケーションをルートとして実行すると、サーバーに ping を実行できます。ただし、root 以外の通常のユーザーとして実行すると、データベース サーバーに ping を実行できません。

通常のユーザーでプロセスを実行する方法を教えてください。プロセスがどのユーザーで実行されているかを確認するにはどうすればよいですか?

ありがとう、

4

2 に答える 2

1

使用する:

sudo -u <username> <command ...>

プロセスに関する情報 (とりわけ、所有者のユーザー名を含む) を次の方法で表示できます。

ps -Af | grep <process name>

また、ルート以外のプログラムは raw ソケットを使用できません。これは、プログラムの設計に欠陥があることを示しています。

于 2012-10-17T17:57:19.933 に答える
1

すでにWugが答えたように、「sudo」を使用して別のユーザーとして実行します(sudoersで許可されている場合)。また、プロセスを所有しているユーザーを確認したい場合は、「top」や「ps aux」などの別のツールを使用できます。

于 2012-10-17T18:04:22.273 に答える