Tôi có thể tùy chỉnh sudo vào sự cố này không?


20

Có thể, trên Linux hoặc trên các hệ thống BSD, để tùy chỉnh sudothông báo "sự cố này sẽ được báo cáo" không? Tôi đã đi qua man sudoman sudoerstrên một máy Ubuntu 16.04, máy FreeBSD 10.2 và máy Fedora 23 và tôi không tìm thấy bất cứ điều gì hữu ích.

Câu trả lời:


31

Từ Hướng dẫn Sudoers bên dưới là thông báo duy nhất bạn được phép định cấu hình với sudo conf.

badpass_message="Sorry, try again."

Tuy nhiên, để trả lời câu hỏi của bạn, bạn rất sẵn lòng biên dịch bản sao sudo của riêng bạn.

Đây sẽ là thông điệp bạn đang nhận được.


12
Ah, vẻ đẹp của nguồn mở. Không thích cái gì? Thay đổi chính mình!
phyrfox

4
"Thay đổi sudo!" nhưng tôi không biết làm thế nào! "sudo thay đổi sudo!" đuợc.
Mehrdad

14

Về mặt nào đó, thông báo này đã được tùy chỉnh bởi vì, đối với nhiều phần của GNU / Linux, sudođược quốc tế hóa và sử dụng gettext Hỗ trợ ngôn ngữ bản địa để tra cứu hầu hết các chuỗi để thay thế chúng bằng phiên bản bản địa bằng ngôn ngữ khác.

Ví dụ: bạn có thể xem tệp tiếng Pháp ở đây có các mục:

msgid "%s is not in the sudoers file.  This incident will be reported.\n"
msgstr "%s n'apparaît pas dans le fichier sudoers. Cet événement sera signalé.\n"

msgid "%s is not allowed to run sudo on %s.  This incident will be reported.\n"
msgstr "%s n'est pas autorisé à exécuter sudo sur %s. Cet événement sera signalé.\n"

Vì vậy, để thay đổi tin nhắn bạn cần xác định ngôn ngữ / ngôn ngữ nào? và chỉnh sửa tệp NLS thích hợp. Tuy nhiên, người dùng có thể không sử dụng ngôn ngữ, vì vậy điều này sẽ không có hiệu lực.


Ngoài ra, bạn có thể sử dụng một trình soạn thảo nhị phân để thay thế các chuỗi trong /usr/libexec/sudo/sudoers.so, nơi nó xảy ra, bởi một chuỗi các chính xác cùng kích thước và với cùng một số %sthông số. Vì điều này sẽ không còn phù hợp với gettextdịch thuật, nó sẽ áp dụng cho tất cả các địa phương. Ví dụ

sed < /usr/libexec/sudo/sudoers.so 's/This incident will be reported/This incident WILL BE REPORTED/' >/tmp/sudoers.so
cmp -l /usr/libexec/sudo/sudoers.so /tmp/sudoers.so

Sử dụng cmpđể đảm bảo bạn không làm hỏng tệp.


Chắc chắn chúng ta có thể làm cho nó có độ dài khác nhau bằng cách biên dịch lại sudo?
gerrit

@gerrit có, giải pháp tốt nhất sẽ là chỉnh sửa nguồn và biên dịch lại chương trình.
meuh

3
Bạn có thể làm cho tin nhắn ngắn hơn bằng cách đệm bằng các ký tự nul, vì C sử dụng các chuỗi kết thúc nul.
Nate Eldredge

@NateEldredge Điểm tốt.
meuh
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.