Làm thế nào để hủy thời gian chờ sudo còn áp dụng hiện tại?


37

Khi tôi vừa chạy sudo, và không muốn nó duy trì hoạt động trong thời gian chờ bình thường, làm cách nào tôi có thể hủy thời gian chờ hoạt động còn lại đó?

sudo -k giết nó cho phiên thiết bị đầu cuối hiện tại, nhưng nếu một quy trình hiện đang chạy trong phiên đó và vì vậy không thể chạy sudo -k, có cách nào để hủy nó khỏi phiên cuối khác không?

Và có cách nào để hủy tất cả sudothời gian hiện đang áp dụng (cho tất cả các phiên cuối và tất cả các ứng dụng đang chạy gksudo, v.v.?

Mặc dù, hãy nghĩ về nó, một GUI đang chạy có thể chỉ cần tắt, nhưng tôi chỉ kiểm tra xem Alt+ F2giữ cho gksu hoạt động cho các lần gọi tiếp theo.

Câu trả lời:


37

Không chắc chắn nếu bạn có ý định giết thời gian chờ sudo để nó không hết thời gian hoặc vì vậy nó sẽ hết thời gian ngay lập tức, nhưng nếu bạn muốn xóa dấu thời gian còn lại, bạn có thể sử dụng sudo -k

Mặt khác, nếu bạn đang cố gắng hủy thời gian chờ để sudo không hết thời gian, tôi không nghĩ rằng điều đó là có thể làm trong một phiên hiện tại. Cách duy nhất tôi biết sẽ thay đổi timestamp_timeouttrong sudoerstập tin và khởi động lại phiên.


oops .. Tôi là một chút chậm với các chi tiết: Tôi chỉ cần thêm một chút cho câu hỏi của tôi .. về "-k" ... và, vâng, tôi đang đề cập đến một một lần tình hình, mặc dù nó bây giờ không mang vấn đề của một lần "toàn hệ thống". ... Cảm ơn (+1) về câu hỏi hoàn hảo cho câu hỏi oringinaL (thiếu chi tiết) của tôi ..
Peter.O

1
Tôi hoàn toàn không hiểu làm thế nào -Kthực tế khác với -k(khi -k được sử dụng bởi nó) .., nhưng -kcó một cách sử dụng gấp đôi: 1. bởi chính nó (vô hiệu hóa dấu thời gian) ... 2. khi được sử dụng với một lệnh, nó nhắc nhở về mật khẩu, bất kể thời gian chờ sudo trước đó đã hết hạn hay chưa ..... Và nhân tiện: sudo -k hoạt động trong Alt + F2 để giết dấu thời gian của cuộc gọi sudo / gksu trước đó.
Peter.O

Vâng, tôi không biết khi nào tôi sẽ sử dụng cái này hơn cái kia.
wajiw

Ngoài vấn đề "tiêu diệt tất cả các dấu thời gian hiện có" .... Không thay đổi cài đặt sudoers cơ bản , cách duy nhất tôi có thể thấy để chạy sudo "được bảo đảm một lần duy nhất là sudo -k; sudo -k appname.... bởi vì mặc dù sudo -k appnamebuộc người dùng phải nhập mật khẩu, nó để lại dấu thời gian tồn tại trước đó không thay đổi ... (tôi đề cập đến nó giống như "griss to the mill") ... và có lẽ cách đơn giản nhất để "giết" tất cả các dấu thời gian hiện có, chỉ đơn giản là tránh vấn đề hoàn toàn và nhấn Ctrl + Alt + L để Khóa màn hình. :)
Peter.O

hahaha nếu bạn có khả năng, tôi sẽ đi với tùy chọn đó
wajiw

8

Chỉ trên một trong những điểm của bạn:

nhưng nếu một quy trình hiện đang chạy trong phiên đó và vì vậy không thể chạy sudo -k

Điều này là cụ thể cho dòng lệnh, nếu bạn muốn làm bất cứ điều gì trong khi một số quy trình khác đang chạy, bạn có thể nhấn Ctrl+ Zđể tạm dừng quá trình; sau đó bạn có quyền truy cập vào thiết bị đầu cuối hiện tại một lần nữa, làm bất cứ điều gì bạn thích. Khi bạn hoàn thành, bạn có thể nhập jobsđể nhận danh sách các quy trình, với một số bên cạnh chúng. Nhập fg 1(ví dụ - và chỉ đơn giản là fgnếu chỉ có một công việc) để khởi động lại một quy trình, nâng nó lên nền trước. Tương tự, bgđể làm điều tương tự nhưng để quá trình chạy trong nền.

Ví dụ phiên

$ sudo apt-get install hello
<CTRL+Z>
[1]+  Stopped    sudo apt-get install hello
$ sudo -k
$ jobs
[1]+  Stopped    sudo apt-get install hello
$ fg 1
Loading database...
....

1
Stefano: Cảm ơn ... điều đó thật tuyệt ... Linux cứ nói với tôi, "Vâng, tất nhiên là tôi có thể làm được" :) ... và, khi nghĩ về nó, tôi đã nhận thức được một nửa về Ctrl đó + Z, nhưng một nửa là không đủ!) ... Bây giờ tôi đã gặp phải một tình huống "thực sự" khi nó không chỉ là văn bản trên màn hình, tôi chắc chắn tôi sẽ không bao giờ quên nó ... phải đi .. Tôi đã có một số Cntrl + Z-ing để làm ...
Peter.O

2

Tôi tìm thấy một giải pháp. vì tìm kiếm của tôi không hiển thị bất cứ điều gì giống nhau và đây là một câu hỏi thường gặp: sudo lưu trữ ở đâu đó trên hệ thống tệp (ví dụ: trong / var / run / sudo), một thư mục cho mỗi tên người dùng, một số tệp hoạt động như dấu thời gian , một tệp cho mỗi thiết bị đầu cuối. xóa các tập tin đó và hệ thống của bạn được an toàn trở lại. chỉ cần lưu ý rằng các tệp đó chỉ hiển thị với root (nếu không, kẻ xâm nhập có thể đọc dấu thời gian và đặt thời gian quay lại thời điểm chúng vẫn còn hiệu lực - cấp root-ls cho bất kỳ ai là nguy hiểm). do đó, trong / etc / pm / ngủ / và cũng có thể cho trình bảo vệ màn hình tôi chạy:

rm -f /var/db/sudo/*/*

là gốc của khóa học ...

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.