無聊人士

          搬家==》www.soapui.cn

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            32 隨筆 :: 0 文章 :: 60 評論 :: 0 Trackbacks

          #

          已經有orbroker做過好幾個小東西了,前幾天在一套舊系統上做了些小花絮,實戰了一把orbroker的one-to-one了。

          表結構大致如下
          CREATE TABLE T_INFO(
              CONTENT_ID     VARCHAR2(50) NOT NULL,
              S_TITLE        VARCHAR2(300),
              S_CONTENT      VARCHAR2(4000),
              S_USERNAME     VARCHAR2(20),
              S_USERADDRESS  VARCHAR2(200),
              S_USEREMAIL    VARCHAR2(50),
              S_USERTELPHONE VARCHAR2(20)
          );

          據此,我定義了兩個類
          public class Info {
            private String id;
            private String title;
            private String content;
            /**
             * 發布者
             */
            private Publisher publisher;
          }

          public class Publisher {
            private String name;
            private String address;
            private String email;
            private String telphone;
          }

          以findByPrimeryKey這個方法為例,在orbroker.xml中做了條配置
          <sql-statement id="findByPrimeryKey" result-object="Info" external-source="/orbroker/findByPrimeryKey.sql" />
          findByPrimeryKey.sql的內容:
          SELECT t.content_id     AS id,
                 t.s_title        AS title,
                 t.s_content      AS content,
                 t.s_username     AS userName,
                 t.s_useraddress  AS userAddress,
                 t.s_useremail    AS userEmail,
                 t.s_usertelphone AS userTelphone
            FROM t_info t
           WHERE 1 = 1
           <#if id?exists>
           AND   t.content_id     = :id
           </#if>

          one-to-one的處理,主要功夫還是在orbroker.xml定義Result-Object上面,參照orbroker user-guide中“Mapping associations”一部分,我做了這樣的配置
              <result-object id="Info" class="domain.Info" key-columns="id">
                  <property name="id">
                      <column name="id" />
                  </property>
                  <property name="title">
                      <column name="title" />
                  </property>
                  <property name="content">
                      <column name="content" />
                  </property>
                  <property name="publisher">
                      <map-with result-object="Publisher" />
                  </property>
              </result-object>

              <result-object id="Publisher" class="domain.Publisher" key-columns="id">
                  <property name="name">
                      <column name="userName" />
                  </property>
                  <property name="email">
                      <column name="userEmail" />
                  </property>
                  <property name="address">
                      <column name="userAddress" />
                  </property>
                  <property name="telphone">
                      <column name="userTelphone" />
                  </property>
              </result-object>

          測試通過,哈哈!
          posted @ 2005-11-15 23:47 mmwy 閱讀(498) | 評論 (0)編輯 收藏

          1vsftpd安裝

          通常,裝好RHCE AS3/4以后,vsftpd服務都已經安裝完成。

          如果安裝RHCE AS3/4時未選擇安裝vsftpd,你也可以使用rpm –ivh vsftp…rpm使用手動安裝,或者直接去vsftpd網站(http://vsftpd.beasts.org/)下載最新的tar.gz格式源碼包,解包后使用make/make install即可

          2vsftpd配置

          Vsftpd默認使用linux系統賬號登錄,維護管理不太方便,也容易引發安全問題。因此,建議采用pam_userdb或是pam_mysql進行虛擬用戶配置。

           

          1)使用PAM_USERDB保存ftp登錄賬號

          A、創建一個臨時文件,如/root/a.txt,按下面的格式在此文件中添加虛擬的用戶:

          用戶名1
          密碼
          1
          用戶名
          2
          密碼2

          B、然后用db_load命令生成pam_userdb認證所需的賬號文件

          db_load -T -t hash -f a.txt /etc/vsftpd/vsftpd.login

          CPAM配置信息

          /etc/pam.d/下創建一個文件,如/etc/pam.d/ftp.vsftpd,文件內容如下

          auth        required   /lib/security/pam_userdb.so   db=/etc/vsftpd/vsftpd.login
          account   required   /lib/security/pam_userdb.so   db=/etc/vsftpd/vsftpd.login
          [w1] 

           

          D、編輯/etc/vsftpd.conf

          Vsftpd默認的配置文件為/etc/vsftpd.conf,你也可以在啟動vsftpd時使用“vsftpd /path/configfile”的命令使用別的配置文件。

           

          通常, /etc/vsftpd.conf中只放置一些基本的配置信息(所有用戶公共性的配置),然后針對具體用戶做更詳細的配置,下面是一個簡單的vsftpd配置示例。

          listen=YES
          listen_port=21
          #
          禁止匿名登錄

          anonymous_enable=NO
          local_enable=YES
          chroot_local_user=YES
          guest_enable=YES
          #
          所有虛擬用戶等同于ftp這個系統賬號的權限
          guest_username=ftp
          #
          允許匿名下載
          anon_world_readable_only=NO
          max_clients=100
          max_per_ip=10
          #
          pam部分配置的文件名應匹配,這里是ftpd.vsftpd
          pam_service_name=
          ftp.vsftpd
          #
          指定每個虛擬用戶賬號配置目錄,這里是/etc/vsftpd/virtual
          #
          如果需要對wuyu這個賬號進行詳細配置,你需要創一個

          #/etc/vsftpd/virtual/wuyu
          的文件
          user_config_dir=/etc/vsftpd/virtaul/
          #指定默認的ftp目錄,如果不設置,則默認的ftp目錄為ftp這個系統賬號的默認目錄(見/etc/passwd文件內容)
          local_root=/www/ftp
          xferlog_enable=YES
          xferlog_file=/var/log/vsftpd.log
          xferlog_std_format=YES

          按照上面這個配置文件,虛擬用戶可以正常的登錄ftp,在ftp上下載數據,但是不能創建目錄,不能上傳數據,用戶的根目錄指向/www/ftp。如果需要允許個別用戶上傳,或是更改用戶的ftp根目錄指向,我們需要在/etc/vsftpd/virtual目錄下根據用戶名創建相應的配置文件。以wuyu這個用戶賬號為例,其配置文件/etc/vsftpd/virtaul/wuyu的內容如下:

           

          local_root=/home/wuyu
          write_enable=YES
          anon_world_readable_only=NO
          anon_upload_enable=YES
          anon_mkdir_write_enable=YES

          2)使用mysql數據庫保存ftp登錄賬號

          由于vsftpd使用PAM做為身份認證,因此,配置vsftpd使用mysql保存登錄賬號信息就非常方便,只要安裝PAM_MYSQL,然后修改vsftpd的配置文件即可。

          A、安裝mysql

          Mysql編譯,安裝文檔參見mysql安裝文檔。完成mysql安裝,啟動mysql服務后,針對vsftpd服務,做如下操作:

          a、添加一個用戶賬號,如vsftpd(密碼為1234567)。

          b、創建vsftpd使用的數據庫(如vsftpd

          c、建表(字段名稱可任意定義)

          CREATE TABLE `users` (

            `name` varchar(50),

            `passwd` varchar(50)

          )

           

          B、安裝pam_mysql

          http://pam-mysql.sourceforge.net/下載pam_mysql的源碼包(tar.gz格式),使用tar xvfz命令解包。然后執行以下三步命令完成安裝。

           

          ./configure --with-mysql=mysql安裝目錄  --prefix=安裝目的目錄,默認為/usr/local

          make

          make install

           

          C、配置pam_mysql

          vsftpdpam_userdb改為pam_mysql,僅僅需要修改與使用pam_userdb相類似,在/etc/pam.d/下創建一個文件,如/etc/pam.d/ftp.vsftpd,文件內容如下

          auth        required          /usr/lib/security/pam_mysql.so             user=vsftpd           passwd=1234567          host=127.0.0.1              db=vsftpd              table=users     usercolumn=name         passwdcolumn=passwd        crypt=2

          account   required          /usr/lib/security/pam_mysql.so             user=vsftpd           passwd=1234567          host=127.0.0.1              db=vsftpd              table=users            usercolumn=name         passwdcolumn=passwd        crypt=2

          這里需要說明的是crypt參數。crypt表示口令字段中口令的加密方式:crypt=0,口令以明文方式(不加密)保存在數據庫中;crypt=1 口令使用UNIX系統的DES加密方式加密后保存在數據庫中;crypt=2,口令經過MySQLpassword()函數加密后保存。

          3)在使用iptables的情況下允許被動模式。

          modprobe iptable_nat

          modprobe ip_conntrack

          modprobe ip_conntrack_ftp

          modprobe ip_nat_ftp

          posted @ 2005-11-15 23:45 mmwy 閱讀(5079) | 評論 (1)編輯 收藏

          僅列出標題
          共4頁: 上一頁 1 2 3 4 
          主站蜘蛛池模板: 青海省| 江都市| 农安县| 蒙阴县| 普宁市| 繁昌县| 平远县| 沈阳市| 保康县| 汉川市| 兴文县| 波密县| 萨迦县| 伽师县| 辽宁省| 大冶市| 泾源县| 六盘水市| 石屏县| 沈丘县| 仙游县| 忻州市| 台湾省| 高州市| 云和县| 手游| 剑河县| 汝城县| 阿城市| 陇川县| 光山县| 山阳县| 平阴县| 乐山市| 台东市| 卢湾区| 安溪县| 蒙山县| 腾冲县| 汉阴县| 延川县|