Làm cách nào để ngăn chặn Chính sách yêu cầu mật khẩu?


24

Trong nhiều năm, tôi đã có những điều sau đây trong sudoerstập tin của mình :

scott   ALL=NOPASSWD: ALL

Đối với những người không biết, điều này ngăn cản sudovà bạn bè ( gksudo, v.v.) yêu cầu mật khẩu. Tuy nhiên, trong những năm qua, ngày càng nhiều thứ đã từng được sử dụng sudođã được chuyển sang sử dụng PolicyKit.

Tôi đang tìm một cấu hình tương đương cho PolicyKit, vì vậy nó sẽ không bao giờ hỏi tôi mật khẩu của tôi.

Đối với những người không thích yêu cầu của tôi, hãy để tôi nói điều này: Tôi hiểu lý do cho cấu hình mặc định và chúng là âm thanh. Tôi cũng hiểu những rủi ro vốn có trong cấu hình tôi muốn thực hiện. Tuy nhiên, đó là cách tôi muốn thiết lập hệ thống của mình. Những người không hiểu đầy đủ những điều trên không nên thử những gì tôi đang cố gắng.

Câu trả lời:


15

Bạn có thể lừa Chính sách và loại bỏ TẤT CẢ lời nhắc mật khẩu bằng cách thay thế hành động bằng ký tự đại diện.

TUYÊN BỐ TỪ CHỐI: Phần sau đây sẽ loại bỏ TẤT CẢ lời nhắc mật khẩu trên toàn cầu cho mọi người thuộc nhóm quản trị, ngoại trừ màn hình đăng nhập. Nó cực kỳ nguy hiểm và KHÔNG BAO GIỜ nên được thực hiện bởi vì rất có thể BẠN S END KẾT THÚC HỆ THỐNG CỦA BẠN !!

Đừng nói rằng bạn đã không cảnh báo!

LƯU Ý: Nếu bạn đang chạy 12.04 trở lên, hãy thay thế "quản trị viên" bằng "sudo"!

Thay thế "tên người dùng" bằng tên người dùng thực tế của bạn:

usermod -aG admin username

Chuyển sang root:

sudo -i

Tạo chính sách mới:

gedit /var/lib/polkit-1/localauthority/50-local.d/disable-passwords.pkla

Thêm những điều sau:

[Do anything you want]
Identity=unix-group:admin
Action=*
ResultActive=yes

Lưu và thoát. Sau đó đi thử một cái gì đó thường yêu cầu mật khẩu. :)

LƯU Ý: Không quan trọng bạn sử dụng làm tên tệp .pkla của mình. Bạn có thể đặt tên cho nó bất cứ điều gì bạn muốn.

Và cuối cùng, đây là chính sách DUY NHẤT bạn sẽ cần khi nói đến việc chặn các lời nhắc mật khẩu bởi vì một lần nữa, nó lại làm như vậy trên toàn cầu.


Điều này cũng hoạt động trên Fedora khi bạn thay thế adminnhóm bằng wheel. Cảm ơn!
Kenny Rasschaert

3
Ai đó có thể mô tả chính xác làm thế nào điều này sẽ "phá vỡ" hệ thống?
Mehrdad

3
Vâng làm ơn. Làm thế nào điều này sẽ phá vỡ hệ thống? Không phải cái này! Một cái gì đó ngu ngốc mà bạn làm sau này sẽ phá vỡ hệ thống, nhưng không phải cái này! Điều này sẽ cho phép bạn làm bất cứ điều gì trên máy chủ mà không cần mật khẩu. Nếu bạn làm điều gì đó ngu ngốc, bạn sẽ phá vỡ hệ thống. Nếu bạn phải đặt mật khẩu và bạn làm điều gì đó ngu ngốc, bạn sẽ phá vỡ hệ thống. Điều này, per-se, chỉ làm cho nó dễ dàng hơn một chút để làm điều gì đó ngu ngốc.
dangonfast

