Puan girişlerinde "son" çıktıda IP bilgisinin eksik olmasının nedenleri?


18

Beş CentOS 6 linux sistemim var ve sadece garip bir sorunla karşılaştım. olduğum tüm linux sistemlerinde kullanıcı kimliğimde ... Bu, lastkomuttan hariç tuttuğum girişlerden gelen sorunun bir örneğidir .. .

mpenning pts/19                        Fri Nov 16 10:32 - 10:35  (00:03)
mpenning pts/17                        Fri Nov 16 10:21 - 10:42  (00:21)
bill     pts/15       sol-bill.local   Fri Nov 16 10:19 - 10:36  (00:16)
mpenning pts/1        192.0.2.91       Fri Nov 16 10:17 - 10:49 (12+00:31)
kkim14   pts/14       192.0.2.225      Thu Nov 15 18:02 - 15:17 (4+21:15)
gduarte  pts/10       192.0.2.135      Thu Nov 15 12:33 - 08:10 (11+19:36)
gduarte  pts/9        192.0.2.135      Thu Nov 15 12:31 - 08:10 (11+19:38)
kkim14   pts/0        :0.0             Thu Nov 15 12:27 - 15:17 (5+02:49)
gduarte  pts/6        192.0.2.135      Thu Nov 15 11:44 - 08:10 (11+20:25)
kkim14   pts/13       192.0.2.225      Thu Nov 15 09:56 - 15:17 (5+05:20)
kkim14   pts/12       192.0.2.225      Thu Nov 15 08:28 - 15:17 (5+06:49)
kkim14   pts/11       192.0.2.225      Thu Nov 15 08:26 - 15:17 (5+06:50)
dspencer pts/8        192.0.2.130      Wed Nov 14 18:24   still logged in
mpenning pts/18       alpha-console-1. Mon Nov 12 14:41 - 14:46  (00:04)

Yukarıdaki pts giriş girişlerimden ikisinin, kendisiyle ilişkilendirilmiş bir kaynak IP adresi olmayan görebilirsiniz. CentOS makinelerimin sistemleri paylaşan diğer altı kullanıcı daha var. Girişlerimin yaklaşık% 10'u bu sorunu görüyor, ancak başka hiçbir kullanıcı adı bu davranışı sergilemiyor . /var/log/secureKaynak IP adresi olmayan girişler için giriş yoktur .

Sorular

Bu sistemlerde tuttuğum komut dosyaları (ağ altyapımızın çoğunu kontrol eden) göz önüne alındığında, bununla biraz ürkütüyorum ve girişlerimin zaman zaman kaynak adreslerini kaçırmasına neyin neden olacağını anlamak istiyorum.

  • Neden pts satır girişleri için last -igösterilir (ayrıca bu cevaba bakınız)0.0.0.0 )
  • Davranışı makul olarak açıklayacak herhangi bir şey (kötü amaçlı etkinlik dışında) var mı?
  • Bash tarih zaman damgası dışında, sorunu izlemek için yapabileceğim başka şeyler var mı?

Bilgilendirme

Bu başlatan olay beri, etkin bashtarih zaman damgası (yani HISTTIMEFORMAT="%y-%m-%d %T "içinde .bash_profile) ve aynı zamanda ilave bir kaç başka bash geçmişi kesmek ; ancak bu önceki olaylarda neler olduğuna dair ipucu vermez.

Tüm sistemler CentOS 6.3'ü çalıştırıyor ...

[mpenning@typo ~]$ uname -a
Linux typo.local 2.6.32-279.9.1.el6.x86_64 #1 SMP Tue Sep 25 21:43:11 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
[mpenning@typo ~]$

DÜZENLE

Eğer kullanırsam last -i mpenning, bunun gibi girişler görüyorum ...

mpenning pts/19       0.0.0.0          Fri Nov 16 10:32 - 10:35  (00:03)
mpenning pts/17       0.0.0.0          Fri Nov 16 10:21 - 10:42  (00:21)

Cevaplamaya çalışanlar için not: Komut veya GUI ile giriş screenyapmadım . Tüm girişlerim SSH'den; ödül ödülünü almak için, yalnızca SSH aracılığıyla sağlanan girişleri açıklamak için yetkili referanslar vermeniz gerekir last -i 0.0.0.0.

