Đăng nhập phiên shell BASH trên máy chủ từ xa


8

Phương pháp tốt nhất để ghi lại phiên shell BASH vào một tệp trên máy chủ là gì?

Định dạng đầu ra ưa thích sẽ tương đương với cài đặt nhật ký "đầu ra có thể in" của PuTTY, khi người dùng xem bao gồm đầu vào và bao gồm dữ liệu ký tự điều khiển của ncurses.


Tò mò muốn biết bạn đang sử dụng vỏ nào.
dr.pooter

Câu trả lời:


4

Có thể đáng để xem xét các chương trình kiểm toán hệ thống hoặc hệ vỏ như rootsh hoặc sudosh .


rootsh hóa ra là gần nhất với những gì tôi muốn, cảm ơn.
Andy

1
Bạn cũng có thể xem xét acct / psacct (kế toán BSD) hoặc snoopy. Họ không đăng nhập đầu ra, nhưng họ cũng ít dài dòng hơn. Xem: cyberciti.biz/tips/ từsourceforge.net/projects/snoopylogger
Mircea Vutcovici

Các rootshứng dụng hiện không được chấp nhận và sudoshdường như không rõ ràng. Chúng tôi đã triển khai một trình bao bọc mỏng như giấy sudođể cho phép sudođược sử dụng làm vỏ đăng nhập cho mục đích ghi nhật ký phiên. Xem tại đây: github.com/cloudposse/sudosh
Erik Osterman

2

Bạn có thể bắt đầu màn hình gnu và sử dụng tính năng đăng nhập. Tôi không biết bất cứ điều gì sẽ cung cấp cho bạn một bản ghi thực sự tốt cho các ứng dụng ncurses như hàng đầu.

màn hình người đàn ông

log [on|off]

Start/stop writing output of the current window to a file "screenlog.n"
in the window's default directory, where n is the number of the current
window. This filename can be changed with the `logfile' command. ...

logfile filename
logfile flush secs

Defines the name the log files will get. The default is "screenlog.%n".
The  second  form changes the number of seconds screen will wait before
flushing the logfile buffer to the file-system. The default value is 10
seconds.

Đầu ra của màn hình tương đương với tập lệnh - xử lý ncurses dường như không được hỗ trợ.
Andy


1

Các scriptchương trình sẽ mất một bản ghi đầy đủ của phiên shell của bạn. Nếu không nó tương đương với bất kỳ thứ PuTTY nào.


Cảm ơn, nhưng nó không phù hợp khi tôi dành thời gian cho phần mở với phần mở đầu, màn hình này ghi là: [andy @ 165 ~] $ top ESC [HESC [2JESC (BESC [mtop - 23:34:49 lên 19 ngày, 17) : 42, 1 người dùng, tải trung bình: 0,11, 0,07, 0,01ESC (BESC [mESC [39; 49mESC [K
Andy

0

Tôi không chắc chính xác những gì bạn đang cố gắng đạt được ở đây. Đây là cho đào tạo hoặc pháp y? Nếu bạn muốn một cái gì đó tạo ra các tệp nhật ký dễ đọc, có lẽ bạn không gặp may. Nếu bạn đang xem có thể phát lại các phiên, ttyrec là những gì bạn đang theo đuổi. Bạn có thể chạy nó như một phần của tập lệnh đăng nhập để ghi lại phiên của người dùng, nhưng hãy đảm bảo bạn sử dụng 'bẫy' để ngăn người dùng thoát khỏi ttyrec và quay lại trình bao.


Kiểm toán cá nhân và ghi nhật ký văn bản đơn giản; phát lại các phiên là không cần thiết.
Andy

2
kịch bản là thứ gần nhất với những gì bạn muốn, mặc dù như đã nói, nó không thể xử lý được những điều cần thiết. Chúng tôi sử dụng tập lệnh để ghi nhật ký tất cả các phiên và chỉ cần thử xem qua mớ hỗn độn mà ncurses sẽ tạo ra.
goo

Cảm ơn Geoff, có vẻ như tôi có thể bị mắc kẹt với kịch bản sau đó.
Andy

0

Tất cả các lệnh đã nhập được ghi vào tệp .bash_history, thông thường trong nhà của bạn. Bạn có thể đặt số lượng dòng được lưu trữ thông qua cài đặt HISTFILESIZE.

Không có dấu thời gian và đầu ra, tuy nhiên.

Nếu điều này thực sự cần thiết, tôi sẽ tạo một trình bao bọc xung quanh bash, sao chép stdin và stdout vào một tệp và xử lý nó.


0

Bạn có thể thử sử dụng http://xgu.ru/wiki/LiLaLo Nó được sản xuất tại Nga, vì vậy tài liệu cũng bằng tiếng Nga, nhưng Google Dịch sẽ giúp bạn. Dưới đây là một ví dụ về đầu ra: (nguồn: xgu.ru )văn bản thay thế


Bản dịch là một chút rắc rối. Điều này sẽ xử lý một cái gì đó giống như một quá trình hàng đầu tương tác.
dr.pooter

như hình ảnh, nó không xử lý vi, vì vậy tôi không nghĩ là hàng đầu. Nhưng đăng nhập là khá hấp dẫn.
TiFFolk
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.