Đối với ứng dụng Java:
Trên thực tế đối với trường hợp JDoader, Đây là một thiết kế mô-đun. Biểu tượng khay xuất hiện dưới dạng plugin có thể bị vô hiệu hóa từ:
JDoader → Addons → Addon Manager → Tiện ích mở rộng → Bỏ chọn hộp Kích hoạt cho JD Light Khay
Đối với trường hợp chung của ứng dụng Java, có thể sử dụng trình quản lý bảo mật Java bằng cách viết quy tắc chính sách tùy chỉnh.
Tạo java.policy
tập tin ~/.jdownloader
chứa:
grant codeBase "file:/home/user/.jdownloader/-" {
// full access
// permission java.security.AllPermission;
// AWTPermission full or only selected elements from it
// permission java.awt.AWTPermission "*";
permission java.awt.AWTPermission "accessClipboard";
permission java.awt.AWTPermission "accessEventQueue";
// permission java.awt.AWTPermission "accessSystemTray";
permission java.awt.AWTPermission "createRobot";
permission java.awt.AWTPermission "fullScreenExclusive";
permission java.awt.AWTPermission "listenToAllAWTEvents";
permission java.awt.AWTPermission "readDisplayPixels";
permission java.awt.AWTPermission "replaceKeyboardFocusManager";
permission java.awt.AWTPermission "setAppletStub";
permission java.awt.AWTPermission "setWindowAlwaysOnTop";
permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
permission java.awt.AWTPermission "toolkitModality";
permission java.awt.AWTPermission "watchMousePointer";
// Added by try and learn
permission java.io.FilePermission "/-", "read,write,delete";
permission java.util.PropertyPermission "*", "read,write";
permission java.util.logging.LoggingPermission "control";
permission java.lang.RuntimePermission "*";
permission java.net.NetPermission "*";
permission java.security.SecurityPermission "*";
permission javax.net.ssl.SSLPermission "*";
permission java.net.SocketPermission "*", "connect,resolve";
permission java.lang.reflect.ReflectPermission "*";
};
Sửa đổi jdownloader
tập lệnh khởi chạy để sử dụng chính sách tùy chỉnh
sudo nano /usr/bin/jdownloader
Thêm: -Djava.security.manager -Djava.security.policy=java.policy
vào lệnh gọi java:
exec java ${JAVA_OPTIONS} -Djava.security.manager -Djava.security.policy=java.policy -jar JDownloader.jar $*
Đây là những quy tắc tối thiểu cho phép tôi khởi chạy jdoader. Bạn có thể cần thêm nhiều quyền hơn. Bởi vì không có deny
tùy chọn bạn phải viết tất cả các grant
quy tắc cần thiết .
Người giới thiệu:
BTW, cố gắng nhận xét một trong các quy tắc bằng cách thêm //
vào đầu dòng; Vì vậy, bạn có thể thấy lỗi của các quyền bị từ chối trông như thế nào. Nó cho bạn biết bạn nên thêm quyền nào. Cũng lưu ý rằng tôi đã sử dụng nhiều -
và *
cố gắng mở rộng các quy tắc vì tôi đang tìm kiếm một giải pháp nhanh chóng (mặc định là AllPermission
dù sao) và tôi không muốn bỏ tù ứng dụng.
Đây là một mẫu để bắt đầu, cố gắng cấp tất cả các quyền có thể:
grant codeBase "file:/home/user/.jdownloader/-" {
// permission java.security.AllPermission;
// permission java.awt.AWTPermission "*";
permission java.awt.AWTPermission "accessClipboard";
permission java.awt.AWTPermission "accessEventQueue";
// permission java.awt.AWTPermission "accessSystemTray";
permission java.awt.AWTPermission "createRobot";
permission java.awt.AWTPermission "fullScreenExclusive";
permission java.awt.AWTPermission "listenToAllAWTEvents";
permission java.awt.AWTPermission "readDisplayPixels";
permission java.awt.AWTPermission "replaceKeyboardFocusManager";
permission java.awt.AWTPermission "setAppletStub";
permission java.awt.AWTPermission "setWindowAlwaysOnTop";
permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
permission java.awt.AWTPermission "toolkitModality";
permission java.awt.AWTPermission "watchMousePointer";
permission javax.sound.sampled.AudioPermission "*";
permission javax.security.auth.AuthPermission "*";
// permission javax.security.auth.kerberos.DelegationPermission "";
permission javax.xml.bind.JAXBPermission "*";
permission java.nio.file.LinkPermission "hard";
permission java.nio.file.LinkPermission "symbolic";
permission java.util.logging.LoggingPermission "control";
// permission java.lang.management.ManagementPermission "*";
permission javax.management.MBeanServerPermission "*";
permission javax.management.MBeanTrustPermission "*";
permission java.net.NetPermission "*";
permission java.util.PropertyPermission "*", "read,write";
permission java.lang.reflect.ReflectPermission "*";
permission java.lang.RuntimePermission "*";
permission java.security.SecurityPermission "*";
permission java.io.SerializablePermission "*";
permission java.sql.SQLPermission "*";
permission javax.net.ssl.SSLPermission "*";
permission javax.management.remote.SubjectDelegationPermission "*";
permission javax.xml.ws.WebServicePermission "*";
// permission "*";
permission java.io.FilePermission "/-", "read,write,execute,delete,readlink";
permission javax.management.MBeanPermission "*", "*";
// permission javax.security.auth.PrivateCredentialPermission "", "read";
permission javax.security.auth.kerberos.ServicePermission "*", "initiate,accept";
permission java.net.SocketPermission "*", "accept,connect,listen,resolve";
permission java.net.URLPermission "*";
};
Lưu ý :
Công cụ chính sách Java là một công cụ GUI để chỉnh sửa các tệp chính sách. Nó làm cho nó dễ dàng hơn để tìm ra tất cả các tùy chọn có sẵn từ hộp thả. Nó đã được cài đặt với gói Java.