Trong đó tôi nửa cung cấp bối cảnh, nửa rant
Bạn đang chạy vào một ví dụ về lý do chính mà tôi không thích quản lý các hệ thống Solaris: Không có gì là dễ dàng cả.
Tôi không biết nếu địa phương thực sự sẽ làm bất cứ điều gì ngoại trừ thay đổi thứ tự của các phần nhất định của dấu thời gian xung quanh. Tôi quan tâm nếu có ai biết cách dỗ dành Solaris last
trong năm, nhưng tôi sẽ không nín thở. Câu thần chú phát triển phần mềm của Sun dường như là "Nó hoạt động về mặt kỹ thuật."
Sun dường như đã phát triển khá nhiều thứ gì đó đúng với yêu cầu hoàn toàn của họ, và sau đó khá nhiều dừng lại ở đó. Vì vậy, bạn kết thúc với các giải pháp được chấp nhận chung như thế này và bạn chỉ cần giữ một bộ sưu tập các cách giải quyết được liệt kê cho các vấn đề phổ biến.
Cách duy nhất mà tôi từng thấy để làm điều này là sử dụng /usr/lib/acct/fwtmp
để đổ toàn bộ nội dung /var/adm/wtmpx
vào một đường ống với một số chương trình khác mà tôi sử dụng để điều khiển các đầu ra văn bản ( grep
, tac
, sed
, vv).
Phần thưởng: Vì tìm kiếm phần cuối của tệp và chỉ cần di chuyển trở lại theo wtmpx
độ dài bản ghi cố định sẽ yêu cầu quá nhiều, fwtmp
chỉ có thể in ra nội dung wtmpx
như chúng xuất hiện trong tệp. Vì vậy, bạn phải sử dụng một số phương tiện khác (có thể tac
) để đảo ngược các dòng, trừ khi bạn thực sự quan tâm đến thông tin cũ nhất (đó là trường hợp sử dụng ít có khả năng nhất , nhưng tôi lạc đề).
Tùy thuộc vào thời gian hệ thống của bạn hoạt động wtmpx
có thể lớn như thế nào, vì vậy bạn có thể muốn đi lấy một tách cà phê, có thể đi kiểm tra xem lốp xe của bạn có bị thiếu và có thể đọc một hoặc hai cuốn sách trong khi bạn tại đó
Câu trả lời thực tế cho câu hỏi của bạn:
Đây là một lệnh mô phỏng last
theo cách có thể sử dụng được cho hầu hết những người quan tâm đến việc xem hồ sơ đăng nhập:
# cat /var/adm/wtmpx | /usr/lib/acct/fwtmp | tac | head
Bạn sẽ nhận thấy tôi phải chuyển đến wtmpx
vì họ không cung cấp cho bạn phương tiện chỉ đưa tệp cho fwtmp
. Đó là bởi vì việc cung cấp nó thông qua stdin
Technical Works ™ trong phần lớn các trường hợp sử dụng và họ sẽ không phải viết thêm một vài dòng mã. Vì vậy, họ chỉ muốn làm Quản trị viên làm điều đó.
Đây là ví dụ đầu ra ở trên trên của các hệ thống tôi chăm sóc:
[root@atum root]# cat /var/adm/wtmpx | /usr/lib/acct/fwtmp | tac | head
jadavis6 ts/1 pts/1 19410 7 0000 0000 1382723864 157168 0 19 ditirlns01.xxx.edu Fri Oct 25 13:57:44 2013
jadavis6 sshd 19404 7 0000 0000 1382723864 133973 0 19 ditirlns01.xxx.edu Fri Oct 25 13:57:44 2013
oracle sshd 6640 8 0000 0000 1382713401 157107 0 0 Fri Oct 25 11:03:21 2013
oracle ts/1 pts/1 6647 8 0000 0000 1382713401 150489 0 0 Fri Oct 25 11:03:21 2013
oracle ts/1 pts/1 6647 7 0000 0000 1382712445 24488 0 23 a0003040148735.xxx.edu Fri Oct 25 10:47:25 2013
oracle sshd 6640 7 0000 0000 1382712442 304729 0 23 a0003040148735.xxx.edu Fri Oct 25 10:47:22 2013
jadavis6 sshd 23537 8 0000 0000 1382560970 410725 0 0 Wed Oct 23 16:42:50 2013
jadavis6 ts/1 pts/1 23544 8 0000 0000 1382560970 404795 0 0 Wed Oct 23 16:42:50 2013
jadavis6 ts/1 pts/1 23544 7 0000 0000 1382552999 619524 0 19 ditirlns01.xxx.edu Wed Oct 23 14:29:59 2013
jadavis6 sshd 23537 7 0000 0000 1382552999 602215 0 19 ditirlns01.xxx.edu Wed Oct 23 14:29:59 2013
[root@atum root]#
BIÊN TẬP:
Tôi biết tôi đang than vãn về một điều gì đó nhỏ bé ở đó, nhưng sau một thời gian tôi cảm thấy mệt mỏi với mọi thứ nhỏ nhặt (chẳng hạn như hỏi "năm nào?") Biến thành một googlefest dài một giờ hoặc một thứ gì đó ít nhiều chỉ là bộ lạc kiến thức (như sự tồn tại của fwtmp
).
last
lệnh này là vô dụng đối với tôi. Tôi đã đưa ra một giải pháp khác cho vấn đề ban đầu của mình: Tôi đã thêm vàotouch /var/lastlogin/$USERNAME
/ etc / profile của mình, nó sẽ tạo hoặc cập nhật tệp bất cứ khi nào ai đó đăng nhập. Khác với việc phải tạo thư mục đó với quyền 777, điều này đáp ứng nhu cầu của tôi. Đi để tìm ra rằng tiếp theo.