私たちの学校では、プログラムを実行するためにサーバーを共有します。
これを使用すると、top
サーバーで何が起こっているかを確認できます。キーを押すと、c私の研究室のデータ情報を含むコマンドの詳細も表示できます。
それでは、他の人が自分の走り情報を見ないようにするにはどうすればよいですかc?プロセス名(javaまたはawk)のみを表示し、詳細を隠すことはできますか?
答え1
ユーザー情報を隠す
したがって、top
デフォルトの動作はボックス内のすべてのプロセスを表示することであり、他のユーザーがその詳細を見ることを実際に拒否することはできません。これを行う方法については、次のU&L Q&Aで説明します。
3番目のリンクは興味深いアプローチを示しています。カーネルパッチhidepid
Linuxカーネル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ユーザーを表示します。