EDIT 2 (ewwhite'ın soruları için)

/etc/resolv.conf( şirketimin bilgilerini gizlemek için yukarıdaki çıktıda .localaddrs kullandığımı unutmayın last)

[mpenning@sasmars network]$ cat /etc/resolv.conf
nameserver 192.0.2.40
nameserver 192.0.2.60
domain mycompany.com
search mycompany.com
[mpenning@sasmars network]$

/etc/hosts bilgi (bu özelleştirilmiş ana makineler dosyasının yalnızca bu sorunları olan makinelerden birinde bulunduğunu unutmayın)

[mpenning@sasmars network]$ cat /etc/hosts
127.0.0.1       localhost.localdomain localhost
192.0.2.44      sasmars.mycompany.com sasmars
::1             localhost6.localdomain6 localhost6

## Temporary kludge until I add reverse hostname mappings...
## Firewalls
192.0.2.254     a2-inet-fw1
192.0.2.253     a2-inet-fw2
192.0.2.254     a2-wan-fw1
192.0.2.253     a2-wan-fw2
192.0.2.201     a2-fab-fw1
192.0.2.202     a2-fab-fw2
192.0.2.203     t1-eds-fw1
192.0.2.42      sasvpn
192.0.2.246     sasasa1
192.0.2.10      sasoutfw1
## Wireless
192.0.2.6       saswcs1
192.0.2.2       l2wlc3
192.0.2.4       l2wlc4
192.0.2.12      f2wlc5
192.0.2.16      f2wlc6
192.0.2.14      f2wlc1
192.0.2.8       f2wlc2
[mpenning@sasmars network]$

sftpÇıktı /var/log/secure*

Dec 26 10:36:37 sasmars sshd[26016]: pam_sm_authenticate: called (pam_tacplus v1.3.7)
Dec 26 10:36:37 sasmars sshd[26016]: pam_sm_authenticate: user [mpenning] obtained
Dec 26 10:36:37 sasmars sshd[26016]: tacacs_get_password: called
Dec 26 10:36:37 sasmars sshd[26016]: tacacs_get_password: obtained password
Dec 26 10:36:37 sasmars sshd[26016]: pam_sm_authenticate: password obtained
Dec 26 10:36:37 sasmars sshd[26016]: pam_sm_authenticate: tty [ssh] obtained
Dec 26 10:36:37 sasmars sshd[26016]: pam_sm_authenticate: rhost [192.0.2.91] obtained
Dec 26 10:36:37 sasmars sshd[26016]: pam_sm_authenticate: trying srv 0
Dec 26 10:36:38 sasmars sshd[26016]: Accepted password for mpenning from 192.0.2.91 port 55118 ssh2
Dec 26 10:36:38 sasmars sshd[26016]: pam_sm_setcred: called (pam_tacplus v1.3.7)
Dec 26 10:36:38 sasmars sshd[26016]: pam_unix(sshd:session): session opened for user mpenning by (uid=0)
Dec 26 10:36:38 sasmars sshd[26018]: pam_sm_setcred: called (pam_tacplus v1.3.7)
Dec 26 10:36:38 sasmars sshd[26018]: subsystem request for sftp
Dec 26 10:37:20 sasmars sshd[26016]: pam_unix(sshd:session): session closed for user mpenning
Dec 26 10:37:20 sasmars sshd[26016]: pam_sm_setcred: called (pam_tacplus v1.3.7)

NİHAİ ÇÖZÜNÜRLÜK

Bkz aşağıda Cevabımı


Hepsi ssh ile mi bağlanıyor? Çok sayıda büyük çok kullanıcılı CentOS 6.x sistemim var. Orada aynı şeyi görüp göremeyeceğimi göreceğim.
ewwhite

@whwhite, teşekkür ederim ... tüm girişler ssh olmalıdır (ve bazen GUI konsolu üzerinden, ancak kutuyu açarken sadece GUI'den giriş yapıyorum). Başka bir uzaktan oturum açma protokolü etkin değil.
Mike Pennington

last -i mpenningGösterinin çıktısı boşlukları gösteriyor mu?
JeffG

Oh, doğru .. Bunu bir EL6.3 sunucusunda çoğaltmam gerekiyor ...
ewwhite

/ Var / log / secure ve / var / log / messages'dan giriş çıktısı sağlayabilir misiniz? IP değerinin PAM üzerinden geçirilen bir parametre olduğuna inanıyorum. PAM IP'yi düzgün gösteriyor mu?
Matthew Ife

Yanıtlar:


4

script RedHat ve Debian arasındaki davranış farklılıkları

Bağlantılı Kütüphaneler

CentOS 6.3 - kod (util-linux-ng 2.17.2)

#ldd /usr/bin/script

linux-vdso.so.1 =>  (0x00007fff077ff000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f309f5d1000)
libutempter.so.0 => /usr/lib64/libutempter.so.0 (0x00007f309f3cf000)
libc.so.6 => /lib64/libc.so.6 (0x00007f309f03b000)
/lib64/ld-linux-x86-64.so.2 (0x00007f309f7e1000)

Ubuntu 12.04 - kod (util-linux 2.20.1)

#ldd /usr/bin/script

linux-vdso.so.1 =>  (0x00007fff375ff000)
libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fc0d7ab0000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc0d76f1000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc0d7cdc000)

PTY

Akış yukarı kaynak kodu baz , scripther iki sürümden yeni pty açın. Aşağıdaki test.

Ubuntu 12.04

john@U64D211:~/tmp$ ls /dev/pts
0  1  5  8  ptmx
john@U64D211:~/tmp$ script
Script started, file is typescript
john@U64D211:~/tmp$ ls /dev/pts
0  1  2  5  8  ptmx
john@U64D211:~/tmp$ last -i
john     pts/0        0.0.0.0          Sat Jan  5 09:09   still logged in   
reboot   system boot  0.0.0.0          Sat Jan  5 09:08 - 09:52  (00:44)    
john     pts/0        0.0.0.0          Thu Jan  3 00:50 - 01:42  (00:52)    
reboot   system boot  0.0.0.0          Thu Jan  3 00:48 - 01:43  (00:54)    

wtmp begins Tue Jan  1 20:48:28 2013
john@U64D211:~/tmp$ exit
exit
Script done, file is typescript
john@U64D211:~/tmp$ ls /dev/pts
0  1  5  8  ptmx
john@U64D211:~/tmp$ 

Ubuntu 12.04 scriptyeni bir puan verdi (2). Sadece güncellenmedi/var/log/wtmp .

CentOS 6

Zaten scriptaçık pty yapmak ve wtmp ile kayıt zaten bildiğimiz gibi testi atlıyorum.

libutemper

  • Proje: http://freecode.com/projects/libutempter
  • Açıklama: libutempter, utmp ve wtmp dosyalarına kullanıcı oturumlarını kaydetmek için screen ve xterm gibi terminal öykünücüler için bir kitaplık arabirimi sağlar.

Yani ana fark libutempter.so.0CentOS ile scriptbağlantılı ekstra kütüphane ( ) gibi görünüyor .

Ubuntu 12.04 ile test

Derleme scriptlibutempter ile

john@U64D211:~/tmp/util-linux-2.20.1$ sudo apt-get install libutempter-dev
john@U64D211:~/tmp/util-linux-2.20.1$ ./configure --with-utempter
john@U64D211:~/tmp/util-linux-2.20.1$ make
john@U64D211:~/tmp/util-linux-2.20.1$ cd term-utils/
john@U64D211:~/tmp/util-linux-2.20.1/term-utils$ ldd ./script
linux-vdso.so.1 =>  (0x00007fff54dff000)
libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f289e635000)
libutempter.so.0 => /usr/lib/libutempter.so.0 (0x00007f289e432000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f289e072000)
/lib64/ld-linux-x86-64.so.2 (0x00007f289e861000)

Test yapmak

Koşudan önce script

john@U64D211:~/tmp/util-linux-2.20.1/term-utils$ ls /dev/pts
0  1  5  8  ptmx
john@U64D211:~/tmp/util-linux-2.20.1/term-utils$ last -i
john     pts/0        0.0.0.0          Sat Jan  5 09:09   still logged in   
reboot   system boot  0.0.0.0          Sat Jan  5 09:08 - 10:37  (01:28)    
john     pts/0        0.0.0.0          Thu Jan  3 00:50 - 01:42  (00:52)    
reboot   system boot  0.0.0.0          Thu Jan  3 00:48 - 01:43  (00:54)    

wtmp begins Tue Jan  1 20:48:28 2013

içinde script

