2013-07-20 15 views

Trả lời

5

1) Bằng cách thay đổi quyền để cho phép ghi vào thư mục trong thông báo lỗi.

2) Bằng cách đặt python.cachedir.skip = true

Bạn có thể đọc:

http://www.jython.org/jythonbook/en/1.0/ModulesPackages.html#module-search-path-compilation-and-loading

cho hiểu biết sâu sắc hơn nữa.

+0

tôi sẽ thận trọng bất cứ ai sử dụng câu trả lời này trong một môi trường sản xuất. Không đặt quyền thế giới có thể ghi là mời mọi người có quyền truy cập cục bộ vào khỉ bằng bộ nhớ cache của bạn. Có vẻ như một khai thác tiềm năng! – Carl

2

Làm cho các thư mục có thể ghi được trên thế giới có thể ghi nhận được vấn đề "biến mất", tuy nhiên, nó giới thiệu một lỗ hổng bảo mật rất lớn. Bất cứ ai cũng có thể giới thiệu mã vào thư mục có thể ghi trên thế giới hiện tại sẽ được thực hiện trong môi trường jpython của người dùng.

Đặt bộ đệm ẩn để bỏ qua có lẽ sẽ dẫn đến giảm hiệu suất (tại sao thực hiện lược đồ bộ nhớ đệm ngoài cải thiện hiệu suất).

Thay vào đó tôi đã làm như sau:

Tôi tạo ra một nhóm mới (trong trường hợp nhật thực của tôi, nhưng nó có thể đã được jpython). Tôi đã thêm người dùng jpython vào nhóm đó.

$ sudo groupadd eclipse 

Sau đó, tôi đã thay đổi nhóm thư mục bổ sung eclipse và các con của nó thành 'nhật thực'.

/opt/eclipse/plugins $ sudo chgrp -R eclipse * 

Sau đó, tôi đã thay đổi các điều khoản nhóm như sau

/opt/eclipse/plugins $ sudo chmod -R g+w * 
/opt/eclipse/plugins $ find * -type d -print | sudo xargs chmod g+s 

này thêm vào nhóm ghi, và thiết lập các bit S_GID trên tất cả các thư mục đệ quy. Bit cuối cùng này tạo ra các thư mục mới được tạo để có cùng một id nhóm làm cha mẹ của chúng.

Cú chạm bóng cuối cùng là thay đổi umask cho người sử dụng thiết lập để thực 007.

$ sudo vi /etc/login.def 

thay đổi umask đến 007 (từ 022). umask = 007

5

Bạn có thể thay đổi vị trí của thư mục bộ nhớ cache để một nơi mà bạn đã đọc & ghi vào bằng cách thiết lập "python.cachedir" tùy chọn khi khởi động Jython, ví dụ:

jython -Dpython.cachedir=*your cachedir directory here* 

hoặc:

java -jar my_standalone_jython.jar -Dpython.cachedir=*your cachedir directory here* 

Bạn có thể đọc về con trăn.cachedir tùy chọn ở đây: http://www.jython.org/archive/21/docs/registry.html

0

Việc sửa chữa đơn giản nhất tôi tìm thấy cho đến nay là để làm:

$ sudo chmod -R 777 /opt/jython/cachedir 
Các vấn đề liên quan