2013年12月24日 星期二

關閉 Windows XP 開機時自動重組

(1) 關閉開機時的自動重組之功能:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction,將字串值中的〔Enable〕設定為〔N〕即可關閉。(一般傳統硬碟則要設為Y)

(2) 關閉預讀功能:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters目錄下EnablePrefeteher子鍵,將它的鍵值賦為「0」。
關閉預讀功能,減少了對於SSD固態硬碟而言無意義的預讀動作,也可加快開機速度。
微軟的解釋:EnablePrefetcher 的含義:
0:取消預讀取功能;
1:只預讀取應用程式;
2:只預讀取Windows系統檔案。
3:預讀取Windows系統檔案和應用程式,這是WindowsXP的預設值。

(3) chkntfs 指令的用法如下:

強制關閉:
chkntfs /x 磁碟機代號:

/x 是要排除掃描的磁碟機。

例如,我要它停止掃描 C、D、E 硬碟,就是:

C:\ chkntfs /x c: d: e:

如果我只要他不掃描 C,就是:

C:\ chkntfs /x c:

若系統記憶存量大於2GB以上(4GB~8GB)時,請關掉WINDOWS虛擬記憶體。或是將WINDOWS虛擬記憶體設為一般傳統硬碟(D/E/…)或是RAMDISK(虛擬硬碟)。勿將SSD設為WINDOWS的虛擬記憶體。

2013年12月7日 星期六

Windows 7 登入密碼破解

最近客戶的電腦中毒所以就要順便硬體升級要重新安裝Windows 7作業系統,但是希望要把電腦的資料備份出來,所以就帶回公司處理,結果一開機竟然要輸入密碼,心想就打個電話問一下吧,結果客戶的回答就妙了,不要因為忘記密碼而是他設的密碼是他的提款卡密碼,所以不能告訴我,可是又要我一定要備份資料出來,所以只有一個方式就是破解了,真是讓人想要唸「三字經」(人之初、性本善.......)網友們不要想太多,我們可是有風度的。

(步驟一)

將 Windows 7的安裝光碟放進光碟機,在安裝過程中選擇「修復您的電腦」,在接下來的視窗,點選「命令提示字元」。
在開啟的CMD命令提示字元視窗中
輸入「cd\」,跳到「c:」下。
輸入「cd windows\system32」。
輸入「ren Magnify.exe Magnify1.exe」。 //這個是將放大鏡程式更名
輸入「ren cmd.exe Magnify.exe」。        //這個是將CMD的命令更名為放大鏡的程式名稱
關閉「命令提示字元」後重新啟動電腦吧
(Magnify.exe是放大鏡,OSK.exe是螢幕小程式)

(步驟二)

重新開機後會停留在到 Windows 登入畫面,點選在下角再選擇「放大鏡程式」就會變成開啟「命令提示字元」CMD的視窗,接著輸入「net user (輸入你的登入帳號) 123456」,將登入密碼改成123456,接著關閉視窗。

輸入 「net use」可查詢目前使用者的帳號名額
輸入「net uses admin 123456」成功的話會出現「修改成功」的訊息
之後就可以直接登入了。

(步驟三)最重要的步驟【如果是要重灌系統就不用理會】

最後一定記得把程式的名稱改回來,不要登入太興奮就忘記了,記得將「命令提示字元」和「放大鏡」更改為原來的名稱,在命令提示字元視窗中依序輸入
1、「ren Magnify.exe cmd.exe」
2、「ren Magnify1.exe Magnify.exe」


資料來源 下客邦

2013年12月1日 星期日

WIndows IE10 移除

由於最客戶訂的電腦是內建Windows 7及Windows 雙系統,但是客戶裡有某一套爛軟體不支援IE10所以就必須移除掉。

但是移除掉之後發現會變成 IE 8 的瀏覽器,而且重點是會無法下載檔案或執行檔案,真是....