john@U64D211:~/tmp/util-linux-2.20.1/term-utils$ ./script
Script started, file is typescript
john@U64D211:~/tmp/util-linux-2.20.1/term-utils$ ls /dev/pts
0  1  2  5  8  ptmx
john@U64D211:~/tmp/util-linux-2.20.1/term-utils$ last -i
john     pts/2        0.0.0.0          Sat Jan  5 10:37   still logged in   
john     pts/0        0.0.0.0          Sat Jan  5 09:09   still logged in   
reboot   system boot  0.0.0.0          Sat Jan  5 09:08 - 10:37  (01:29)    
john     pts/0        0.0.0.0          Thu Jan  3 00:50 - 01:42  (00:52)    
reboot   system boot  0.0.0.0          Thu Jan  3 00:48 - 01:43  (00:54)    

wtmp begins Tue Jan  1 20:48:28 2013
john@U64D211:~/tmp/util-linux-2.20.1/term-utils$ exit
exit
Script done, file is typescript

sonra scriptsonunda

john@U64D211:~/tmp/util-linux-2.20.1/term-utils$ ls /dev/pts
0  1  5  8  ptmx
john@U64D211:~/tmp/util-linux-2.20.1/term-utils$ last -i
john     pts/2        0.0.0.0          Sat Jan  5 10:37 - 10:37  (00:00)    
john     pts/0        0.0.0.0          Sat Jan  5 09:09   still logged in   
reboot   system boot  0.0.0.0          Sat Jan  5 09:08 - 10:37  (01:29)    
john     pts/0        0.0.0.0          Thu Jan  3 00:50 - 01:42  (00:52)    
reboot   system boot  0.0.0.0          Thu Jan  3 00:48 - 01:43  (00:54)    

wtmp begins Tue Jan  1 20:48:28 2013
john@U64D211:~/tmp/util-linux-2.20.1/term-utils$ last
john     pts/2                         Sat Jan  5 10:37 - 10:37  (00:00)    
john     pts/0        :0               Sat Jan  5 09:09   still logged in   
reboot   system boot  3.2.0-35-generic Sat Jan  5 09:08 - 10:38  (01:30)    
john     pts/0        :0               Thu Jan  3 00:50 - 01:42  (00:52)    
reboot   system boot  3.2.0-35-generic Thu Jan  3 00:48 - 01:43  (00:54)    

wtmp begins Tue Jan  1 20:48:28 2013

Emtpy ana bilgisayar adının temel nedeni

Ve evet, script.coluştururum wtmpboş hostname'iyle girişi. util-linux-2.20.1/term-utils/script.cSatırdaki şu kod bloğuna bakın : 245-247

#ifdef HAVE_LIBUTEMPTER
    utempter_add_record(master, NULL);
#endif

Temel libutempter-1.1.5/utempter.h

extern int utempter_add_record (int master_fd, const char *hostname);

Yani script.caslında içine boş hostname geçiyorutempter_add_record .

RedHat Backport

İlginç olan, yukarı akış util-linux-ng-2.17.2aslında desteklemiyor libutempter. Görünüşe göre Redhat bu desteği geri eklemeye karar verdi.

john@U64D211:~/tmp/util-linux-ng-2.17.2$ ./configure --help|grep utemp

Yukarıdaki komut boş sonuç döndürür.

Sonuç

Yani iki dağıtım arasındaki davranış farkı bir hata değil, bir seçimdir. RedHat Debian'ı atlarken bu özelliği desteklemeye karar verdi.


CentOS 5 ne olacak?
ewwhite

@ewwhite coreutilsCentOS 5'in kullandığı rpm sürümünü verebilir misiniz ? Kaynak kodunu kontrol etmeliyim.
John Siu

Gerek yok. libutempterEL4 (vasıtasıyla bağlı değildir ldd), ancak bir EL5 ve EL6 bağlantılı scriptkomut. Bu özellik değişikliği, 2007'nin coreutilsEL4 üzerinde RHEL 5'in piyasaya sürülmesi 5.2.1 olduğundan Red Hat benzeri sistemler için geçerli olmuştur . EL5'te sürüm 5.97.
ewwhite

Anlıyorum. BTW, scriptutil-linux'da.
John Siu

1
@JohnSiu: Evet, farkın nedeni bu, bana bildirilen hatayı düzelttiler ve (istemeden) yeni bir hata yarattılar.
user9517, GoFundMonica

12

Bu bana kesinlikle şaşırtıcı geliyor. Ya bir DNS adı ya da IP adresi kullanmalıdır. last.cDosyayı da kontrol ettim ama neden hiçbir şey göstermediğini hala bulamıyorum. Muhtemelen biraz zaman verildiğinde, parçayı 0.0.0.0 hakkında anlayabilirim.

int dns_lookup(char *result, int size, int useip, int32_t *a)
307 {
308     struct sockaddr_in  sin;
309     struct sockaddr_in6 sin6;
310     struct sockaddr     *sa;
311     int         salen, flags;
312     int         mapped = 0;
313 
314     flags = useip ? NI_NUMERICHOST : 0;
315 
316     /*
317      *  IPv4 or IPv6 ?
318      *  1. If last 3 4bytes are 0, must be IPv4
319      *  2. If IPv6 in IPv4, handle as IPv4
320      *  3. Anything else is IPv6
321      *
322      *  Ugly.
323      */
324     if (a[0] == 0 && a[1] == 0 && a[2] == htonl (0xffff))
325         mapped = 1;
326 
327     if (mapped || (a[1] == 0 && a[2] == 0 && a[3] == 0)) {
328         /* IPv4 */
329         sin.sin_family = AF_INET;
330         sin.sin_port = 0;
331         sin.sin_addr.s_addr = mapped ? a[3] : a[0];
332         sa = (struct sockaddr *)&sin;
333         salen = sizeof(sin);
334     } else {
335         /* IPv6 */
336         memset(&sin6, 0, sizeof(sin6));
337         sin6.sin6_family = AF_INET6;
338         sin6.sin6_port = 0;
339         memcpy(sin6.sin6_addr.s6_addr, a, 16);
340         sa = (struct sockaddr *)&sin6;
341         salen = sizeof(sin6);
342     }
343 
344     return getnameinfo(sa, salen, result, size, NULL, 0, flags);
345 }

Bağlamda kullanılan iki küresel değişken bunlar.

int usedns = 0;     /* Use DNS to lookup the hostname. */
72 int useip = 0;       /* Print IP address in number format */

