SLAAC использует EUI64, который сгенерирован от MAC48 для гарантии уникального адреса. Можно иметь успех с изменением EUI64 путем изменения MAC48; однако, Вы, вероятно, хотите просто, вручную присваивают IP-адрес.
Лучше использовать команду who am i
так, чтобы Вы не получали дублирующуюся информацию и имели для парсинга ее при использовании просто плоскости who
.
$ who am i
sam pts/6 2013-07-22 13:21 (192.168.1.110)
Humourously можно также использовать это:
$ who mom likes
sam pts/6 2013-07-22 13:21 (192.168.1.110)
Можно проанализировать его использование sed
так, чтобы это был просто хост, они соединяются от:
$ who am i | sed 's/.*(\(.*\))/\1/'
192.168.1.110
Можно также видеть всю историю логинов пользователя с помощью last
команда:
$ last <username>
Например:
$ last sam | less
sam pts/6 192.168.1.110 Mon Jul 22 13:21 still logged in
sam pts/6 192.168.1.110 Mon Jul 22 11:02 - 11:02 (00:00)
sam pts/5 192.168.1.110 Thu Jul 18 14:41 - 16:41 (01:59)
sam pts/5 192.168.1.110 Wed Jul 17 15:56 - 16:28 (00:31)
sam pts/5 192.168.1.110 Wed Jul 17 15:56 - 15:56 (00:00)
sam pts/4 192.168.1.110 Wed Jul 17 14:28 - 14:29 (00:00)
sam pts/7 192.168.1.110 Tue Jul 16 16:27 - 16:50 (00:23)
who
jmcnama pts/4 Jul 18 13:30 (9010-b6m2cx1.nmgco.com)
Последнее поле, кто произвел, обеспечивает:
username=jmcnama
remote=$(who | awk -v user=$username '$1 == user {print $(NF)}')
Могут быть другие проблемы, как пользователь зарегистрирован многократно. Последняя команда может помочь также. в последний раз имеет проблему - она может усечь длинные значения исходного узла.
Насколько я знаю, что нет никакого/proc "файла", который показывает источник входа в систему. В последний раз и кто данные хранятся в / var//log/wtmp (обычно). Таким образом, это - единственный источник файла для этой информации.
who a a
, или еще лучше,who -m
, который является тем, что подразумевается при наличии любых двух аргументов. – Paulo Almeida 22.07.2013, 20:35