<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    心無(wú)痕的博客

    常用鏈接

    統(tǒng)計(jì)

    積分與排名

    JAVA技術(shù)文檔

    JAVA精典網(wǎng)站

    開(kāi)發(fā)工具

    數(shù)據(jù)庫(kù)

    最新評(píng)論

    Tomcat或Resin使用security-manager的問(wèn)題--轉(zhuǎn)載

    我們打算為用戶架設(shè)單獨(dú)的虛擬主機(jī)服務(wù)器,可以讓企業(yè)自主上傳jsp、htm、php等程序。其中resin用來(lái)做jsp的容器。
         由于是用戶自主通過(guò)FTP上傳程序,我們必須控制這些程序可以執(zhí)行的權(quán)限,不能讓用戶隨便瀏覽硬盤(pán)上的文件,但又要能讓resin可以正常運(yùn)行。比如:/data/user_a目錄中的程序,只能在/data/user_a目錄及其子目錄中讀寫(xiě),如果想要訪問(wèn)其他目錄,就沒(méi)有權(quán)限。
         通過(guò)研究resin的文檔以及JAVA的機(jī)制,我認(rèn)為要實(shí)現(xiàn)以上構(gòu)想,可以通過(guò)使用java權(quán)限管理器來(lái)構(gòu)建一個(gè)resin的沙箱來(lái)對(duì)java的具體操作進(jìn)行授權(quán)。
    參考文檔:http://www.caucho.com/resin-3.0/security/securitymanager.xtphttp://www.jscud.com/srun/news/viewhtml/3_2005_10/148.htm

         當(dāng)我認(rèn)為勝利在望的時(shí)候,發(fā)現(xiàn)resin好像不支持grant codeBase "file:xxxx 。

    grant codeBase "file:/data/ftpdata/user01.test.com/-" {
     permission java.io.FilePermission "/data/ftpdata/user01.test.com/-", "read,write,delete";
    };
         上面的語(yǔ)句,語(yǔ)法上沒(méi)有問(wèn)題,但就是不起作用。那個(gè)codebase目錄下的文件,對(duì)本目錄沒(méi)有任何權(quán)限。

            resin的官方論壇里面,有人在2001年,針對(duì)resin1.2.5就提出了和我一摸一樣的疑問(wèn)(http://www.caucho.com/support/resin-interest/0105/0106.html),作者發(fā)現(xiàn)問(wèn)題是由于resin的classloader是非安全的,因此改了resin原文件后解決了問(wèn)題(http://www.caucho.com/support/resin-interest/0105/0112.html),但是我看resin3的源代碼,里面已經(jīng)基于java.security.SecureClassLoader,因此應(yīng)該不是這個(gè)原因了。
         以下是我的resin.policy文件:

    grant codeBase "file:${java.home}/lib/-" {
     permission java.security.AllPermission;
    };

    grant codeBase "file:${java.home}/jre/lib/-" {
     permission java.security.AllPermission;
    };

    grant codeBase "file:${resin.home}/lib/-" {
     permission java.security.AllPermission;
    };

    grant {
     permission java.util.PropertyPermission "*", "read";
     permission java.io.SerializablePermission "enableSubstitution";
     permission java.lang.reflect.ReflectPermission "suppressAccessChecks"; 
     permission java.lang.RuntimePermission "accessClassInPackage.*";
     permission java.lang.RuntimePermission "getClassLoader";
     permission java.lang.RuntimePermission "accessDeclaredMembers";
     permission java.lang.RuntimePermission "modifyThreadGroup";
     permission java.lang.RuntimePermission "setContextClassLoader";
     permission java.lang.RuntimePermission "setIO";
     permission java.lang.RuntimePermission "stopThread";
     permission java.lang.RuntimePermission "createClassLoader";
     permission java.lang.RuntimePermission "getProtectionDomain";
     permission java.lang.RuntimePermission "defineClassInPackage";
     permission java.security.SecurityPermission "putProviderProperty.SunJCE";
     permission java.security.SecurityPermission "insertProvider.SunJCE";
     permission java.util.logging.LoggingPermission "control";
     permission java.lang.RuntimePermission "getAttribute";
     permission java.util.PropertyPermission "jaxp.debug", "read";
     permission ognl.OgnlInvokePermission "invoke.*";
     permission java.net.SocketPermission "localhost:3306","connect";
     permission java.io.FilePermission "${resin.home}/-", "read";
     permission java.io.FilePermission "${java.home}/-", "read";
     permission java.io.FilePermission "/tmp/-","read,write,delete";
     permission java.io.FilePermission "/tmp","read,write,delete";
     permission java.io.FilePermission ".","read";
     permission java.io.FilePermission "/home/apps/java/jdk/lib/tools.jar","read";
     permission java.io.FilePermission "/bin/sh", "read,execute";
    };

    //以下語(yǔ)句沒(méi)有任何作用,/data/ftpdata/user01.test.com/下的jsp對(duì)這個(gè)目錄沒(méi)有讀的權(quán)限
    grant codeBase "file:/data/ftpdata/user01.test.com/-" {
     permission java.io.FilePermission "/data/ftpdata/user01.test.com/-", "read,write,delete";
    };

    posted on 2008-03-08 11:46 心無(wú)痕 閱讀(841) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): JAVA

    主站蜘蛛池模板: 国产亚洲色视频在线| 免费看大黄高清网站视频在线| ZZIJZZIJ亚洲日本少妇JIZJIZ| 精品亚洲成A人在线观看青青| 日韩免费视频播播| 鲁死你资源站亚洲av| 免费看国产曰批40分钟| 国产成人亚洲综合a∨| 亚洲av区一区二区三| 一级大黄美女免费播放| 中文亚洲成a人片在线观看| 久久久免费观成人影院| 亚洲AV无码一区二区三区系列 | 亚洲av成人一区二区三区观看在线| 美女视频黄的全免费视频网站| 亚洲va久久久久| 免费国产怡红院在线观看| 日韩精品视频在线观看免费| 亚洲中文久久精品无码| 少妇太爽了在线观看免费视频| 亚洲欧洲日产国码www| 免费看大美女大黄大色| 精品久久久久久国产免费了| 中文字幕亚洲综合久久2| 无码国产精品一区二区免费式影视| 亚洲av午夜电影在线观看| 91麻豆国产自产在线观看亚洲| 三年片在线观看免费观看大全动漫| 亚洲一区电影在线观看| 国产极品粉嫩泬免费观看| 中文字幕手机在线免费看电影| 久久精品国产亚洲AV电影| 69式国产真人免费视频| 亚洲av日韩av不卡在线观看| 亚洲中文字幕成人在线| 亚洲激情视频在线观看| 五月婷婷在线免费观看| 亚洲AV永久无码精品网站在线观看 | 久久精品乱子伦免费| 亚洲熟妇无码av另类vr影视| 亚洲一区二区三区在线视频|