Bu nedenle, teoride, dns veya IP kullanmalıdır.

Başka bir şey kazıp kazmadığımı göreceğim. Ancak yeni sorulan sorular geçerli sorulardır.


1
Söz konusu komut için gerçek kaynak kodunu kazmak amacıyla +1.
Chris Smith

Harika bilgi, bu aradığım yetkili kaynak. Kodu bulmak için çok uğraştığınız için teşekkür ederiz.
Mike Pennington

8

Bu yüzden en azından sorunuza en azından bazı cevaplar verecek bir hata ayıklayıcıda koştum . Benim hissim kök neden olsa daha derin.

Son -i neden pts satır girişleri için 0.0.0.0 gösteriyor?

Bunu açıklamak için en iyi yolu, ne olur yok -i geçmektedir.

Bunun nedeni şunun bu kod bölümünde: last.c

if (usedns || useip)
  r = dns_lookup(domain, sizeof(domain), useip, p->ut_addr_v6);
if (r < 0) {
   len = UT_HOSTSIZE;
   if (len >= sizeof(domain)) len = sizeof(domain) - 1;
   domain[0] = 0;
   strncat(domain, p->ut_host, len);
}

Hem usednsve useip(varsayılan seçenekleri kullanarak) işaretlenmez. Bu yapı dışına kopyalamak için mantık neden p->ut_hostuyarınca man utmpiçine yazdığı ne olursa olsun tarafından kaydedilen uzaktan oturum açma adını içerir utmp.

char ut_host[UT_HOSTSIZE]; /* Hostname for remote login, or
                              kernel version for run-level
                              messages */

Sizin durumunuzda, buradaki değer sıfırdır. Bu yüzden koştuğunuzda lastsizin için hiçbir şey görünmez.

O last -izaman dns_lookup çağrılır. Bu, DNS aracılığıyla çözümlenecek girişi (p-> ut_addr_v6) geçirir. Sizin durumunuzda bu değer de sıfır içerir.

Çoğu dns_lookuppencere giydirme ve heusterik. Temel olarak önemli olan işlevdir getnameinfo. Bu, bu durumda içinde saklanan ikili değeri çözmek için elinden geleni yapacağız bir kütüphane çağrısıdır ut_addr_v6. Bu girdi sıfır içeriyorsa (sizin durumunuzda olduğu gibi) bunu çıkışınızda 0.0.0.0ne olduğu gibi last -içözersiniz.

Davranışı makul olarak açıklayacak herhangi bir şey (kötü amaçlı etkinlik dışında) var mı?

Eh, bu muhtemelen bir hata veya gözetim. Kaynak adresi atlamak yerine saldırgan olarak herhangi bir iz bırakmak aptalca göründüğü için kötü niyetli olma olasılığı düşüktür .

Şimdiye kadar cevapların odağı yanlış yere bakıyor. lastsadece okur utmpveya wtmp. Ancak lastsahip olduğu verilerle elinden geleni yapıyor.

Kök nedeniniz, utmpyazıldığı şekilde bir yerde yatıyor !

Birkaç uygulama doğrudan yazarken utmp, sorunlarınızın kaynağı sshdoturum yönetimini idare etmede yatmaktadır .

Bash tarih zaman damgası dışında, sorunu izlemek için yapabileceğim başka şeyler var mı?

utmptipik olarak yazılabilir değildir ve olması amaçlanmamıştır. utmpoturum açmak ve oturumunuzu ayarlamak için tasarlanmış uygulamalar tarafından yazılmıştır. Senin durumunda sshd.

Neden sshd kullanıcı düzgün işlemiyor, gelen ana bilgisayar adında düzgün kopyalanması gerektiği için çok garip. Burada hata ayıklama çabalarına odaklanılmalıdır. Günlüklerinize sshd hata ayıklama çıktısı ekleyerek başlayın ve anormal bir şey olup olmadığını görün.

Soruna geçici bir çözüm bulmak (veya belki de sorun hakkında daha fazla bilgi edinmek istiyorsanız) , oturuma ekleyerek pam_lastlogyönetmek için kullanabilirsinizutmp /etc/pam.d/sshd dizinindeki girişine .

Aslında, zaten orada olup olmadığını kontrol etmek zarar vermez - çünkü kesinlikle yaşadığınız davranışı açıklayacak pam_lastlogbir nohostseçenek içerir .

Son olarak, son olarak kullanamazsınız. aulastaynı işi denetim alt sistemi üzerinden yapar.

En azından doğru adresi yazıp yazmadığını görmek için denemeye değer olabilir. Eğer değilse , sshd DNS adlarını utmp veya denetim gibi farklı alt sistemlerin etrafında geçirdiğinden, sorununuz sshd ile ilgili olmalıdır .


pam_lastlogYukarıda belirtildiği gibi nasıl kullanılacağına dair bazı özel talimatlar ekleyebilir misiniz ?
Mike Pennington

8

(1) OP baz last çıkışına

Ssh ile giriş yaptıktan sonra, localhost'a ssh girebilir ve 0.0.0.0 last -i sonra .

OP günlüğünün ilk dört satırına göre

mpenning pts/19                        Fri Nov 16 10:32 - 10:35  (00:03)
mpenning pts/17                        Fri Nov 16 10:21 - 10:42  (00:21)
bill     pts/15       sol-bill.local   Fri Nov 16 10:19 - 10:36  (00:16)
mpenning pts/1        192.0.2.91       Fri Nov 16 10:17 - 10:49 (12+00:31)

pts/19 giriş yapıldı pts/17 giriş süresi içinde.

pts/17 giriş yapıldı pts/1 giriş süresi içinde.

Bu özel olay için, OP ssh'nin 192.0.2.91 ( pty/1) 'den, daha sonra bu ssh oturumu içinde yerel olarak ( ssh localhost) sunucuya tekrar ( pts/17) ve tekrar (pts/19 ) .

Lütfen bu örtüşmenin başka bir olayda olup olmadığını kontrol edin.

Aşağıdakiler nedeni saptamaya yardımcı olabilir

  • Ssh-key kullanıyor musunuz? Öyleyse, sunucuda yerel olarak oturum açmak için ssh-tuşunu ayarladınız mı?
  • Aynı zaman aralığını kontrol edin veya yayınlayın / var / log / secure. Bazı ipuçları verebilir.
  • Kullandığınız komut dosyalarını kontrol edin
  • Kullandığınız kabuk takma adlarını kontrol edin
  • Komut geçmişinizi kontrol edin