後來找到原因,是因為系統預設已經是 IE10 瀏覽器所以當強制移除時會連帶把很多IE的預設的設定連同移除,所就用再下載一次 IE10 IE9 然後會裝 IE9 後再裝一次 IE10 後重新開機

之後再從 【控制台】裡的「程式和功能」-->「檢視安裝的更新」裡移除 IE10 這樣子 IE 瀏覽器會回到 IE9 然後一切都正常了。

IE10移除程式

2013年11月28日 星期四

Linux Iptables Firewall 停用


Task: Disable / Turn off Linux Firewall (Red hat/CentOS/Fedora Core)

Type the following two commands (you must login as the root user):
# /etc/init.d/iptables save
# /etc/init.d/iptables stop

Turn off firewall on boot:
# chkconfig iptables off


2013年11月24日 星期日

Acer M4630G 裝機說明

今年客戶買了51台Acer M4630G最新的系統,有一些東西要先紀錄下來

內建Windows7及Windows8雙系統的硬碟還原方式
一按電源鍵後,立刻按【Alt+F10】就可以直接從硬碟直接還原系統或選擇系統。

由於是新的H8系列晶片組並沒有支援Windows XP,可是客戶還是要裝XP所以就上網找了驅動程式,但是有一些還是沒有,不過主要的網路、音效、顯示卡、USB、讀卡機還是有找到。

Windows XP驅動下載連結

參考連結 阿榮福利味

2013年10月14日 星期一

CentOS 6.4 Squid 增加上網認證功能

一、要先檢查是否有安裝 ncsa_auth 和 htpasswd 這兩支程式
# rpm -ql squid | grep ncsa
/usr/lib64/squid/ncsa_auth               
/usr/share/man/man8/ncsa_auth.8.gz

# rpm -ql httpd | grep htpasswd
/usr/bin/htpasswd                           
/usr/share/man/man1/htpasswd.1.gz

如果檢查沒有 htpasswd 這支程式要先安裝
# yum install httpd

二、要修改 squid.conf 設定檔
# vi /etc/squid/squid.conf
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/passwd  //驗證帳密程式存放位置auth_param basic realm (Welcome to Squid Sever)  //使用者在輸入帳密的地方所顯示的說明文字
auth_param basic children 100                 //同時接受認證的連線數
auth_param basic credentialsttl 2 hours    //使用者連線時的連續時間
acl squid_user proxy_auth REQUIRE     //開啟帳密認證功能
http_access allow squid_user                  //認證成功後允許上網要求,要設在第一個位置

三、新增使用者及密碼
建立一位使用者「student」為要新增的帳號
# htpasswd -c /usr/etc/passwd student  //第一次 htpasswd 建立帳號及密碼時要記得加參數-c
New password:                         
Re-type new password:             
Adding password for user student 

四、重新啟動Squid伺服器  /etc/init.d/squid restart

2013年10月1日 星期二

艾富系統-會計系統主機轉移至Windows 2008伺服器

最近客戶那裡的會計系統伺服器已使用很久,整個系統要轉移,原本已經是個「 大工程」可是後發現,其實只要步驟正確就還好,只是轉移的過程不小心把一個DBF檔案弄到不小心損壞了,最後還是有救回來。

(1) 請會計室相關人員退出ACCSEN網路磁碟及網頁請購系統網路停用,防止資料繼續寫下資料庫裡。
(2) 從原先會計系統伺服器上將電腦名稱、IP、使用者名稱,抄下來。
(3) 從D磁碟裡的ACCSEN資料夾Copy下來。
(4) 在新的伺服器上建立抄下來的使用者資料及ACCWEB這個User,另外建立一組aufiaccount的群組資料,將會使用會計系統主機的使用者加入aufiaccount群組內(含ACCWEB使用者)。
(5) 在新的伺服器將ACCSEN資料夾Copy過來,並將aufiaccount群組加入ACCSEN資料夾的權限及安全性(不然執行備份時會出現Read-only的錯誤訊息)。

2013年9月13日 星期五

Windows DHCP Option138 設定方式


