Необходимо будет сделать это использование нескольких подходов. Можно использовать who
команда для наблюдения, кто имеет активную оболочку или ssh
'редактор в Ваш VM.
$ who | cut -d' ' -f1 | sort -u
saml
Можно также использовать команду user
видеть, кто вошел в систему. Это пользователи, которых в настоящее время показывают как активные в файлы журнала /var/run/utmp
& /var/log/wtmp
.
$ users | sed 's/ /\n/g'|sort -u
saml
Если Вы используете команду who
Вы заметите следующие строки:
$ who
saml tty1 2013-10-06 10:05 (:0)
saml pts/0 2013-10-06 10:07 (:0.0)
saml pts/5 2013-10-07 11:48 (:0.0)
2-й столбец (tty1) означает, что кто-то подключен локально к одному из физических терминалов. Дополнительно Вы заметите что 5-й столбец той строки шоу (':0). Это означает, что кто-то сидит на VM непосредственно и выполняет X рабочих столов.
Другие строки как pts/0
псевдотерминалы и обычно, что создается, когда Вы создаете вкладки в терминале гнома или ssh в поле.
Этот немного более хитер. Действительно нет способа знать это непосредственно тем более, что сервер VNC интегрируется в X. Поиск процесса ничего не показывает.
$ pgrep -f vnc
$
Вы могли искать сетевые соединения VNC:
$ sudo netstat -anpt | grep -i Xorg
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 3948/Xorg
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN 3948/Xorg
tcp 0 0 192.168.1.3:5900 192.168.1.20:41064 ESTABLISHED 3948/Xorg
tcp 0 0 :::6000 :::* LISTEN 3948/Xorg
Здесь Вы видите, что существует соединение VNC от IP 192.168.1.3 для портирования 5900, который обычно используется для VNC, но этот порт ни в коем случае не является гарантией.
Когда соединение уходит, соединения похожи на это:
$ netstat -anpt | grep -i Xorg
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 3948/Xorg
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN 3948/Xorg
tcp 0 0 :::6000 :::* LISTEN 3948/Xorg
Дополнительно мы могли узнать, выполняет ли X-сервер VNC, который это, кажется.
$ lsof -p 3948 | grep -i vnc
Xorg 3948 root mem REG 253,0 394420 48693751 /usr/lib/xorg/modules/extensions/libvnc.so
Вероятно, Ваш лучший выбор предназначаться в на пользователях VNC состоит в том, чтобы устранить, кто находится на самом деле физически на поле (пользователи на физических терминалах, таких как tty1), любой, который имеет сессию GNOME, выполняет X рабочих столов и вероятно использует VNC для соединения с ним.
$ ps -f -p $(pgrep -f gnome-session)
UID PID PPID C STIME TTY TIME CMD
root 22240 3943 0 Sep29 ? 00:00:00 /usr/bin/gnome-session
Я не знаю о возможности блокировки метаданных метаданных файловой системы в кэше, но (если нет слишком много файлов), вы можете регулярно прочитать метадали, чтобы сохранить его в кэш:
find /path/to/dir -printf ""