Xác thực là cần thiết để quản lý các dịch vụ hoặc đơn vị hệ thống.


19

Tôi có một vấn đề lạ mỗi khi cố gắng dừng / khởi động trình nền như một người dùng thông thường, nó yêu cầu xác thực bằng thông tin đăng nhập của một người dùng thông thường khác - ví dụ:

[bob@server ~]$ systemctl stop some-daemon.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: alice
Password: 

Tại sao nó lại yêu cầu alice xác thực khi đăng nhập bob và làm cách nào để khắc phục điều này?


Tệp cấu hình dịch vụ trông như thế nào?
Jenny D nói Phục hồi Monica

@JennyD: Vị trí tập tin của cấu hình ở đâu?
Jack O'Leary

Bạn muốn gì? Bạn muốn bắt đầu dịch vụ sao chép riêng cho mỗi người dùng? Ví dụ: bắt đầu sở hữu VNC-daemon cho alice và sở hữu VNC-daemon cho bob ?
Alexander Tolkachev

@AlexanderT: Mỗi người dùng cần phải có vncserver của riêng họ, đó là cách nó được thiết kế, vì vậy, có - đó là nhiều hay ít. Mặc dù vậy, Bob không chạy máy chủ vnc, anh ta đang chạy thứ gì đó không liên quan, nhưng khi anh ta cố gắng khởi động thì hệ thống sẽ yêu cầu mật khẩu của alice ... (nhún vai).
Jack O'Leary

@ JackO'Leary, bạn có thể thử sử dụng systemd --usernhư được mô tả trong bài viết này . Nếu không, bạn có thể cung cấp sudo cho mỗi người dùng cho các dịch vụ cần thiết.
Alexander Tolkachev

Câu trả lời:


8

Hệ thống của bạn đang sử dụng polkitTrình quản lý ủy quyền và thông báo từ tệp /usr/share/polkit-1/actions/org.freedesktop.systemd1.policy. polkitcó thể được cấu hình trong /etc/polkit-1/usr/share/polkit-1thư mục, cụ thể hơn là trong rules.dactionsthư mục con. Xem trang người đàn ông Polkit để biết thêm thông tin.


Từ tài liệu: "polkit cho phép người dùng có được ủy quyền tạm thời thông qua xác thực người dùng quản trị hoặc chủ sở hữu phiên mà khách hàng thuộc về." Có lẽ điều này có thể đưa ra manh mối về lý do tại sao nó yêu cầu mật khẩu của alice.
Johan Myréen

Tôi nghĩ rằng bạn đang tham gia vào một cái gì đó ở đây, mặc dù tôi vẫn hoàn toàn không biết nên loại bỏ quy tắc này hay bất cứ điều gì mà người dùng khác luôn yêu cầu xác thực. Tôi đã xem xét cả hai thư mục đó và thậm chí đã thực hiện một grep cho "alice" và không có gì được trả lại.
Jack O'Leary

Bạn đã nói trước đó rằng bạn đã làm một su - alicetrước khi bắt đầu vnc daemon. Tôi đoán điều đó làm cho alice trở thành "chủ sở hữu của phiên khách hàng".
Johan Myréen

Điều không có ý nghĩa mặc dù là nó chỉ được thực hiện cho một dịch vụ, sau đó đã bị dừng và người dùng đã đăng xuất. Dịch vụ khác dành cho bob không liên quan gì đến alice vì nó hoàn toàn khác biệt - Thật kỳ lạ ... Tôi sẽ không vô hiệu hóa hoàn toàn polkit nếu đây là hành vi bình thường.
Jack O'Leary

Bạn có thể tìm ra ai là chủ sở hữu của phiên với loginctllệnh. Điều này có thể xác nhận hoặc bác bỏ lý thuyết của tôi rằng polkit đang yêu cầu chủ sở hữu phiên xác thực. Tôi thực sự không thể nói tại sao alice là chủ sở hữu trong trường hợp này.
Johan Myréen

4

Khi quản lý dịch vụ hệ thống, bạn cần thực hiện nó như root chứ không phải người dùng bình thường. Điều này được chỉ định bởi $ký tự ở cuối dấu nhắc shell.

Bạn có thể sử dụng sudo commandhoặc chuyển sang root (shell root thường được chỉ định bởi #char).


Ngay cả khi tôi đang làm nó với quyền root, nó vẫn yêu cầu xác thực người dùng bình thường. Về cơ bản, người dùng root đã làm su - alice, sau đó systemctlđể bắt đầu vnc daemon của họ, nhưng bây giờ nó yêu cầu xác thực của họ cho systemctldù đó là gì ...
Jack O'Leary

Tôi nhận được thông báo lỗi khi tôi gõ '/etc/init.d/munge start'. Thêm sudo đã sửa nó. Cảm ơn!
fchen

0

Kiểm tra / etc / nhóm và quy tắc sudoers. Điều này có thể xảy ra nếu một người tự thêm vào nhóm bánh xe và trở thành root theo cách đó.

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.