顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


文章 - unetin

頁: [1] 2 3
1
我有一台舊的Linux主機,目前用遠端SSH登入和用VGA螢幕登入,用的帳號密碼都是/etc/passwd和/etc/shadow裡面記錄的資料
但如果接Console port的話,登入用的帳號密碼是執行(/opt/console/cli )來驗證...
現在我想要讓VGA螢幕登入和Console port登入都執行/opt/console/cli來驗證(遠端用SSH登入的驗證不變),請教該如何修改?
 
以下是我目前的inittab:

id:3:initdefault:

# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# When our UPS tells us power has failed, assume we have a few minutes
# of power left.  Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

s0:23:respawn:/sbin/agetty -n -l /opt/console/cli ttyS0 19200 vt100

# Run gettys in standard runlevels
1:2345:respawn:/sbin/agetty -n -l /opt/console/cli ttyS0 19200 vt100

# Run xdm in runlevel 5
# xdm is now a separate service
x:5:respawn:/etc/X11/prefdm -nodaemon

2
原本的Javascript用showModalDialog取得子視窗的值,但被Chrome37 block掉這種用法了:

幾十個頁面調用Confirm這個js function:
if ( Confirm(2, 'Confirm Deletion ?') == 1 )  { goSubmit('DELRULES');}
if( Confirm(2,"Data Check OK, Apply them ?")==1 ) { goSubmit('APPLYDATA');}

Confirm的內容:
function Confirm(draw, msg)
{
    var msgObj=new Object();
    msgObj.draw=draw;
    msgObj.msg=msg;

    var strFeatures='dialogWidth=300px;dialogHeight=150px;center=yes;'
        strFeatures+='scrollbars=no;border=thin;help=no;status=no;edge=raised';
    return window.showModalDialog("confirm.htm", msgObj, strFeatures);
}


開子視窗內容:
    .....略....(幾個按鈕,按yes Answer=1 , 按No Answer=2 ,....)
    <script language="javascript">
        function Answer(answer)
        {
            window.returnValue=answer;
            window.close();
        }
    </script>

------------------------------------------------------------------------------------------
因為Chrome不能用,網路上說子視窗執行父視窗的function就可以把值回傳,所以我新的改成:

function openWin(targetfile, width, height)
{
    var winformat="";
    var returnVal;
    if ( !width ) { width=250; }
    if ( !height ) { height=200; }
    winformat=winformat+"width="+width+",";
    winformat=winformat+"height="+height+",";
    winformat=winformat+"left=420,";
    winformat=winformat+"top=280,";
    winformat=winformat+"titlebar=yes,";
    winformat=winformat+"menubar=no,";
    winformat=winformat+"toolbar=no,";
    winformat=winformat+"location=no,";
    winformat=winformat+"scrollbars=yes,";
    winformat=winformat+"resizable=yes,";
    winformat=winformat+"status=no,";

    var returnValue=window.open(targetfile, "new_win", winformat);
    window.callback = function(value) { returnVal=value; };
    return returnVal;

}

function Confirm(draw, msg)
{
    var msgObj=new Object();
    msgObj.draw=draw;
    msgObj.msg=msg;

   if (window.showModalDialog != undefined)
   {
    var strFeatures='dialogWidth=300px;dialogHeight=150px;center=yes;'
        strFeatures+='scrollbars=no;border=thin;help=no;status=no;edge=raised';
    return window.showModalDialog("confirm.htm", msgObj, strFeatures);
   }else{
    var ReturnChrome=openWin("confirm.htm", 300, 150);
    ReturnChrome.dialogArguments = msgObj;
    return ReturnChrome;
   }
}

子視窗內容:
    <script language="javascript">
        function Answer(answer)
        {
           if (window.showModalDialog != undefined)//Not Chrome
           {
            window.returnValue=answer;
           }else(
            opener.callback(answer);
           }
            window.close();
        }
    </script>
============================================================================
問題:
修改後的 子視窗的answer還是沒辦法在Chrome回傳,導致要回傳的ReturnChrome值有誤,請教該怎麼改?