(1)  Add option 138 into DHCP server. Right click on the DHCP domain then click the “Set Predefined Options”.

(2) Add the Option 138 value. As bellowed. Check array as multiple IPs

(3)Sign the Option 138 to the specific IP pool

(4)Fill the Option 138 value to pool

教育部TANet無線漫遊設定【AD方式】

CentOS 6.8版本下載點
CentOS 7 版本下載點

在 CentOS 的安裝上,我是選擇陽春版的方式處理,這樣子等一下會安裝的套件比較多,但是也可以了解是那些套件要安裝,以後查修比較簡單。

安裝前先升級 yum 套件
 [root@openvpn]# yum -y update

步驟一:安裝 OPENVPN軟體
================================
[root@openvpn]# yum install -y epel-release
[root@openvpn]# yum install -y openvpn


步驟二:將漫遊中心提供的 key「clt_number_name.tar」上傳放置 /etc/openvpn
================================
CentOS 6.10裝法
[root@openvpn]# cd /etc/openvpn
[root@openvpn]# tar -zxf clt_number_shortname.tar
[root@openvpn]# service openvpn restart
[root@openvpn]# chkconfig openvpn on

CentOS 7.0裝法
[root@openvpn]# cd /etc/openvpn
[root@openvpn]# tar -zxf clt_number_shortname.tar
[root@openvpn]# cp client.conf server.conf
[root@openvpn]# systemctl  restart  openvpn@server
[root@openvpn]# systemctl  enable  openvpn@server

看 tun0 VPN通道是否有啟動,如 tun0 有產生10.1.X.X代表VPN連線成功

步驟三:安裝 freeradius 軟體套件
================================
[root@freeradius]# yum install -y freeradius freeradius-utils
[root@freeradius]# cd  /etc/raddb
[root@freeradius]# vi clients.conf
================================
client 10.1.77.7 {
          secret        = spiradawn
          shortname = roamingcenter
     }


client 192.168.10.199 {
          secret      =  radius-key
          shortname  =  controller
     }

client 10.1.77.11 { 
           secret = spiradawn
           shortname = roamingcenter-monitor

}
===================================
修改/etc/raddb的proxy.conf檔案
[root@freeradius]# vi proxy.conf
===================================
<-->
realm NULL {
        authhost = LOCAL
        accthost = LOCAL
        secret = niucltcc
}

//設定學校的網域名稱
realm ntusd.ttc.edu.tw {
         authhost = LOCAL  //設定Radius Server認證(auth)位址
         accthost = LOCAL  //設定Radius Server計費(accounting)位址
}
realm DEFAULT { 
          authhost = 10.1.77.7:1812
          accthost = 10.1.77.7:1813
          secret = spiradawn    //漫遊中心給的Radius Key (金鑰)
          nostrip
}

==============================
啟動 Freeradius 服務
CentOS 6.10的方式
[root@freeradius ]#service radiusd restart
[root@freeradius ]#chkconfig radiusd on -->開機啟動


CentOS 7的方式
[root@freeradius ]# systemctl  restart  radiusd

[root@freeradius ]# systemctl  enable  radiusd -->開機啟動


[root@freeradius]# radtest  testuser@niu  testpass  127.0.0.1   0   testing123
                             radtest  帳號              密碼       測試伺服器  通訊埠  Secret
Sending Access-Request of id 234 to 10.1.0.7 port 1812
        User-Name = "testuser@niu"
        User-Password = "testpass"
        NAS-IP-Address = 127.0.0.1
        NAS-Port = 0
rad_recv: Access-Accept packet from host 10.1.0.7 port 1812, id=234, length=20

以上測試freeradius驗證是否正常


步驟四:修正 hosts 檔案
================================
[root@tanetroaming]# vi /etc/hosts

127.0.0.1     localhost localhost.localdomain localhost4 localhost4.localdomain4
::1              localhost localhost.localdomainlocalhost6 localhost6.localdomain6
192.168.1.10 winad.aaa.bbb.edu.tw aaa.bbb.edu.tw winad
#AD→IP      FQDN                         網域名稱          電腦名稱

