Đây là lệnh pkexec có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
pkexec - Thực hiện lệnh với tư cách người dùng khác
SYNOPSIS
PKEXEC. [--phiên bản] [--disable-internal-tác nhân] [--Cứu giúp]
PKEXEC. [--người sử dụng tên truy nhập] CHƯƠNG TRÌNH [TRANH LUẬN...]
MÔ TẢ
PKEXEC. cho phép người dùng được ủy quyền thực thi CHƯƠNG TRÌNH với tư cách là một người dùng khác. Nếu như tên truy nhập không phải là
được chỉ định, sau đó chương trình sẽ được thực thi với tư cách là người dùng cấp cao quản trị, nguồn gốc.
TRỞ VỀ VALUE
Sau khi hoàn thành thành công, giá trị trả về là giá trị trả về của CHƯƠNG TRÌNH. Nếu
quy trình gọi điện không được ủy quyền hoặc không thể nhận được ủy quyền thông qua
xác thực hoặc xảy ra lỗi, PKEXEC. thoát với giá trị trả về là 127. Nếu
không thể nhận được ủy quyền vì người dùng đã loại bỏ hộp thoại xác thực,
PKEXEC. thoát với giá trị trả về là 126.
THẨM QUYỀN ĐẶC VỤ
PKEXEC., giống như bất kỳ ứng dụng PolicyKit nào khác, sẽ sử dụng tác nhân xác thực đã đăng ký
cho quá trình gọi điện. Tuy nhiên, nếu không có tác nhân xác thực nào khả dụng, thì PKEXEC.
sẽ đăng ký đại lý xác thực văn bản của riêng nó. Hành vi này có thể được tắt bằng
vượt qua --disable-internal-tác nhân tùy chọn.
AN NINH GHI CHÚ
Thực thi một chương trình với tư cách là người dùng khác là một hoạt động đặc quyền. Theo mặc định là bắt buộc
ủy quyền (Xem phần được gọi là "ỦY QUYỀN BẮT BUỘC") yêu cầu quản trị viên
xác thực. Ngoài ra, hộp thoại xác thực được hiển thị cho người dùng sẽ hiển thị
đường dẫn đầy đủ đến chương trình sẽ được thực thi để người dùng biết điều gì sẽ xảy ra:
[IMAGE] [1]
+ ------------------------------------------------- --------- +
| Xác thực [X] |
+ ------------------------------------------------- --------- +
| |
| [Biểu tượng] Cần xác thực để chạy `/ bin / bash'|
| với tư cách là siêu người dùng |
| |
| Một ứng dụng đang cố gắng thực hiện một |
| hành động yêu cầu đặc quyền. Xác thực |
| vì người dùng cấp cao được yêu cầu thực hiện điều này |
| hoạt động. |
| |
| Mật khẩu cho người chủ: [_________________________] |
| |
| [V] Thông tin chi tiết: |
| Chỉ huy: / bin / bash |
| Chạy với tư cách: Siêu người dùng (root) |
| Hành động: org.freedesktop.policykit.exec |
| Nhà cung cấp: Dự án PolicyKit |
| |
| [Hủy] [Xác thực] |
+ ------------------------------------------------- --------- +
Môi trường mà CHƯƠNG TRÌNH sẽ chạy nó, sẽ được đặt ở mức tối thiểu đã biết và an toàn
môi trường để tránh chèn mã qua LD_LIBRARY_PATH hoặc tương tự
các cơ chế. Ngoài ra, biến môi trường PKEXEC_UID được đặt thành id người dùng của
quy trình kêu gọi PKEXEC.. Kết quả là PKEXEC. sẽ không cho phép bạn chạy các ứng dụng X11 như
người dùng khác vì các biến môi trường $ DISPLAY và $ XAUTHORITY không được đặt. Này
hai biến sẽ được giữ lại nếu org.freedesktop.policykit.exec.allow_gui chú thích
trên một hành động được đặt thành giá trị không có giá trị nào; điều này không được khuyến khích, mặc dù và chỉ nên
được sử dụng cho các chương trình kế thừa.
YÊU CẦU ỦY QUYỀN
Theo mặc định, org.freedesktop.policykit.exec ủy quyền là bắt buộc trừ khi một hành động
tệp định nghĩa có sẵn cho chương trình được đề cập. Để yêu cầu một ủy quyền khác,
nó có thể được chỉ định bằng cách sử dụng org.freedesktop.policykit.exec.path chú thích về một hành động
(Xem phần “VÍ DỤ” để biết thêm chi tiết).
THÍ DỤ
Để chỉ định loại ủy quyền nào là cần thiết để thực thi chương trình
/ usr / bin / pk-example-frobnicate với tư cách là một người dùng khác, chỉ cần viết một tệp định nghĩa hành động
như thế này
<!DOCTYPE cấu hình chính sách CÔNG CỘNG
"- // freedesktop // Cấu hình chính sách DTD PolicyKit 1.0 // EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
Ví dụ cho Dự án PolicyKit
http://hal.freedesktop.org/docs/PolicyKit/
Chạy chương trình ví dụ PolicyKit Frobnicate
Chính sách Kør Kit eksemplet Frobnicate
Xác thực được yêu cầu để chạy chương trình ví dụ PolicyKit Frobnicate (người dùng = $ (người dùng), chương trình = $ (chương trình), command_line = $ (command_line))
Autorisering er påkrævet for at afvikle PolicyKit eksemplet Frobnicate (user = $ (user), program = $ (program), command_line = $ (command_line))
audio-x-generic
không
không
auth_self_keep
/ usr / bin / pk-example-frobnicate
và thả nó vào / usr / share / polkit-1 / action thư mục dưới một tên phù hợp (ví dụ:
khớp với không gian tên của hành động). Lưu ý rằng ngoài việc chỉ định chương trình,
thông báo xác thực, mô tả, biểu tượng và các giá trị mặc định có thể được chỉ định. Lưu ý rằng
sự xuất hiện của các chuỗi $ (người dùng), $ (chương trình) và $ (dòng lệnh) trong thông báo sẽ là
được thay thế tương ứng bằng người dùng (có dạng "Tên thật (tên người dùng)" hoặc chỉ "tên người dùng"
nếu không có tên thật cho tên người dùng), mã nhị phân để thực thi (một đường dẫn hoàn toàn đủ điều kiện,
ví dụ: "/ usr / bin / pk-example-frobnicate") và dòng lệnh, ví dụ: "pk-example-frobnicate
foo bar ". Ví dụ: đối với hành động được xác định ở trên, hộp thoại xác thực sau
sẽ được hiển thị:
[IMAGE] [2]
+ ------------------------------------------------- --------- +
| Xác thực [X] |
+ ------------------------------------------------- --------- +
| |
| [Biểu tượng] Cần xác thực để chạy PolicyKit |
| chương trình ví dụ Frobnicate |
| |
| Một ứng dụng đang cố gắng thực hiện một |
| hành động yêu cầu đặc quyền. Xác thực |
| được yêu cầu để thực hiện hành động này. |
| |
| Mật khẩu: [__________________________________] |
| |
| [V] Thông tin chi tiết: |
| Lệnh: / usr / bin / pk-example-frobnicate |
| Chạy với tư cách: Siêu người dùng (root) |
| Hành động: org.fd.pk.example.pkexec.run-frobnicate |
| Nhà cung cấp: Ví dụ cho Dự án PolicyKit |
| |
| [Hủy] [Xác thực] |
+ ------------------------------------------------- --------- +
Nếu người dùng đang sử dụng ngôn ngữ da_DK, hộp thoại sẽ giống như sau:
[IMAGE] [3]
+ ------------------------------------------------- --------- +
| Đánh dấu tự động [X] |
+ ------------------------------------------------- --------- +
| |
| [Biểu tượng] Autorisering er påkrævet for at afvikle |
| Ví dụ về PolicyKit Frobnicate |
| |
| Et chương trình forsøger tại udføre vi xử lý der |
| người đặc quyền kræver. Autorisering er påkrævet. |
| |
| Kodeord: [___________________________________] |
| |
| [V] Kẻ phá bĩnh: |
| Bruger: Siêu người dùng (root) |
| Chương trình: / usr / bin / pk-example-frobnicate |
| Xử lý: org.fd.pk.example.pkexec.run-frobnicate |
| Nhà cung cấp: Ví dụ cho Dự án PolicyKit |
| |
| [Annullér] [Autorising] |
+ ------------------------------------------------- --------- +
Lưu ý rằng PKEXEC. không xác nhận TRANH LUẬN đã vượt qua CHƯƠNG TRÌNH. Trong trường hợp bình thường
(nơi yêu cầu xác thực quản trị viên mọi lúc PKEXEC. được sử dụng), đây không phải là
vấn đề vì nếu người dùng là quản trị viên thì anh ta cũng có thể chạy PKEXEC. bash để có được
root.
Tuy nhiên, nếu một hành động được sử dụng mà người dùng có thể duy trì ủy quyền (hoặc nếu người dùng
được ủy quyền ngầm), chẳng hạn như với pk-example-frobnicate ở trên, đây có thể là
lỗ hổng bảo mật. Do đó, theo nguyên tắc chung, các chương trình mà mặc định yêu cầu
ủy quyền được thay đổi, không bao giờ được hoàn toàn tin tưởng đầu vào của người dùng (ví dụ: giống như bất kỳ
được viết tốt SUID chương trình).
Sử dụng pkexec trực tuyến bằng các dịch vụ onworks.net