(2) Ek Sekreter

Senaryo 1 - sudo ve terminal

  1. Kullanıcı A giriş X Penceresi
  2. Bir terminal penceresi açın, xhost + localhost
  3. su - UserB veya sudo su - UserB sonra yeni bir terminal açın (xterm, gnome-terminal, vb.)
  4. UserB 0.0.0.0 olarak gösterilecek last -i

su - UserB olarak kayıt olmayacak UserBen son oturum açma , ancak bir terminal açılır.

Senaryo 2 - giriş

  1. ssh sunucusuna
  2. tip sudo login
  3. kendin gibi giriş yap
  4. kontrol et lastvelast -i

lastiçin ana bilgisayar adı veya IP göstermez login session. last -iiçin IP 0.0.0.0 olacaktır login session.

john@U64D211:~$ last -5
john     pts/0                         Sun Dec 23 20:50   still logged in   
john     pts/0                         Sun Dec 23 20:50 - 20:50  (00:00)    
john     pts/0        :0               Sun Dec 23 20:50 - 20:50  (00:00)    
reboot   system boot  3.2.0-35-generic Sun Dec 23 20:49 - 20:50  (00:01)    
john     pts/2        js.example.com   Sun Dec 23 17:14 - crash  (03:34)    

wtmp begins Sat Dec  1 06:30:46 2012
john@U64D211:~$ last -5i
john     pts/0        0.0.0.0          Sun Dec 23 20:50   still logged in   
john     pts/0        0.0.0.0          Sun Dec 23 20:50 - 20:50  (00:00)    
john     pts/0        0.0.0.0          Sun Dec 23 20:50 - 20:50  (00:00)    
reboot   system boot  0.0.0.0          Sun Dec 23 20:49 - 20:50  (00:01)    
john     pts/2        192.168.1.90     Sun Dec 23 17:14 - crash  (03:34)    

wtmp begins Sat Dec  1 06:30:46 2012

Mife'nin cevabı zaten kod bloğunu gösteriyor last.c. Nedeni lastolduğu için, görünen boş ana makine adı / IP ut_hostbu kayıtlar vardır için aslında boşaltın. Komple wtmp yapısı man wtmpiçin herhangi bir linux sisteminde yapın.

Buradaki 2 senaryo, belirli durumlarda standart paketlerin bile bunları böyle yarattığını göstermektedir.

(3) Bash Geçmişi Hack

Yalnızca oturum bashetkileşimli kabuk olarak kullanıldığında çalışır .

.bashrcve .bash_profileyalnızca tarafından kullanılır bash.

Oturum başka bir kabuk (sh, csh, vb.) Kullanırsa veya doğrudan program çalıştırırsa otomatik olarak kaynak oluşturulmaz ve bash geçmişi de olmaz.

(4) Süreç Muhasebesi

OP securedosya hakkında hiçbir şey söylemediğinden , bunun çıkmaz bir nokta olduğunu ve aslında ipucu sağladığını varsayacağım.

Aşağıdaki varsayım doğruysa

`last` 0.0.0.0 entries are actually created with in OP own session

auth.log (debian) / secure (CentOS) yardımcı olmaz. İçinde yalnızca kimlik doğrulaması ile ilgili eylem kaydedildiğinden.

wtmp / utmp, veri yapılarındaki sınırlama ile, aynı zamanda bir çıkmaz noktadır. Onları neyin yarattığı hakkında hiçbir bilgi yoktur.

Bu bize tek bir seçenek bırakıyor, muhasebe muhasebesi . Bu büyük bir silah ve dikkatli kullanılmalıdır.

  1. Belki şirket politikasına karşı
  2. Paylaşılan bir sistemdeki diğer kullanıcılar, etkin olduğu için mutsuz / rahatsız olabilir
  3. Günlük dosyası çok fazla disk alanı kullanabilir. Dosya boyutunun büyüme hızına dikkat edin.

Psacct paket sürümü olmalıdır 6.3.2-56 buna göre, yukarıda veya yazı .

Bu kullanılacaksa ve /var/logsınırlı alanı varsa, acct günlük dosyasını altında /homegenellikle çok daha fazla alana sahip bir dizine (yalnızca kök erişimi) değiştirin .

Bu gerçekten büyük silah. OP% 10 oluşum oranı ile bir hafta içinde sonuç alınmalıdır. Bu süre zarfında, boş giriş lastiçeri girer , ancak kayıt günlüğünden hiçbir şey olmazsa, gizemli bir durum haline gelir ve bazı ciddi eylemler gerektirir .

Aşağıdaki örnek çıktı lastcomm

lesspipe               john     pts/8      0.02 secs Mon Dec 24 17:10
lesspipe          F    john     pts/8      0.00 secs Mon Dec 24 17:10
dirname                john     pts/8      0.00 secs Mon Dec 24 17:10
basename               john     pts/8      0.00 secs Mon Dec 24 17:10
kworker/1:2       F    root     __         0.00 secs Mon Dec 24 16:54
tty                    john     pts/6      0.01 secs Mon Dec 24 17:09
tty                    john     pts/4      0.01 secs Mon Dec 24 17:09
cron              F    root     __         0.05 secs Mon Dec 24 17:09
sh               S     root     __         0.01 secs Mon Dec 24 17:09
find                   root     __         0.01 secs Mon Dec 24 17:09
maxlifetime            root     __         0.00 secs Mon Dec 24 17:09
php5                   root     __         0.23 secs Mon Dec 24 17:09
which                  root     __         0.00 secs Mon Dec 24 17:09
lastcomm               root     pts/0      0.01 secs Mon Dec 24 17:08
tty                    john     pts/1      0.01 secs Mon Dec 24 17:08
dconf worker         X john     __         5.46 secs Mon Dec 24 16:58
lastcomm               root     pts/7      0.04 secs Mon Dec 24 17:05
mesg             S     root     pts/7      0.00 secs Mon Dec 24 17:05
bash              F    root     pts/7      0.00 secs Mon Dec 24 17:05
dircolors              root     pts/7      0.00 secs Mon Dec 24 17:05

Daha fazla bilgi göstermek için 'dump-acct' kullanabilirsiniz.

PS1: Birkaç terminal ve ssh oturumu açmaya çalıştım. Yeni bir puan açan şeyin ne olduğu belli değil (veya sabitlenmesi kolay değil). Ancak, bu puanlar / oturum içinde koşan her şeyi gösterir.