1
@ jeckyll2 leather Đọc LƯU Ý - nó giải thích tại sao OP chọn [Install package file]. Hoặc bạn không đồng ý với điều này và LƯU Ý yêu cầu chỉnh sửa tương tự hoặc chỉnh sửa của bạn không hợp lệ và nên được khôi phục.
bcbc

1
@prusswan bạn có thể sử dụng Identity=unix-user:scottđể chỉ cho phép người dùng "scott" thực hiện hành động. Ngoài ra nếu bạn chỉ muốn cho phép một số hành động nhất định, bạn có thể grep /var/log/auth.log và polkitd sẽ xuất tên đầy đủ của polkit bạn đang thử khi bạn được nhắc nhập mật khẩu. cat /var/log/auth.log | grep polkitdsẽ cung cấp cho bạn một danh sách khá nhanh về họ
Scott

8

Bạn có thể tạo một .pkla, tất cả trong một hoặc một cặp dựa trên các nhóm hành động, không thực sự quan trọng.

Để tham khảo, hãy xem / usr / share / polkit-1 / hành động, mở những người quan tâm trong trình soạn thảo văn bản để nhận id hành động.

Theo như .pkla hoặc 2 tôi tìm thấy nơi tốt nhất để đặt chúng ở đây, nó sẽ được bảo vệ khỏi mọi cập nhật

/var/lib/polkit-1/localauthority/50-local.d

Vì vậy, ví dụ ở đây là cái chính của tôi, được đặt tên là pack-manager.pkla mặc dù nó mở rộng hơn một chút so với chính sách quản lý gói

[Install package file]
Identity=unix-group:admin
Action=org.debian.apt.install-file;org.debian.apt.update-cache;org.debian.apt.install-or-remove-packages;org.debian.apt.upgrade-packages
ResultActive=yes

[Install package synaptic]
Identity=unix-group:admin
Action=com.ubuntu.pkexec.synaptic
ResultActive=yes

[Change add repo]
Identity=unix-group:admin
Action=com.ubuntu.softwareproperties.applychanges;org.debian.apt.change-repository
ResultActive=yes

[usbcreator format]
Identity=unix-group:admin
Action=com.ubuntu.usbcreator.format
ResultActive=yes

[Install bootloader]
Identity=unix-group:admin
Action=com.ubuntu.usbcreator.bootloader
ResultActive=yes

[Add users]
Identity=unix-group:admin
Action=org.freedesktop.accounts.user-administration
ResultActive=yes

Lưu ý rằng bắt đầu từ 12.04 , nhóm được sử dụng cho người dùng "admin" nên được đổi thành sudo, nghĩa là.

Identity=unix-group:sudo

Cũng lưu ý rằng các hành động có thể được xâu chuỗi lại với nhau trên mỗi phần, không có khoảng trắng, sử dụng a; ở giữa id


Có vẻ như bạn đang thực hiện cài đặt cho từng chương trình. Điều đó có vẻ khá tẻ nhạt, đặc biệt nếu sau này tôi cài đặt một số chương trình khác muốn sử dụng Chính sách. Tôi đang tìm cách để thay đổi cấu hình toàn cầu ảnh hưởng đến mọi thứ.
Scott Severance

1
Chưa bao giờ thấy bất kỳ cách nào ảnh hưởng đến 'toàn cầu', đừng tin rằng đó là cách bộ công cụ chính sách hoạt động, có một bộ chính sách cho mỗi id hành động
doug

0

Một tùy chọn, nếu bạn biết bạn đang làm gì, là tắt hoàn toàn bộ chính sách.

sudo apt-get remove libpolkit-agent-1-0


1
Nó loại bỏ quá nhiều gói thiết yếu, như network-manager, gnome-control-centervà nhiều hơn nữa. Có cách nào tốt hơn?
Suncatcher
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.