Bash .hushlogin, giữ thời gian đăng nhập cuối cùng và máy chủ lưu trữ


19

Tại công ty của tôi, khi tôi đăng nhập vào một số máy chủ, lần đăng nhập cuối cùng của tôi và một biểu ngữ lớn được hiển thị:

me@my-laptop$ ssh the-server
Last login: Mon Feb  8 18:54:36 2016 from my-laptop.company.com 
************************************************************************
*                                                                      *
*       C O M P A N Y    I N F O R M A T I O N   S Y S T E M S         *
*                                                                      *
* !WARNING!         Your connection has been logged          !WARNING! *
*                                                                      *
* This system is for the use of authorized personnel only.             *
* Individuals using this *computer system without authorization,       *
* or in excess of their authority as determined by the Company         *
* Code of Ethics and  Acceptable Use Policy, are subject to having all *
* of their activities on this system monitored, recorded and/or        *
* terminated by system personnel.                                      *
* If such monitoring reveals possible evidence of criminal  activity,  *
* Company may provide said evidence to law enforcement officials,      *
* in compliance with its confidentiality obligations and all           *
* applicable national laws/regulations with regards to data privacy.   *
*                                                                      *
*      This device is maintained by Company Department                 *
*                  admin@company.com                                   *
************************************************************************
me@the-server$ 

Tất nhiên, tôi không muốn biểu ngữ khổng lồ này hiển thị mỗi khi tôi đăng nhập, nhưng tôi muốn giữ thời gian đăng nhập cuối cùng và máy chủ lưu trữ được hiển thị .

Nếu tôi sử dụng touch ~/.hushlogin, banner không được hiển thị nhưng tôi cũng mất thông tin đăng nhập cuối cùng . Trong thực tế, không có gì được hiển thị:

ssh the-server
me@the-server$

Làm cách nào để xóa biểu ngữ nhưng vẫn giữ thời gian đăng nhập và lưu trữ cuối cùng, như thế này:

 ssh the-server
 Last login: Mon Feb  8 18:54:36 2016 from my-laptop.company.com
 me@the-server$

Câu trả lời:


15

Một cách sẽ là thêm các mục sau vào ~/.ssh/rc, trong đó có các lệnh sẽ được chạy khi bạn ssh vào máy:

lastlog -u $USER | perl -lane 'END{print "Last login: @F[3..6] $F[8] from $F[2]"}'

Lệnh sẽ lấy thời gian đăng nhập cuối cùng của bạn lastloginvà sau đó định dạng nó để nó trông giống như phiên bản gốc. Bây giờ touch ~/.hushloginbạn có thể và bạn vẫn sẽ thấy thông báo đó.


1
Đẹp một. Cuối cùng tôi đã đi last -w | grep "$USER" | head -n1 | perl -lane 'END{print "Last login: @F[3..6] $F[8] from $F[2]"}'lastlogđã cắt bớt tên máy chủ của tôi.
Xion345

1
@ Xion345 Thay vì grepping cho tên người dùng của bạn (có thể giúp bạn có người khác có tên người dùng dài hơn chứa tên của bạn), bạn có thể sử dụng last -w "$USER" | ...ở đó
Monty Harder

1
Bạn cũng có thể muốn biết nếu / etc / motd thay đổi, vì vậy cũng có thể thêm: cmp / etc / motd ~ / .hushlogin.motd || mèo / etc / motd && cp / etc / motd ~ / .hushlogin.motd
rrauenza

12

.bash_profilecuộc gọi của bạn lastlog -u "$USER"giúp bạn một cái gì đó khá gần. Đầu ra trông như:

Username         Port     From             Latest
anthony          pts/7    192.168.XX.YY    Sun Feb  7 16:00:40 -0500 2016

Tất nhiên tôi đã tìm lại địa chỉ IP.

last -w -n 1 nhận được một bản ghi tương tự, nhưng từ một cơ sở dữ liệu khác nhau.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.