PS2: Mike tarafından acct kullanımı hakkında bir blog yazısı.


Nasıl bir localhost giriş 0.0.0.0 verir sonucunu bilmiyorum, her zaman benim için localhost olarak ortaya çıkıyor. Sadece ssh ile giriş yapıyorum, yerel olarak giriş yaparak ne demek istediğini bilmiyorum
Mike Pennington

Lütfen ssh localhostkontrol edin last -i.
John Siu

İle ilgili olarak login locally, tek yaptığım anlamına ssh localhostssh oturum içinde. Bu cümleyi değiştirdim, umarım şimdi daha az kafa karıştırıcıdır.
John Siu

Ek senaryo eklendi.
John Siu

5

Bir Makineye giriş yaptığınızda, bunlar son komuttaki birkaç giriş olabilir.

geekride   tty2                        Fri Dec 21 15:45 - 15:45  (00:00)    
geekride   pts/1                       Fri Dec 21 13:45   still logged in   
geekride   pts/1        :pts/0:S.0     Thu Dec  6 12:49 - 00:40  (11:50)    
geekride   pts/1        10.31.33.47    Thu Dec  6 12:49 - 00:40  (11:50)    

Tty * ile ilk giriş, terminal veya konsoldan CTRL + ALT + F1-6 tuşlarına basarak oturum açtığınızda gelir. Kullandığı terminalden oldukça açık.

İkinci Giriş normalde bir Makinede oturum açıp GUI'de bir terminal penceresi açtığınızda resme gelir. Aynı terminal penceresinde yeni bir Sekme açsanız bile bir giriş olacaktır.

Üçüncü Giriş türü, SSH üzerinden oturum açtıktan sonra bir ekran oturumu açtığınızda gelir. Bu, orada ve herhangi bir IP adresi olmayan bir giriş oluşturacaktır.

Dördüncü giriş herkesin anladığı oldukça normal.

Bunu yaparsanız last -iaşağıdaki girdileri ile, böyle bir şey göreceksiniz:

geekride   tty2         0.0.0.0        Fri Dec 21 15:45 - 15:45  (00:00)    
geekride   pts/9        0.0.0.0        Fri Dec 21 13:45   still logged in   
geekride   pts/1        0.0.0.0        Thu Dec  6 12:49 - 00:40  (11:50)    

Durumunuzun GUI'deki terminal penceresi ve diğeri ekran oturumuyla 2 durumun herhangi birinde gerçekleştiğinden eminim.

Umarım bu yardımcı oldu.


2
GUI veya screenherhangi bir 0.0.0.0giriş için kullanmadım . GUI'yi yalnızca makineleri kurduğumda kullanıyorum (yaklaşık Ağustos / Eylül). 0.0.0.0O zamandan sonra birçok pts girişi görüyorum .
Mike Pennington

1
Bu gerçekten yararlıydı ve yaşadığım eski şüphelerin birkaçını temizledi
Rahul

3

Son hata ayıklamadan bununla kaçacağımızı sanmıyorum. C, ancak derleme yapmak çok zor olmamalı ...

Bir olasılık, utmpdump komutunu kullanarak / var / log / wtmp dosyasını dökmek ve sizin için biraz ışık tutabilecek ham kayıtlara bakmaktır. Değilse, lütfen ilgili bazı çıktıları

utmpdump /var/log/wtmp 

böylece hata ayıklamak için wtmp'nizin yerel kopyalarını yeniden oluşturabiliriz

utmpdump -r <dumpfile >wtmp

Bu bir cevap değil gibi görünebilir ama gerçekten, insanların bunu bildikleri ve hata ayıklamaya gerçekten ihtiyaç duydukları noktayı aştık.
user9517, GoFundMonica

Çevreye özeldir. Bu sunucuları yeterince çalıştırın ve normal aktivite herhangi bir birleşimi ile davranışı yeniden üretemiyorum.
ewwhite

@ewwhite: Ben de birkaç tane var ve ben de bulamıyorum.
user9517, GoFundMonica

@ewwhite Birkaç CentOS makinesini kendim denedim ve bu kutuların yaklaşık 300'ünü tutan bazı meslektaşlara da sordu. Bunu daha önce de gördüklerini hatırlayamazlar.
Tonny

3

12 çok kullanıcılı CentOS ve RHEL 6.3 tabanlı uygulama sunucusunu kontrol ettim. Hiçbiri bu davranışı sergilemedi. Konumunda eksik giriş yoktulastÇıktıda 4-5 hafta geriye giden .

Bu formata uygun/etc/hosts olduğundan emin olmak için dosya girişinizi görmenin önemli olacağını düşünüyorum .

Ayrıca, DNS çözümü için ne yapıyorsunuz? Gönderebilir misin/etc/resolv.conf ?

0.0.0.0Yerel bağlantıları temsil ettiğini gösteren diğer yanıtlar doğrudur. Tipik örnekler, yeniden başlatma ve konsol giriş olaylarıdır:

 reboot   system boot  0.0.0.0          Sat Dec  8 06:12 - 05:57 (12+23:45)  
 reboot   system boot  0.0.0.0          Sat Dec  8 05:25 - 06:09  (00:44)    
 reboot   system boot  0.0.0.0          Fri Nov 30 14:28 - 05:22 (7+14:54)   
 root     tty1         0.0.0.0          Fri Nov 30 13:52 - 13:55  (00:03)    
 reboot   system boot  0.0.0.0          Fri Nov 30 13:51 - 14:25  (00:34)    

Bu yalnızca adlandırılmış kullanıcılarda gerçekleştiğinden, giriş komut dosyalarında kaynaklanmak veya çalıştırmak için korkak bir şey var mı? Eğer değişti mi ~/.bashrcya~/.bash_profile varsayılan mı? Ortamda başka özel oturum açma komut dosyaları var mı?

--Düzenle--

Bunu hala hiçbir şekilde çoğaltamıyorum. Yine de iki kritik bileşene bakıyorum. lastKomut istikrarlı ve uzun zamandır değiştirilmemiştir. Sisvinit araçları için değişiklik günlüğüne bakıldığında, ilgili hatalar yoktur. Initscripts için aynı (wtmp) .

Bunun olmasını zorlayabilirseniz, aynı kaynak makinelerden farklı bir kullanıcı hesabıyla deneyin. Ancak bunun bir işletim sistemi sorunu olduğuna dair hiçbir belirti görmüyorum.


