「top」コマンドを発行して「c」キーを押した後、他の人が自分のランニングの詳細を表示できないようにする方法

「top」コマンドを発行して「c」キーを押した後、他の人が自分のランニングの詳細を表示できないようにする方法

私たちの学校では、プログラムを実行するためにサーバーを共有します。

これを使用すると、topサーバーで何が起こっているかを確認できます。キーを押すと、c私の研究室のデータ情報を含むコマンドの詳細も表示できます。

それでは、他の人が自分の走り情報を見ないようにするにはどうすればよいですかc?プロセス名(javaまたはawk)のみを表示し、詳細を隠すことはできますか?

答え1

ユーザー情報を隠す

したがって、topデフォルトの動作はボックス内のすべてのプロセスを表示することであり、他のユーザーがその詳細を見ることを実際に拒否することはできません。これを行う方法については、次のU&L Q&Aで説明します。

3番目のリンクは興味深いアプローチを示しています。カーネルパッチhidepidLinuxカーネル3.3+で呼び出されるオプションが追加されました。mount

$ mount /proc -o remount,hidepid=2

非表示PID = 0(デフォルト) は前の動作を意味します。誰でも読むことができるすべての/proc/PID/*ファイルを誰でも読むことができます。

hidepid=1これは、ユーザーが/proc//ディレクトリにアクセスできず、自分のディレクトリにのみアクセスできることを意味します。 cmdline、sched*、statusなどの機密ファイルは、他のユーザーの攻撃から保護されます。 proc_pid_permission() で権限の確認が行われ、ファイルの権限は変更されないため、特定のファイルモードを要求するプログラムは混同されません。

hidepid=2hidepid=1 とすべての /proc/PID/ が他のユーザーに表示されないことを意味します。これは、プロセスが存在するかどうか(kill -0 $ PIDなどの他の方法で知ることができます)を隠すのではなく、プロセスのeuidとegidを隠すことを意味します。これは、特定のデーモンが高い権限で実行されているか、他のユーザーが特定の機密プログラムを実行しているか、他のユーザーがどのプログラムを実行しているかなど、実行中のプロセスに関する情報を収集する侵入者の作業を複雑にします。作成します。

グループ番号=XXXすべてのプロセスに関する情報を収集できるグループを定義します(例:hidepid = 0モード)。 sudoersファイルまたは他のファイルにroot以外のユーザーを配置する代わりに、このグループを使用する必要があります。ただし、システム全体でタスクを監視してはならない信頼できないユーザー(デーモンなど)をこのグループに追加しないでください。

メモ:公開の可否を制御する機能は提供されておらず、ユーザーが以下の詳細を表示できないように制限するだけです/proc

他のユーザーに情報を隠す

使用中に他のユーザーが表示できないようにするには、top次の手順を実行します。

$ top -u '!root'
...
top - 00:04:16 up 2 days,  1:51,  1 user,  load average: 0.00, 0.01, 0.05
Tasks:  80 total,   1 running,  79 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1016156 total,   204212 free,    80104 used,   731840 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   755224 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
  597 dbus      20   0   26668   1924   1364 S  0.0  0.2   0:08.55 dbus-daemon
  633 polkitd   20   0  536264  10216   4796 S  0.0  1.0   0:00.35 polkitd
  634 libstor+  20   0    8576    816    668 S  0.0  0.1   0:00.49 lsmd
 1305 postfix   20   0   91956   4292   3232 S  0.0  0.4   0:00.09 qmgr
 4199 vagrant   20   0  152392   3020   1424 S  0.0  0.3   0:01.53 sshd
 4200 vagrant   20   0  116196   2928   1796 S  0.0  0.3   0:00.05 bash
 5622 postfix   20   0   91776   4044   3028 S  0.0  0.4   0:00.00 pickup
 5672 user1     20   0  116096   2864   1808 S  0.0  0.3   0:00.04 bash
 5758 user1     20   0  157624   2136   1544 R  0.0  0.2   0:00.00 top

シンボル、'!root'意味いいえrootユーザーを表示します。

関連情報