192.168.1.20 centos.aaa.bbb.edu.tw centos
#radius→IP   FQDN網域名稱         電腦名稱
================================
修改 selinux 關閉
# vim /etc/sysconfig/selinux
   SELINUX=disabled    #關閉selinux功能

關閉防火牆功能 --> CentOS 6 指令
# /etc/init.d/iptables save 存檔
# /etc/init.d/iptables stop 停止
開機時停用防火牆
# chkconfig iptables off
 
關閉 Firewalld 防火牆指令: --> CentOS 7 指令 
# systemctl stop firewalld.service
設定下次開機不會啟動 Firewalld 防火牆
# systemctl disable firewalld.service

================================

步驟五:安裝samba
================================
安裝 Samba 伺服器
root@tanetroaming]# yum -y install samba.x86_64
root@tanetroaming]# yum -y install samba-client samba-winbind*
root@tanetroaming]# cd /etc/sambas
root@tanetroaming]# mv smb.conf  smb.cmb.conf.def 
root@tanetroaming]# cp smb.conf.example smb.conf






步驟六:安裝 Kerberos
===============================
root@tanetroaming]# yum install  krb5-server.x86_64  krb5-workstation -y

root@tanetroaming]# vim /etc/krb5.conf

=================================
includedir /etc/krb5.conf.d/
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
default_realm = AAA.BBB.EDU.TW #新增網域名稱(大寫)
default_ccache_name = KEYRING:persistent:%{uid}

[realms]
AAA.BBB.EDU.TW= { #新增網域名稱(大寫)
kdc =192.168.1.10:88
admin_server =192.168.1.10:749
default_domain = aaa.bbb.edu.tw
}

[domain_realm]     #新增網域名稱,注意大小寫
.aaa.bbb.edu.tw = AAA.BBB.EDU.TW
aaa.bbb.edu.tw = AAA.BBB.EDU.TW

[kdc]   #增加kdc認證路徑
profile = /var/kerberos/krb5kdc/kdc.conf
================================

[root@tanetroaming]# vim /var/kerberos/krb5kdc/kdc.conf



[root@tanetroaming]# service smb restart        #CentOS 6版指令
[root@tanetroaming]# systemctl restart smb.service #CentOS 7版指令
[root@tanetroaming]# chkconfig  smb on   #重啟 samba 服服務開機自動啟動服務

測試 samba 與 kdc 溝通

[root@tanetroaming]#kinit  administrator@AAA.BBB.EDU.TW  
(一定要大寫,不然就出現下列的錯誤訊息)
kinit: KDC reply did not match expectations while getting initial credentials

kinit: Clock skew too great while getting initial credentials
這個錯誤訊息是系統時間差太多了,所以要執行NTP功能
可以參考一下這個Fibe-mini 's BLOG網站NTP的做法

步驟七:將centos加入windows AD網域
====================================
[root@tanetroaming]#net rpc join -U administrator #輸入管理者帳號
Enter admin's password:******  #輸入管理者密碼
Using short domain name --WINAD
Joined 'CENTOS' to realm 'aaa.bbb.edu.tw'  #出現這個代表加入成功!!


步驟八:安裝 winbind
===============================
root@tanetroaming]#yum install samba-winbind.x86_64
root@tanetroaming]#vi /etc/nsswitch.conf

# Example:

#passwd:   db files nisplus nis
#shadow:   db files nisplus nis
#group:     db files nisplus nis

passwd:    files winbind #新增winbind
shadow:    files winbind #新增winbind
group:      files winbind #新增winbind


重啟winbind服務開機自動啟動服務

[root@tanetroaming]# systemctl restart  winbind.service #CentOS7 指令
[root@tanetroaming]# service winbind start  #CentOS6 指令
[root@tanetroaming]# chkconfig winbind on

測試ntlm_auth連接AD帳號