Yerel çevre ile ilgili sorularınızla ilgili ... Lütfen sorumun en son düzenlemelerine bakın ... başka hiçbir kullanıcının benim yanımda bu sorunu olmadığını unutmayın ... bu nedenle global yapılandırmalar (örneğin /etc/hosts) herkesi etkilemelidir ... değil just me
Mike Pennington

Bunun hangi zaman diliminde gerçekleştiğini bilmek faydalı olacaktır. Günlük snippet'iniz bir aylık. Bu tekrarlanabilir mi? Bu tüm sunucularda mı oluyor? Belki wtmp dosyası döndürülmüşse, wtmp ve wtmp1 olabilir. last -ifBu dosyaların her ikisine karşı da çalışabilir ve aynı sonuçları zaman içinde görüp görmediğinizi görebilir misiniz?
ewwhite

Ayrıca, komutları çalıştırıyor musunuz; (p) sftp (p) scp? IP olmayan oturumlarınız daha uzun bir oturumun zaman aralığı içinde gerçekleştiği için soruyorum. Örneğin, 192.0.2.91'den birden fazla bağlantı mı açıyordunuz?
ewwhite

iyi sorular ... Bugün gelen konuklar için hazırlanmalıyım ama bu hafta sonu bu ayrıntılara cevap vermeye çalışacağım
Mike Pennington

Bazen ücretsiz WinSCP istemcisi üzerinden scp ve sftp kullanıyorum; ancak, bu girişler geçerli girişler üretir /var/log/secure... 0.0.0.0hiçbir şey göstermeyen girişler/var/log/secure
Mike Pennington

3

NİHAİ ÇÖZÜNÜRLÜK

Bonusu zaten kazandım, bu yüzden bu aynı soruya sahip gelecekteki Google çalışanları için.

Bunun yalnızca girişlerimin ~% 10'unda görünmesinin nedeni, yönlendiricilerimizde veya anahtarlarımızda büyük değişiklikler yaptığımda script foo.log, değişikliği tam bir terminal günlüğüne sahip olmam için kullanıyorum . Hala anlamadığım nedenlerden dolayı, CentOS komutu ptskullandığınızda bir giriş oluşturur ... Çalışmadan önce ve sonra scriptçıktısını göstereceğim ...last -iscript

[mpenning@sasmars net]$ last -i | head
kkim14   pts/13       192.0.2.225   Wed Jan  2 09:43   still logged in
kkim14   pts/12       192.0.2.225   Wed Jan  2 09:43   still logged in
kkim14   pts/10       192.0.2.225   Wed Jan  2 09:43   still logged in
kkim14   pts/9        192.0.2.225   Wed Jan  2 09:43   still logged in
kkim14   pts/5        192.0.2.225   Wed Jan  2 09:43   still logged in
mpenning pts/17       192.0.2.29    Mon Dec 31 16:45 - 16:49  (00:03)
gduarte  pts/16       192.0.2.135   Thu Dec 27 10:54   still logged in
gduarte  pts/14       192.0.2.135   Thu Dec 27 10:44   still logged in
dspencer pts/14       192.0.2.4     Thu Dec 27 09:56 - 09:57  (00:01)
mpenning pts/14       192.0.2.91    Thu Dec 27 08:31 - 08:32  (00:00)
[mpenning@sasmars net]$ script ~/something_random.log
Script started, file is /home/mpenning/something_random.log
[mpenning@sasmars net]$ date
Thu Jan  3 16:14:19 CST 2013 # <--------------------------------------------------
[mpenning@sasmars net]$ exit
exit
Script done, file is /home/mpenning/something_random.log
[mpenning@sasmars net]$ last -i | head
mpenning pts/15       0.0.0.0          Thu Jan  3 16:14 - 16:14  (00:00) # <------
kkim14   pts/13       192.0.2.225   Wed Jan  2 09:43   still logged in
kkim14   pts/12       192.0.2.225   Wed Jan  2 09:43   still logged in
kkim14   pts/10       192.0.2.225   Wed Jan  2 09:43   still logged in
kkim14   pts/9        192.0.2.225   Wed Jan  2 09:43   still logged in
kkim14   pts/5        192.0.2.225   Wed Jan  2 09:43   still logged in
mpenning pts/17       192.0.2.29    Mon Dec 31 16:45 - 16:49  (00:03)
gduarte  pts/16       192.0.2.135   Thu Dec 27 10:54   still logged in
gduarte  pts/14       192.0.2.135   Thu Dec 27 10:44   still logged in
dspencer pts/14       192.0.2.4     Thu Dec 27 09:56 - 09:57  (00:01)
[mpenning@sasmars net]$ cat /etc/redhat-release
CentOS release 6.3 (Final)
[mpenning@sasmars net]$

Bu davranış CentOS 6'ya özgü gibi görünüyor ... laboratuvarda boş bir giriş yapmayan bazı CentOS 4.7 makinelerimiz var wtmp... Debian / Gentoo makineleri de bu davranışı sergilemiyor. Linux yöneticilerimiz, CentOS'u ptsyürütürken neden kasıtlı olarak başka bir giriş ekleyeceklerini çiziyorlarscript ... Bunun bir RHEL hatası olduğundan şüpheleniyorum.

EDIT : RHEL hata kimliği 892134 olarak bu sorunu dosyaladım

NOT

Bazı insanlar yanlış bir şekilde scriptbenim ~/.bashrcveya benim koyduğumu varsaydı ~/.bash_profile. Bu kusurlu bir argüman ... eğer bu doğruysa, ssh girişlerimin her birinde wtmpbir 0.0.0.0giriş yapmalıyım ...

[mpenning@sasmars net]$ last -i | head
kkim14   pts/13       192.0.2.225   Wed Jan  2 09:43   still logged in
kkim14   pts/12       192.0.2.225   Wed Jan  2 09:43   still logged in
kkim14   pts/10       192.0.2.225   Wed Jan  2 09:43   still logged in
kkim14   pts/9        192.0.2.225   Wed Jan  2 09:43   still logged in
kkim14   pts/5        192.0.2.225   Wed Jan  2 09:43   still logged in
mpenning pts/18       0.0.0.0       Mon Dec 31 16:45 - 16:49  (00:03)  # <-----
mpenning pts/17       192.0.2.29    Mon Dec 31 16:45 - 16:49  (00:03)  # <-----
gduarte  pts/16       192.0.2.135   Thu Dec 27 10:54   still logged in
gduarte  pts/14       192.0.2.135   Thu Dec 27 10:44   still logged in
dspencer pts/14       192.0.2.4     Thu Dec 27 09:56 - 09:57  (00:01)
mpenning pts/15       0.0.0.0       Thu Dec 27 08:31 - 08:32  (00:00)  # <-----
mpenning pts/14       192.0.2.91    Thu Dec 27 08:31 - 08:32  (00:00)  # <-----