3
請教一個問題...
iptables指令裡面 -s 或 -d 後面可以加www.google.com之類的FQDN
但如果我想要下 -s 或 -d 後面加 *.gov.tw
有套件支援這種用法嗎?

4
網頁技術 / 請教 jQuery裡面 #num 是麼意思?
« 於: 2014-07-01 20:50 »
請教一下...下面for loop 裡面的 for(var t=0;\$("#num" + t).val() != null;t++) 是甚麼意思?

                        for(var i = 0 ;yy != null;i++)
                        {
                                var xx=new Array;
                                var zz=new Array;
                                xx=yy.split(",");
                                zz=uu.split(",");
                                for(var t=0;\$("#num" + t).val() != null;t++)
                                {
                                        var asd = xx[0].split("/");
                                        if(asd[1] == '1') 
                                        {
                                                \$("."+asd[0]).html(xx[1]);
                                        }
                                        else               
                                        {
                                                \$("."+asd[0]).html(xx[1]+"/"+zz[1]);
                                                if(xx[1]=='0.00KB'||zz[1]=='0.00KB')
                                                {
                                                \$('#'+asd[0]).css("background-color", "#FF0000");
                                                }
                                        }
                                }
                        }

5
我找到問題了...主版部份插槽不支援AHCI,使用支援的插槽就可以運作了 :)

6
大家好
我的Linux kernel是2.6.22,我在網路上找資料發現C600/X79 series chipset 6-Port SATA AHCI Controller 是從2.6.34開始支援
所以我就把linux/driver/ata/ahci.c裡面的這段設備機碼複製到2.6.22的ahci.c裡面:
    { PCI_VDEVICE(INTEL, 0x1d02), board_ahci_pi }, /* PBG AHCI C600/X79 series chipset 6-Port SATA AHCI Controller*/
    { PCI_VDEVICE(INTEL, 0x1d04), board_ahci_pi }, /* PBG AHCI C600/X79 series chipset SATA RAID Controller*/
    { PCI_VDEVICE(INTEL, 0x1d06), board_ahci_pi }, /* PBG AHCI C600/X79 series chipset SATA Premium RAID Controller*/
    { PCI_VDEVICE(INTEL, 0x2826), board_ahci_pi }, /* PBG AHCI C600/X79 series chipset SATA Premium RAID Controller*/
根據以往的經驗,這樣就可以正常抓到SATA的儲存裝置,但這次卻抓不到...
請教各為前輩有沒有甚麼建議?

7
我找不到crond吃掉硬碟空間放哪裡...所以也不知道要貼甚麼...
唯一線索就是把crond刪掉(killall -9 crond)...硬碟空間就會釋放幾百MB...
每隔一段時間就要做一次~
覺得很不方便...

8
大家好
請教一個問題,我的Crond跑幾個月會吃掉硬碟空間幾百MB
我換過版本,看起來都有這問題...

我試過當我killall -9 crond ,被吃掉的硬碟空間就會釋放...
但/sbin/service crond restart 硬碟空間卻不會被釋放
有人知道Crond吃掉的硬碟空間用到哪去了嗎?

因為Crond就是排程用的...所以我沒辦法把killall -9 crond寫到crontab設定檔裡面去...
這有解法嗎?

9
我的程式碼放到Fedora 14 compile(gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) )
出現一大堆 warning:suggest parentheses around comparison in operand of '|'
但原本在舊的Fedora 6 compile都沒warning message
有人可以告訴我這是甚麼問題嗎?

