Tôi có một ứng dụng giao diện người dùng (sử dụng GTK) cho Linux yêu cầu phải chạy dưới dạng root (nó đọc và ghi/dev/sd *).Xác thực ứng dụng GTK để chạy với quyền root
Thay vì yêu cầu người dùng mở vỏ gốc hoặc sử dụng "sudo" theo cách thủ công mỗi khi khởi chạy ứng dụng của tôi, tôi tự hỏi liệu ứng dụng có thể sử dụng một số API do OS cung cấp để có quyền root hay không. (Lưu ý: gtk của ứng dụng không thể sử dụng chế độ "setuid", do đó, đó không phải là một tùy chọn ở đây.)
Lợi thế ở đây sẽ là một quy trình dễ dàng hơn: Người dùng có thể, từ tài khoản người dùng mặc định của mình, nhấp đúp vào ứng dụng của tôi từ máy tính để bàn thay vì phải mở một thiết bị đầu cuối gốc và khởi chạy nó từ đó. Tôi yêu cầu điều này vì OS X cung cấp chính xác điều này: Một ứng dụng có thể yêu cầu hệ điều hành khởi chạy một tệp thực thi với quyền root - HĐH (chứ không phải ứng dụng) sau đó yêu cầu người dùng nhập thông tin xác thực của họ, xác minh chúng mục tiêu như mong muốn.
Tôi tự hỏi nếu có điều gì đó tương tự cho Linux (Ubuntu, ví dụ)
Làm rõ:
Vì vậy, sau khi gợi ý tại PolicyKit Tôi tự hỏi nếu tôi có thể sử dụng để có được r/w truy cập vào các thiết bị chặn "/ dev/sd ...". Tôi tìm thấy tài liệu khá khó hiểu, vì vậy tôi nghĩ trước tiên tôi sẽ hỏi liệu điều này có thể xảy ra trước khi tôi dành hàng giờ để cố gắng hiểu nó một cách vô ích.
Cập nhật:
Ứng dụng là một công cụ sửa chữa đĩa hoạt động từ xa cho người dùng Linux unsavvy, và những noobs Linux sẽ không có nhiều hiểu biết về sử dụng sudo hoặc thậm chí thay đổi thành viên nhóm của người dùng của họ, đặc biệt là khi đĩa của họ mới bắt đầu diễn xuất và họ đang hoảng sợ. Đó là lý do tại sao tôi tìm kiếm một giải pháp tránh các kỹ thuật như thế này.
Chắc chắn có thể thiết lập mọi thứ như vậy - ví dụ, trình quản lý gói Synaptic thường được thiết lập theo cách đó. – caf
Tôi không chắc bạn có thực sự muốn chạy dưới dạng root hay không. Nếu bạn chỉ cần truy cập vào đĩa, tốt hơn là thêm người dùng vào nhóm "đĩa". –
Milan - Ứng dụng của tôi hoạt động như một công cụ sửa chữa đĩa một lần. Tôi không nghĩ rằng bất cứ ai muốn sử dụng nó sẵn sàng thay đổi cài đặt toàn hệ thống của mình cho điều này, gần như vĩnh viễn. –