Tabii ki, durum böyle değildi ...


3
scriptİlk sorunuzda komutu kullandığınızdan bahsetmediniz .
ewwhite

2
Diye sordum Siz varsayılan ~ / .bashrc veya ~ / .bash_profile değişti? Ortamda başka özel oturum açma komut dosyaları var mı? . scriptProgram bir typescript yapar her şeyi senin terminali üzerinde yazılı. İlgili bir detay.
ewwhite

2
@bu sırada saldırmayı bırakmanın ve eleştirel düşünmeye başlamanın zamanı geldi ... 1) Senaryomun benim içimde olduğunu varsayıyorsun .bashrcya .bash_profileda değildi; İdam ediyorumscript foo.log , Ben önemli değişiklik yaptığınızda bunu yalnızca etkiler yüzden yani bir değişiklik-log ... sahip olması için suçlama (ve bu değil) doğru ise ~ my girişlerinde 2)% 10, bir SSH giriş asla izin vermez Bundan 0.0.0.0sonra başka bir girişi yoktu 3) scriptsadece CentOS'ta bunu yapıyorum ... On yıldan fazla bir süredir kullandım ve bu davranışı başka bir dağıtımda hiç görmedim ... bu noktada muhtemelen bir CentOS olduğunu savunuyorum böcek
Mike Pennington

1
Güncelleme için çok teşekkür ederim. Ubuntu 12.04'te test ettim script, sadece bir kabuk çatalı olacak. Burada gösterdiklerinize dayanarak, CentOS / Redhat sürümü scriptaslında bir pty çatal. Her ne kadar biraz daha hayal kırıklığına uğramış olsa da (: P) daha genel / dağıtımda bir şey değil, en azından gizem aklımdan geçti. PS: @ @ @ Gentoo üretimde olduğunuza şaşırıyorum.
John Siu

1
@MikePennington: Fedora BTW'de de mevcut, Michael Hampton beni kontrol ediyor.
user9517, GoFundMonica

2

Pseudo Terminal Slave (pts) bağlantıları, sisteme dolaylı bağlantılar anlamına gelen SSH veya telnet bağlantılarıdır. Bu bağlantıların tümü, bilgisayara komut vermenize olanak tanıyan bir kabuğa bağlanabilir. Bu nedenle, sisteminizde bir terminali gui'den açtığınızda, kaynak ip 0.0.0.0 olan bir pts açar. Sağladığınız bilgilerden, bu sunucuda çalışan veya zamanlanmış, terminalde çıkış atmak için ssh veya telnet hizmeti veya yerel pts kullanan komut dosyası nedeniyle gerçekleşiyor gibi görünüyor.


GUI'yi asla kullanmam
Mike Pennington

2

Hangi ssh istemcisini kullanıyorsunuz? Bazı ssh istemcileri birden çok terminali tek bir bağlantı üzerinden çoğaltabilir ve IP olmadan tüm oturumlarınızın günlüğe kaydedilmiş IP'si olan daha uzun oturumlara girdiğini fark ederim.

Bu davranışı burada ssh ile çoğaltamıyorum.


Ben genellikle şu anda 1.4.0.1 sürümünde superputty kullanıyorum ... ama bu sorunu düz ole macun ile de gördüm
Mike Pennington

1

Belki de IP adresiniz DNS sunucularınızdan birinde boş bir dizeye çözümlenir, muhtemelen zamanın yalnızca yüzde 10'unda gerçekleşirse ikincil (veya merkezi bir depodan dağıtılmışsa muhtemelen bir hosts dosyası). Bu, eksik (veya beyaz boşluk) girişi açıklar ve Soham'ın kaynağı okumasıyla tutarlıdır.


0

"0.0.0.0", muhtemelen cronjob gibi uygulama tarafından çağrılan yerel bir kullanıcı (uzaktan oturum açma değil) anlamına gelir.


Bu cevap yanlış görünüyor ... günlüklerimdeki tüm 0.0.0.0 girişleri bir pts hattında
Mike Pennington

Bu doğru bir yanıt, sistemimden örnek:# last -i |grep 0.0.0.0 \ reboot system boot 0.0.0.0 Wed Dec 5 20:09 - 17:18 (15+21:08) # last |grep reboot \ reboot system boot 2.6.32-10-pve Wed Dec 5 20:09 - 17:18 (15+21:08)
alterpub

@alterpub, yine, sadece ssh ile giriş yapıyorum; Birisi bana resmi belgeleri gösteremezse, 0.0.0.0 geçerli bir ssh pty girişi değildir .
Mike Pennington

0

Bunun nedeni, yerel sistemi kullanmanız ve 0.0.0.0'ın tüm arabirimlerin ip adresi anlamına gelmesidir. Belki birisinin saldırıya uğradığını düşünüyorsanız ssh - http://blog.pointsoftware.ch/index.php/howto-bash-audit-command-logger/


Ne demek "yerel sistemi kullanıyorsunuz" ... lütfen sorumu yakından okuyun ... Ben sadece ssh ile giriş yapıyorum . 0.0.0.0'ın bir pty'e ssh girişi için geçerli bir giriş olduğunu mu düşünüyorsunuz?
Mike Pennington

-1

~ / .Bashrc için bir betik ekleyerek çözdüm betiğin son telnet bağlantı kaynağı IP adresini bulur, Sonra bir günlük dosyasına IP ekleyebilir veya ihtiyacınız olanı yapabilirsiniz ..

client_ip=$(echo $(netstat -nae | grep $(netstat -nae | grep 23 | awk  '{print $8}' | sort -n | tail -n1) | awk '{print $5}') | awk -F':' '{print $1}' )

echo "client_ip=$client_ip"

Sharon


1
Bu cevap benim için pek mantıklı değil. Tartışma telnet ile ilgili değil. netstat -nae | grep 23telnet bağlantılarını bulmanın yararlı bir yolu değildir. Bu komut sistemimde 92 sonuç veriyor, hiçbiri telnet değil.
Hauke ​​Laging
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.