我定義一個DEBUG
#define DEBUG(DF,TL,format,a...) \
{ \
    if ((  DL >= TL )) \
    { \
        syslog(DF, format, ##a); \
    } \
    else if (DF == LOGSTDERR) \
    { \
        printf(format,##a); \
    } \
}
#else
 #define DEBUG(DF, DL, format,a...)
#endif

調用它
DEBUG(_LIB_LOG,DL_Pro1,"fails to create dir.\n");

只要有用到DEBUG()的地方都出現warning..

10
請教要怎麼在linux裡面做到static PPPoE?
下面是router產品的設定欄位...
Static PPPoE
User Name : aaa
Password : ***
Confirm Password : ***
IP Unnumbered Address :   100.100.100.1
IP Unnumbered Netmask :   255.255.255.252 
LAN Start IP :   100.100.100.2 
LAN End IP :   100.100.100.3 

這種功能在linux裡面用rp-pppoe可以做得到嗎? 這是怎麼做的?


11
有人可以幫忙優化我這個script嗎?
這部分的判斷跑超久的...
每筆conntrack我只取出一個欄位..也就是1筆IP...10萬筆資料取出10萬筆IP...
10萬筆資料,外加判斷使否屬於10個subnets的話...
每筆IP就要跑下面的程式碼10次...光下面程式碼就要跑個百萬次了= ="

#if ((ip & netmask) == subnet) 1=match subnet; 0=not match subnet

IP=$1
SUBNET=$2

mask=`ipcalc -m $SUBNET|awk -F "=" '{print $2}'`

MSK1=$(echo $mask | cut -d. -f1)
SIP1=$(echo $IP | cut -d. -f1)
SUB1=$(($MSK1 & $SIP1))
DIFSUB1=$(echo $SUBNET | cut -d. -f1)
if [ $SUB1 = $DIFSUB1 ];then
 MSK2=$(echo $mask | cut -d. -f2)
 SIP2=$(echo $IP | cut -d. -f2)
 SUB2=$(($MSK2 & $SIP2))
 DIFSUB2=$(echo $SUBNET | cut -d. -f2)
 if [ $SUB2 = $DIFSUB2 ];then
  MSK3=$(echo $mask | cut -d. -f3)
  SIP3=$(echo $IP | cut -d. -f3)
  SUB3=$(($MSK3 & $SIP3))
  DIFSUB3=$(echo $SUBNET | cut -d. -f3)
  if [ $SUB3 = $DIFSUB3 ];then
   MSK4=$(echo $mask | cut -d. -f4)
   SIP4=$(echo $IP | cut -d. -f4)
   SUB4=$(($MSK4 & $SIP4))
   DIFSUB4=$(echo $SUBNET | cut -d. -f4| cut -d/ -f1)
   if [ $SUB4 = $DIFSUB4 ];then
    echo "1"
   else
    echo "0"
   fi
  else
   echo "0"
  fi
 else
  echo "0"
 fi
else
 echo "0"
fi

12
你的目的是要看即時的東西?
那應該看看 netstat-nat 這東西夠不夠用, 沒必要自己去撈資料吧.
netstat-nat 是個好東西...只是還真ㄉ是不夠用~謝謝啦^^

13
iptables rule + log要如何取得目前正在run的session?
log一直存下去,已經timeout的session就要另外去判斷不是嗎?
我想用ip_conntrack是因為我把ip_conntrack的timeout時間改短,而且上限已經改成百萬筆了...
就十萬筆而言應該是足夠用了...
awk最快啊...那我找語法來測看看..謝謝啦~

14

我的網卡eth0上面bind了10個網段..假設是:
100.100.100.0/25
100.100.100.128/25
200.200.200.0/24
201.201.201.x/30
202.202.202.x/29
....
我想寫一個linux shell來判斷/proc/net/ip_conntrack裡面的session屬於哪一個subnet ,下面是ip_conntrack的內容之一:
tcp      6 2 TIME_WAIT src=172.19.11.9 dst=74.125.71.94 sport=48244 dport=80 packets=23 bytes=1668 src=74.125.71.94 dst=100.100.100.130 sport=80 dport=48244 packets=26 bytes=32711 [ASSURED] mark=0 use=1
...(一共將近10萬筆)

我想統計每個subnet共多少筆record,比如說上面那一筆就屬於100.100.100.128/25,我counter就加1
請教有甚麼簡單且不耗很多CPU的方法可以判斷IP屬於哪個subnet嗎? 我上面這種需求有現成的tool可以用嗎? Shell script可以做到嗎?

15
對我而言...看起來好像只有連到web去取得public的方法了...
謝謝大家的回覆... :)

16
Hi All
我的Linux主機是10.x.x.x的IP,我想知道NAT後出去internet所帶的IP?
但我不想連到某個網站後才知道自己的IP是什麼...
請教有沒有linux tool可以用...

17
程式討論版 / 請教一個gethostbyname的用法
« 於: 2011-04-19 20:29 »
下面那段code是iptables處理FQDN的部份...
利用gethostbyname()取得IP...但我發現他無法得到所有www.facebook.com 的IP:

C:\Documents and Settings\>nslookup www.facebook.com
Server:  dns.hinet.net
Address:  168.95.1.1

Non-authoritative answer:
Name:    www.facebook.com
Address:  69.171.224.14

C:\Documents and Settings\>nslookup www.facebook.com
Server:  dns.hinet.net
Address:  168.95.1.1

Non-authoritative answer:
Name:    www.facebook.com
Address:  66.220.149.11

C:\Documents and Settings\>nslookup www.facebook.com
Server:  dns.hinet.net
Address:  168.95.1.1

Non-authoritative answer:
Name:    www.facebook.com
Address:  66.220.158.11


static struct in_addr *
host_to_addr(const char *name, unsigned int *naddr)
{
      struct hostent *host;
      struct in_addr *addr;
      unsigned int i;

      *naddr = 0;
      if ((host = gethostbyname(name)) != NULL) {
            if (host->h_addrtype != AF_INET ||
                host->h_length != sizeof(struct in_addr))
                  return (struct in_addr *) NULL;

            while (host->h_addr_list[*naddr] != (char *) NULL)
                  (*naddr)++;
            addr = fw_calloc(*naddr, sizeof(struct in_addr) * *naddr);
            for (i = 0; i < *naddr; i++)
                  inaddrcpy(&(addr),
                          (struct in_addr *) host->h_addr_list);
            return addr;
      }

      return (struct in_addr *) NULL;
}

請教如何用gethostbyname得到所有的解析IP? 或是有其他方法 ?

18
是在測量無線傳輸嗎?
之前我們樓下的公司是用dumeter -> 如果可以用window 的話。
然後人員再去看圖表的流量變化

有線無線都要測...只是公司gateway是linux,所以想說用linux的tool來測...

19
不好意思 ..
請問一下
什麼是 latency ?

Propagation delay is the time it takes for a signal to propagate over (traverse) a given distance.  For example, if an electromagnetic wave propagates through a given medium at 2/3 the speed of light and travels for a distance of 100 km, the time to traverse this distance (propagation delay) would be  tp = (100 km) (1000 m/km) / 2 x 108 m/s = 0.5 ms.

The RTT is the round trip time, which in this example is 1 ms (2 tp).  The latency is defined to be
            latency = RTT  + transmit time + queuing delay + processing time

跟一些老外討論時..他們好像都把ping的RTT值當作latency..因為其他值都很小..

20
IPerf好像沒辦法限制頻寬...
我想要的是...比如說..
          wget用30K速度抓檔案..latency是100ms
          wget用50K速度抓檔案..latency是100ms
          .....
          wget用100K速度抓檔案..latency是500ms ==>我想抓到那個會讓latency突然變高的下載速度...

21
Network 討論版 / 請教如何量測頻寬和latency
« 於: 2011-04-14 18:37 »
Hi All
我想在wget抓東西的時候,同時用ping量線路的latency...
當wget抓完的時候,就同時停止用ping量線路的latency...
請教有沒有現成工具可以同時做到下載和量測latency?或是shell script要怎樣寫?

22
我有一台Gateway : 接了1條固定IP的ADSL IP:100.100.100.1/32 GW:100.100.100.254 NIC:eth0
                          和另1條固定IP的PPPOE ADSL  IP:200.200.200.1/32 GW:200.200.200.254 NIC:ppp0

我想用2個不同的帳號透過2條ADSL連到一台L2TP server IP=150.150.150.1/32

請教我該怎麼下路由? xl2tpd這套件可以指定遠端server的路由嗎?

如果我下了ip route add 150.150.150.1/32 via 100.100.100.254 dev eth0
那這條rule ip route add 150.150.150.1/32 via 200.200.200.254 dev ppp0 就不能下了


             

24
ftp> passive
Passive mode off.
ftp> dir
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.

==>就我認知Passive mode off.==>應該就是切換成Active mode
但是下面卻出現Consider using PASV.==>這還是passive mode不是嗎?
如果我連到只支援Active mode的ftp server,登入以後還是無法使用...

25
請教一下..從Linux用ftp指令登入遠端的ftp server..要如何切換成Active模式啊?
客戶有台ftp server只支援Active mode..我要從Linux連...一直都連不上去...
Linux default 是Passive,我打passive是可以切換成PASV...但PASV不就是passive嗎?

[root@localhost ~]# ftp ftp.adsl.hinet.net
Connected to ftp.adsl.hinet.net (211.20.180.149).
220- Welcome to HiNet SpeedTest FTP site.
220- (ftp.speed.hinet.net)
220
Name (ftp.adsl.hinet.net:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (211,20,180,149,45,177)
150 Here comes the directory listing.
-rw-r--r--    1 0        0         1049902 Jun 30  2010 test_001m.zip
-rw-r--r--    1 0        0         3147825 Jun 30  2010 test_003m.zip
-rw-r--r--    1 0        0         5251740 Jun 30  2010 test_005m.zip
-rw-r--r--    1 0        0        10503578 Jun 30  2010 test_010m.zip
-rw-r--r--    1 0        0        20971520 Aug 03  2010 test_020m.zip
-rw-r--r--    1 0        0        41943040 Jun 30  2010 test_040m.zip
-rw-r--r--    1 0        0        104857600 Jun 30  2010 test_100m.zip
-rw-r--r--    1 0        0        1048576000 Aug 11  2010 test_1024m.zip
-rw-r--r--    1 0        0        209715200 Jun 30  2010 test_200m.zip
-rw-r--r--    1 0        0        419430400 Jun 30  2010 test_400m.zip
d-wx-wx-wx    2 14       0            4096 Mar 07 23:01 uploads
226 Directory send OK.
ftp> passive
Passive mode off.
ftp> dir
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r--    1 0        0         1049902 Jun 30  2010 test_001m.zip
-rw-r--r--    1 0        0         3147825 Jun 30  2010 test_003m.zip
-rw-r--r--    1 0        0         5251740 Jun 30  2010 test_005m.zip
-rw-r--r--    1 0        0        10503578 Jun 30  2010 test_010m.zip
-rw-r--r--    1 0        0        20971520 Aug 03  2010 test_020m.zip
-rw-r--r--    1 0        0        41943040 Jun 30  2010 test_040m.zip
-rw-r--r--    1 0        0        104857600 Jun 30  2010 test_100m.zip
-rw-r--r--    1 0        0        1048576000 Aug 11  2010 test_1024m.zip
-rw-r--r--    1 0        0        209715200 Jun 30  2010 test_200m.zip
-rw-r--r--    1 0        0        419430400 Jun 30  2010 test_400m.zip
d-wx-wx-wx    2 14       0            4096 Mar 07 23:01 uploads
226 Directory send OK.
ftp> bye
221 Goodbye.

26
我看懂了..謝謝大家 :)

27
我有一個linux OS...上面跑很多程式..
我想讓硬體廠商連進來執行 dmesg 和 lsusb 這2指令...
其他都不能做,請教一下有什摩簡單方法或是現成的CLI tool可以用嗎?

自己寫一個程式出現提示交談介面,依據輸入選項代為執行 dmesg 與 lsusb,然後設定為該帳號的 shell 即可。

恩,我也是想到小州大的方法...
請教什麼是"小州大的方法"的方法?

28
我有一個linux OS...上面跑很多程式..
我想讓硬體廠商連進來執行 dmesg 和 lsusb 這2指令...
其他都不能做,請教一下有什摩簡單方法或是現成的CLI tool可以用嗎?

建一般的使用者,然後使用sudo,
請上網查詢一下 sudo 及 visudo.
原來可以用visudo這方法還真不錯~

29
謝謝您的回覆~
給一般user的帳號...
可是這樣一來我就必須要去編輯全部指令的使用權限...
還是有什麼現成的免費CLI軟體可以用嗎?

30
我有一個linux OS...上面跑很多程式..
我想讓硬體廠商連進來執行 dmesg 和 lsusb 這2指令...
其他都不能做,請教一下有什摩簡單方法或是現成的CLI tool可以用嗎?

頁: [1] 2 3