Làm cách nào tôi có thể buộc người dùng khác đăng xuất?


14

Có cách nào đơn giản để tôi buộc người dùng khác sử dụng hộp linux không, trong khi tôi đăng nhập bằng root? Tôi hiểu rằng tôi có thể xác định loại phiên nào họ đã mở và tiêu diệt pid - nhưng tôi nghĩ rằng phải có một lệnh để làm điều này mà tôi không biết.

Có ý kiến ​​gì không?

Câu trả lời:


15

Bạn có thể đơn giản là slay(1)anh ấy. :-)


Hà! Khéo léo. Tôi chưa bao giờ nghe lệnh này trước đây. Có sẵn trên tất cả các hệ thống? Chắc chắn trông giống như nó đập chết quá trình vỏ của họ.
Jonathon Watney

Nó có thể được đóng gói cho tất cả các bản phát hành, nhưng nếu bạn cần thứ gì đó hoạt động ở mọi nơi, kỹ năng từ Procps --- như Mihai chỉ ra --- có thể là một lựa chọn tốt hơn. Mặc dù vậy, nó có ít kiểu hơn ;-)
David Schmitt

1
openSuse 11.4 - slay: không tìm thấy lệnh :( :(
usr-local-ΕΨΗΕΛΩΝ

Không được cài đặt trên các máy chủ Ubuntu 12.04 hoặc RHEL 3 mà tôi hiện có sẵn, tôi có skilllệnh được chi tiết bởi Mihai Limbăşan. YMMV
David

Cài đặt nó từ vũ trụ: packages.ubuntu.com/search?keywords=slay
David Schmitt

10

Bạn có thể giết tất cả các quy trình của người dùng thông qua skill. Thí dụ:

  • skill -TERM -u username

sẽ gửi SIGTERM cho tất cả các usernamequy trình. Để tiêu diệt chúng tốt (thông qua SIGKILL), hãy sử dụng -KILL thay vì -TERM - tuy nhiên, xin lưu ý rằng rất có thể bạn sẽ khiến chúng mất dữ liệu theo cách đó. Nó rất hiệu quả, hãy nhớ bạn ...

skilllà một phần của procpsgói được cài đặt bởi tất cả các bản phân phối theo mặc định.


Đối với những người khác muốn làm điều này cho tất cả phiên người dùng từ xa, cờ -v ( -v pts/*), từ trang man có thể hữu ích.
David

2

Các pkillkillallđược ưa thích hơn skill. Đây là từ skilltrang người đàn ông:

Những công cụ này có lẽ đã lỗi thời và không thể truy cập được. Cú pháp lệnh được xác định kém. Xem xét sử dụng killall, pkillpgrepcác lệnh để thay thế.

Cái này cần phải dùng mẹo:

sudo pkill -KILL -u [user]

hoặc là

sudo killall -u [user]


0

Một cách dễ dàng khác để làm điều đó là chạy kill -1 <pid>trong đó pid là số ID tiến trình của phiên SSH.

Bằng cách chạy lệnh này, bạn có thể thấy tất cả các cây quy trình sshd , bằng cách hủy ID tiến trình cha, bạn sẽ giết phiên người dùng được liên kết với nó một cách hiệu quả:

$ ptree -p

Tìm sshd và sau đó chạy:

$ kill -1 39383

Trong đó 39383 là một ví dụ về số ID quy trình tùy ý.

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.