[root@tanetroaming]#ntlm_auth --request-nt-key --domain=DOMAIN(大寫) --username=AD帳號 --password=AD帳號密碼

root@tanetroaming]#ntlm_auth --request-nt-key --domain=AAA.BBB.EDU.TW --username=test1 --password=XXXXXX

NT_STATUS_OK: Success (0x0)#出現這個代表成功了!!!

步驟九:修改 freeradius 修改ntlm_auth模組(802.1X)

=====================================
[root@tanetroaming]# vim /etc/raddb/modules/ntlm_auth

exec ntlm_auth {
wait = yes
#program = "/path/to/ntlm_auth --request-nt-key --domain=MYDOMAIN --username=%{mschap:User-Name} --password=%{User-Password}" #將這一行註銷起來

program = "/usr/bin/ntlm_auth --request-nt-key --domain=aaa.bbb.edu.tw --username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}} --password=%{User-Password}"
#修改執行路徑和NULL認證方式
}



[root@tanetroaming]# vi /etc/raddb/sites-available/default
=====================================
authorize {
。。。略。。。
#  Read the 'users' file
files

if (!control:Auth-Type && User-Password) { #新增ntlm_auth驗證
        update control {
            Auth-Type := ntlm_auth
        }
    }
#
#  Look in an SQL database.  The schema of the database
#  is meant to mirror the "users" file.
#
#  See "Authorization Queries" in sql.conf

# sql
。。。略。。。

}


authenticate {
。。。略。。。

Auth-Type MS-CHAP {
mschap
}

Auth-Type ntlm_auth {    #新增ntlm_auth驗證
                ntlm_auth
}
==========================================
[root@freeradius ]# service radiusd restart #重啟 freeradius服務

測試freeradius+AD認證
[root@tanetroaming]# radtest AD帳號 AD帳號密碼 127.0.0.1 0 testing123

Sending Access-Request Id 152 from 0.0.0.0:50068 to 127.0.0.1:1812
User-Name = 'AD帳號'
User-Password = 'AD帳號密碼'
NAS-IP-Address = 192.168.1.20
NAS-Port = 0
Message-Authenticator = 0x00
Received Access-Accept Id 152 from 127.0.0.1:1812 to 127.0.0.1:50068 length 40
Reply-Message = 'AD CONECTSUCCESS' #代表認證成功

======= 以下2013年舊版資料======
[root@RADIUS~]# yum install freeradius freeradius-utils 

[root@RADIUS~]# vi /etc/raddb/proxy.conf 


[root@RADIUS~]#

[root@RADIUS~]#
[root@RADIUS~]#


Radius Server較重要的系統設定檔

radiusd.conf   #FreeRADIUS 主要系統設定檔
eap.conf        #EAP 認證相關設定檔
clients.conf    #認證客戶端設定檔
proxy.conf    #認證轉送設定檔
users            #本地帳號及處理方式設定檔
snmp.conf    #SNMP 相關設定檔

在etc/raddb/裡的proxy.conf設定

# vi proxy.conf
==============================================
//當遇到帳號是別的學校帳號時的預設動作為以本機進行認證動作
realm NULL {
                authhost = LOCAL
                accthost = LOCAL
                secret = niucltcc //漫遊中心給的Radius Key (金鑰)
}

//設定學校的網域名額
realm xxxxx.tc.edu.tw {
                authhost = 210.60.70.80:1812 //設定Radius Server認證(auth)位址
                accthost = 210.60.70.80:1813 //設定Radius Server計費(accounting)位址
                secret = xxxx //Radius Key (金鑰)
#               nostrip
}

//當遇到帳號是有別的學校帳號時的預設動作為送至漫遊中心進行 Proxy 動作
realm DEFAULT {
                authhost = 10.1.0.7:1812 //設定Radius Server認證(auth)位址
                accthost = 10.1.0.7:1813 //設定Radius Server計費(accounting)位址
                secret = niucltcc //漫遊中心給的Radius Key (金鑰)
                nostrip
}
===========================================

# vi clients.conf  //設定認證的網路IP
===========================================
//漫遊中心的Radius Proxy IP
client 10.1.0.7 {
          secret      =  niucltcc //漫遊中心給的Radius Key (金鑰)
          shortname  =  niu     //漫遊中心的伺服器註解(可自定)
     }

 //漫遊中心的Radius Proxy IP
client 10.1.0.11 { 
          secret      =  niucltcc   //漫遊中心給的Radius Key (金鑰)
          shortname  =  niu_monitor //漫遊中心的伺服器註解(可自定)
     }

//使用單位自己的Radius Server IP
client 100.170.125.80 {
        secret          = xxxxx    //使用單位自己的Radius Key (金鑰)
        shortname       = ldap-server //使用單位自己的LDAP伺服器註解(可自定)
}

//使用單位自己的無線認證設備IP
client 192.168.10.200 {
        secret          = xxxxx             //設定在無線認證設備的Radius Key (金鑰)
        shortname       = NXC0000  //使用單位自己的認證伺服器註解(可自定)
}

<測試外面學校帳號是否可漫遊至認證中心>
=====================================
#  radtest tcccvs@test.niu.edu.tw tcccvs1qazz 10.1.0.7 0 niucltcc
    radtest 帳號密碼測試伺服器測試伺服器之通訊埠 Secret

【若為下列訊息代表可以由外面的帳號可漫遊至學校自己的Radius Proxy】
Sending Access-Request of id 104 to 10.1.0.7 port 1812
        User-Name = "tchcvs@test.niu.edu.tw"
        User-Password = "tchcvs1qazz"
        NAS-IP-Address = 210.60.70.80
        NAS-Port = 0
        Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 10.1.0.7 port 1812, id=104, length=20

<測試學校本身帳號是否可漫遊至認證中心>
# radtest user111@tccch.tc.edu.tw tcc1234 10.1.0.7 0 niucltcc
   radtest 帳號密碼測試伺服器測試伺服器之通訊埠 Secret

【若為下列訊息代表可以由學校自己的Radius Proxy漫遊至認證中心】
Sending Access-Request of id 100 to 10.1.0.7 port 1812
        User-Name = "xxx@xxxx.tc.edu.tw"
        User-Password = "xxxxxxxx"
        NAS-IP-Address = 100.170.125.80
        NAS-Port = 0
        Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 10.1.0.7 port 1812, id=100, length=20
===========================================================

參考資料如下

2013年9月3日 星期二

FreeBSD 安裝 SmbFTPD

【方式一】
# cd /usr/ports/ftp/smbftpd
# make install clean

【方式二】
# cd /usr/ports/ftp/smbftpd
# make fetch
# cd /tmp
# cp /usr/ports/distfiles/smbftpd-0.96.tar.gz .
# tar zxvf smbftpd-0.96.tar.gz
# cd smbftpd-0.96
# ./configure
# make
# make certs ( 如果需要 SSL 加密的話,可以在此製作憑證)
# make install

接下來切換到 /usr/local/etc/smbftpd/ 裡面,來設定一下 smbftpd.conf 就可以讓它 work 了,詳細的設定可請參考 twbsd.org,再也沒有比這還詳細的說明 XD


Server 運作的模式選用 standalone 方式,只要編輯 /etc/rc.conf,並加入下列二行,以在開機時啟動 SmbFTPD

smbftpd_enable="Yes"
smbftpd_flags="-D"

若要啟動|關閉的話,就用這行指令

# /usr/local/etc/rc.d/smbftpd.sh start or stop

加入 AD 時發生「找不到網路路徑」解決辦法

Client 的部份要注意下列事項

1. 確認 Client 和 AD Server 中間的網路是通的

2. Client 的 DNS 請設定指向 AD

3. 若 Client 是從 GHOST 而來的,請先做完 NewSID 的動作

4. 確認 Client 的服務裡面的「TCP/IP NetBIOS Helper」是啟用的狀態


技術文件 有為青年生活札記

2013年8月27日 星期二

FreeBSD Samba 無法啟動問題

有一天早上我的客戶的網管小姐突然打電話給我講,怎麼辦我們公司的Samba Server無法使用,我心裡應該是小問題吧,結果我搞了一天挫屎

在FreeBSD使用測試指令檢查Samba Config 是否有問題

# testparm
發現到問題的一行
Load smb config files from /usr/local/etc/smb.conf
max_open_files: sysctl_max (11095) below minimum Windows limit (16384)
rlimit_max: rlimit_max (11095) below minimum Windows limit (16384)
ERROR: pid directory /var/run/samba does not exist
Processing section "[printers]"
WARNING: You have some share names that are longer than 12 characters.
These may not be accessible to some older clients.
(Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.)
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

上網找了一下都是國外的網站解答找到原因
因為 Sever 中的 /var/run/samba 這個目錄不見了
所以只要下個指令就可以了
mkdir /var/run/samba
在重新啟動一下Samba Server 就可以了。



2013年8月20日 星期二

WINDOWS 7 家用版修改LAN Manager 驗證層級

WINDOWS 7 的LAN Manager 驗證層級可以透過gpedit.msc修改:


  • 電腦設定→Widnows→設定→安全性設定→本機原則→安全性選項→網路安全性 Lan Manager 驗證等級
  • 改成「傳送 LM 和 NTLM - 如有交涉,使用 NTLMv2 工作階段安全性」

    1. 開啟「控制台>系統管理工具>本機安全性原則」,進到「本機原則>安全性選項」
    2. 找到「網路安全性:LAN Manager 驗證層級」,改為「傳送 LM 和 NTLM - 如有交涉,使用 NTLMv2 工作階段安全性


    來達到可以連進比較低階微軟產品,但是遇到 Windows7 家用版卻沒有gpedit.ms可以用,
    必須透過regedit 修改來設定。

    在 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa] 下新增名稱為 LmCompatibilityLevel 的 32bit DWORD 值 1。

    2013年8月19日 星期一

    在 Linux下將一個用戶的程序全部 kill 掉


    當某個用戶使用過多系統資源時,可以用以下指令將他開啟的所有進程 kill 掉:

    kill -9 `ps -u USERNAME -o “pid=”`

    使用上只要將以上指令的 USERNAME 改成用戶名稱。



    文章出處 網路技術日誌

    FreeBSD Root 密碼更改

    由於之前的一個客戶發生了一個慘案,就是整個公司的網路原本是外包給某一個不知名公司,結果因為某些溝通上的問題發生一些不愉快的事結果就找上了我,可是在這之前我原本就不知道,只是儘本份解決網路,結果我一直希望他們提供密碼在一直無法拿到的情況下才了解了這個問題,所以我也只好更改了密碼,所以網路是一個公司對外的命脈,所以說「網路不是萬能的,但是沒有網路是萬萬不能」的。

    所以說在忘記 FreeBSD Root 密碼時,就可以在開機時等待的那10秒鐘進入 Single user mode 重新設定密碼:

    1. 按下Crtl+alt+del 重新開啟 FreeBSD 主機。

    2. 在 「Welcome to FreeBSD」的選單中按趕點按下「4」 選擇 「Boot FreeBSD in single user mode」。

    3. 然後經過一系列的開機過程後就會看到 「When prompted Enter full pathname of shell or RETURN for /bin/sh:」,在直接按 Enter。

    4. 這時便會直接進入 Single user mode,就可以輸入指令重新掛載根目錄 "/" 為可讀寫:

    # mount -u /
    # mount -a

    5. 用 passwd 重新設定 root 密碼:

    # passwd root

    6. 最後重新啟動即可:

    # sync;sync;sync;reboot

    2013年8月15日 星期四

    Iptables 限制每個 IP 連線數

    如果在 Linux 下要限制每個 IP 連線數,可以透過 iptables 實現。
    詳細指令語法如下:
    /sbin/iptables -A INPUT -p tcp –syn –dport 22 -m connlimit –connlimit-above 3 -j REJECT
    限制每個 ip 只可以有 3 個 ssh 連線 (預設 ssh 使用 port 22)。
    /sbin/iptables -A INPUT -p tcp –syn –dport 80 -m connlimit –connlimit-above 20 -j REJECT –reject-with tcp-reset
    只接受每個 ip 20 個 http 連線 (httpd.conf 裡面的 MaxClients 預設是 60)。
    要留意的是,這個設定可能會把 proxy servers 阻隔,因為每個 proxy servers 可能會建立大量的連線。
    Skip proxy server IP 1.2.3.4 from this kind of limitations:
    /sbin/iptables -A INPUT -p tcp –syn –dport 80 -d ! 1.2.3.4 -m connlimit –connlimit-above 20 -j REJECT –reject-with tcp-reset
    這句的作用跟上面語法一樣,只是把已知的 proxy server (1.2.3.4) 給開通,避免阻隔 proxy servers 的連線。
    In this example, limit the parallel http requests to 20 per class C sized network (24 bit netmask)
    /sbin/iptables -A INPUT -p tcp –syn –dport 80 -m connlimit –connlimit-above 20 –connlimit-mask 24 -j REJECT –reject-with tcp-reset
    這個是限制同一個 class C 網絡同時建立 20 個連線。
    如果想把在指定時間內建立過多連線的 ip 阻隔,這便要編輯 iptables 的 shell script。
    以下例子會阻隔在 100 秒內建立多於 10 個 http 連線的 ip
    #!/bin/bash
    IPT=/sbin/iptables
    # Max connection in seconds
    SECONDS=100
    # Max connections per IP
    BLOCKCOUNT=10
    # ….
    # ..
    # default action can be DROP or REJECT
    DACTION=”DROP”
    $IPT -A INPUT -p tcp –dport 80 -i eth0 -m state –state NEW -m recent –set
    $IPT -A INPUT -p tcp –dport 80 -i eth0 -m state –state NEW -m recent –update –seconds ${SECONDS} –hitcount ${BLOCKCOUNT} -j ${DACTION}
    # ….
    # ..
    要儲存 iptables 的修改可以查看 iptables-save 的 man page,在 redhat 下是用以下指令:
    service iptables save

    文章出處  網路技術日誌

    破解 XP 使用者密碼

    如果忘記 XP 的登入密碼,以下方法可以不需安裝任何軟件及不用安裝光碟的情況下解決:
    1. 在啟動時按 “F8″ 鍵,選擇 「帶命令行的安全模式」。
    2. 當出現帶有 Administrator 及其他用戶的選單時,選擇 Administrator 進入命令模式。
    3. 如果想恢復密碼的用戶名為 xp_user,而密碼為 new_pass,則輸入以下指令:
    net new_user new_pass /add
    4. 如果想新增一個帶管理員權限的用戶,例如新用戶名為 new_user,而密碼為 new_pass,則輸入以下指令:
    net user new_user new_pass /add
    net localgroup administrators new_user /add


    5. 重新開機便可以使用新密碼登錄。

    文章出處  網路技術日誌

    PHP 取得用戶真實 IP

    要用 PHP 取得用戶的 IP 十分容易,只要用 $_SERVER['REMOTE_ADDR'] 變數就可以知道用戶的 IP,但如果用戶使用了 proxy server 上網的話,$_SERVER['REMOTE_ADDR'] 只會得到 proxy 的 IP 地址。
    以下方法會使用 $_SERVER["HTTP_CLIENT_IP"] 及 $_SERVER["HTTP_X_FORWARDED_FOR"] 解決這個問題:
    PHP:
    1. if (!empty($_SERVER["HTTP_CLIENT_IP"])){
    2.     $ip = $_SERVER["HTTP_CLIENT_IP"];
    3. }elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
    4.     $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
    5. }else{
    6.     $ip = $_SERVER["REMOTE_ADDR"];
    7. }
    8. echo $ip;
    9. ?>

    文章出處 網路技術日誌