vsftpd架設(Super daemon)

由 Derek 發表於 五月 18, 2011 / 4 則評論

vsftpd 的全名是『Very Secure FTP Daemon 』

vsftpd 擁有兩種啟動的方式,分別是一直在監聽的【stand alone】 ,

一種則是透過 xinetd 這個  【super daemon】 來管理的方式。

在CentOS上預設都是用Stand alone來啟動的。


兩種vsftpd的使用時機為 :

【stand alone】: 如果你的ftp伺服器是提供給整個網際網路來進行大量下載的任務,例如公

                           家機關,或各大學校的 FTP 伺服器,那建議你使用stand alone 的方式,

                           服務的速度上會比較好

【super daemon】: 如果只是提供給公司內部人員使用的FTP,那使用super daemon來

                               管理就可以了

 

在【stand alone】中又可分為【stand alone-實體用戶】和【super daemon-匿名用戶】

這邊先介紹【super daemon】


  

一開始先檢查是否有安裝vsftp


[root@localhost ~]#  rpm -q vsftpd

vsftpd-2.0.5-16.el5_4.1

如果你的 CentOS 沒有安裝, 請利用 yum install vsftpd 來安裝他

 

【Super daemon】的設定方式

如果FTP較少在使用的情況下,可考慮使用Super daemon,在Super daemon管理部份就要自行修改設定檔。


[root@localhost ~]#  vi /etc/vsftpd/vsftpd.conf

#找到這一行

listen=YES

#把YES改成NO

listen=NO

 

 

接下來修改設定檔,但是底下設定檔必須要自己新增才行。(基本設定)

有關設定檔內容的部份可參考【Super daemon設定檔語法說明 】

 


[root@localhost ~]#  vi /etc/xinetd.d/vsftpd

service ftp

{

        socket_type             = stream

        wait                    = no

        user                    = root

        server                  = /usr/sbin/vsftpd

        log_on_success          += DURATION USERID

        log_on_failure          += USERID

        nice                    = 10

        disable                 = no

}

  繼續閱讀 »

vsftpd架設(Super daemon-匿名登入)

由 Derek 發表於 五月 17, 2011 / 4 則評論

vsftpd 的全名是『Very Secure FTP Daemon 』

vsftpd 擁有兩種啟動的方式,分別是一直在監聽的【stand alone】 ,

一種則是透過 xinetd 這個  【super daemon】 來管理的方式。

在CentOS上預設都是用Stand alone來啟動的。

 

兩種vsftpd的使用時機為 :

【stand alone】: 如果你的ftp伺服器是提供給整個網際網路來進行大量下載的任務,例如公

                           家機關,或各大學校的 FTP 伺服器,那建議你使用stand alone 的方式,

                           服務的速度上會比較好

【super daemon】: 如果只是提供給公司內部人員使用的FTP,那使用super daemon來

                               管理就可以了

 

在【stand alone】中又可分為【stand alone-實體用戶】和【super daemon-匿名用戶】

 

這邊先介紹【super daemon-匿名用戶】

若要了解匿名登入可參考此篇【stand alone-實體用戶】

 

 

匿名登入的設定方式

首先我們要先知道當用匿名登入時的目錄在那個地方。基本上都是放在預設/var/ftp/目錄當中。

首先,先說明一下幾個重要的設定檔案

●    /etc/vsftpd/vsftpd.conf

簡單來說,整個 vsftpd 的設定檔就只有這個檔案!是用『參數=設定值』來設定的, 等號兩邊不

能有空白喔!詳細的vsftpd.conf說明可用『man 5 vsftpd.conf 』查看。

●    /etc/pam.d/vsftpd

       這個是 vsftpd 使用 PAM 模組時的相關設定檔。主要用來作為身份認證之用,還有一些使用者

       身份的抵擋功能, 也是透過這個檔案來達成的。

●    /etc/vsftpd.ftpusers

和/etc/pam.d/vsftpd有關係,也就是PAM模組(/etc/pam.d/vsftpd_ 所指定的那個無法登入的使用

者設定檔。這個檔案的設定很簡單,只要將『不想讓他登入的帳號』寫入這個檔案就可以。一行

一個帳號。

●    /etc/vsftpd.user_list

       這個檔案能否生效與vsftpd.conf內的兩個參數有關,分別是『userlist_enable和userlist_deny』。

       如果說/etc/vsftpd.ftpusers是PAM模組的抵擋設定項目,那麼這個/etc/vsftpd.user_list 則是 vsftpd

       自訂的抵擋項目。事實上這個檔案與/etc/vsftpd.ftpusers幾乎一模一樣,在預設的情況下,你可

       以將不希望可登入vsftpd的帳號寫入這裡。不過這個檔案的功能會依據vsftpd.conf設定檔內的

       userlist_deny=(YES/NO) 而不同

●    /etc/vsftpd.chroot_list

這個檔案預設是不存在的,所以必須要手動自行建立。這個檔案的主要功能是可以將某些帳號的

使用者chroot在家目錄下。但這個檔案要生效與vsftpd.conf內的『 chroot_list_enable,

chroot_list_file 』兩個參數有關。如果想要將某些實體用戶限制在家目錄下而不許到其他目錄去,

可以啟動這個設定項目喔

●    /usr/sbin/vsftpd

       這是 vsftpd 的主要執行檔,vsftpd只有這一個執行檔

●    /var/ftp/

       這是vsftpd預設匿名者登入的根目錄

 

 

建立vsftpd.conf的設定資料

雖然說可以同時開啟【stand alone-實體用戶】和【super daemon-匿名用戶 】,不過基於

安全性考量還是建議針對單一種身份來設定會比較安全一些。這邊就來介紹匿名登入的

設定方式

可依照個人的需求來設定vsftpd.conf,以下是一些基本的設定可參考看看。

至於其它Vsftd.conf詳細說明,可以參考【Vsftd.conf設定說明】

繼續閱讀 »

vsftpd架設(stand alone-實體用戶)

由 Derek 發表於 五月 16, 2011 / 1 則評論

vsftpd 的全名是『Very Secure FTP Daemon 』

vsftpd 擁有兩種啟動的方式,分別是一直在監聽的【stand alone】 ,

一種則是透過 xinetd 這個  【super daemon】 來管理的方式。

在CentOS上預設都是用Stand alone來啟動的。

 

兩種vsftpd的使用時機為 :

【stand alone】: 如果你的ftp伺服器是提供給整個網際網路來進行大量下載的任務,例如公

                           家機關,或各大學校的 FTP 伺服器,那建議你使用stand alone 的方式,

                           服務的速度上會比較好

【super daemon】: 如果只是提供給公司內部人員使用的FTP,那使用super daemon來

                               管理就可以了

 

在【stand alone】中又可分為【stand alone-實體用戶】和【super daemon-匿名用戶】

 

這邊先介紹【stand alone-實體用戶】

若要了解匿名登入可參考此篇【super daemon-匿名用戶】

 

查詢是否有安裝vsftpd


[root@localhost ~]#  rpm -q vsftpd

vsftpd-2.0.5-16.el5_4.1

 


如果你的 CentOS 沒有安裝, 請利用 yum install vsftpd 來安裝他吧


 [root@localhost ~]# yum install vsftpd

Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

 * addons: centos.ustc.edu.cn

 * base: centos.ustc.edu.cn

 * extras: centos.ustc.edu.cn

 * updates: centos.ustc.edu.cn

addons                                                   |  951 B     00:00

base                                                       |  2.1 kB     00:00

#中間內容略過。

Is this ok [y/N]: y

中間過程會有兩次需要輸入y(確定)

Is this ok [y/N]: y

Running rpm_check_debug

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

  Updating       : vsftpd                                                   1/2

  Cleanup        : vsftpd                                                   2/2

Updated:

  vsftpd.x86_64 0:2.0.5-16.el5_5.1

Complete!

#這樣就安裝完了

 

 

先來啟動vsftp


 [root@localhost ~]# /etc/init.d/vsftpd start

正在啟動 vsftpd 中的 vsftpd:                               [  確定  ]

[root@localhost ~]# netstat -tulnp| grep 21  

tcp    0    0 0.0.0.0:21     0.0.0.0:*       LISTEN      4804/vsftpd

#確定vsftp服務是否有起來,並且是以vsftp所啟動的

 

 

繼續閱讀 »

Super daemon設定檔說明

由 Derek 發表於 五月 15, 2011 / 1 則評論

再來介紹Super daemon各種語法的功能和說明

 

一般設定項目:服務的識別、啟動與程式

●      disable(啟動與否)

   設定值:[yes|no],預設 disable = yes

     disable為取消的意思,此值可設定該服務是否要啟動。預設所有的super daemon

     管理的服務都不啟動的。若要啟動就得要設定為『disable = no』

 

●    id(服務識別)

   設定值:[服務的名稱]

     雖然服務在設定檔開頭『service服務名稱』已經指定了,不過有時後會有重

     複的設定值,此時可以用id來取代服務名稱。可以參考一下

     /etc/xinetd.d/time-stream來思考一下原理

 

●    server(程式檔名)

   設定值:[program 的完整檔名]

     這個就是指出這個服務的啟動程式。例如/usr/bin/rsync為啟動rsync服務的指令,

     所以這個設定值就會成為:『server = /usr/bin/rsync』

 

●    server_args(程式參數)

   設定值:[程式相關的參數]

     這裡應該輸入的就是server那裡需要輸入的一些參數。例如rsync需要

     加入 –daemon,所以這裡就設定:『server_args = –daemon』。與上面server 

     搭配,最終啟動服務的方式『/usr/bin/rsync –daemon』

 

●    user(服務所屬UID)

   設定值:[使用者帳號]

     如果 xinetd 是以 root 的身份啟動來管理的,那麼這個項目可以設定為其他使用

     者。此時這個daemon將會以此設定值指定的身份來啟動該服務的程序喔!舉

     例來說,你啟動rsync時會以這個設定值作為該程序的UID。

 

●    group

   跟user的意思相同。此項目填入群組名稱即可。

  繼續閱讀 »

Vsftd.conf設定說明

由 Derek 發表於 五月 14, 2011 / 5 則評論

首先,先說明一下幾個重要的設定檔案

●    /etc/vsftpd/vsftpd.conf

簡單來說,整個 vsftpd 的設定檔就只有這個檔案!是用『參數=設定值』來設定的, 等號兩邊不

能有空白喔!詳細的vsftpd.conf說明可用『man 5 vsftpd.conf 』查看。

 

●    /etc/pam.d/vsftpd

        這個是 vsftpd 使用 PAM 模組時的相關設定檔。主要用來作為身份認證之用,還有一些使用者

        身份的抵擋功能, 也是透過這個檔案來達成的。

 

●    /etc/vsftpd.ftpusers

和/etc/pam.d/vsftpd有關係,也就是PAM模組(/etc/pam.d/vsftpd_ 所指定的那個無法登入的使用

者設定檔。這個檔案的設定很簡單,只要將『不想讓他登入的帳號』寫入這個檔案就可以。一行

一個帳號。

 

●   /etc/vsftpd.user_list

       這個檔案能否生效與vsftpd.conf內的兩個參數有關,分別是『userlist_enable和userlist_deny』。

       如果說/etc/vsftpd.ftpusers是PAM模組的抵擋設定項目,那麼這個/etc/vsftpd.user_list 則是 vsftpd

       自訂的抵擋項目。事實上這個檔案與/etc/vsftpd.ftpusers幾乎一模一樣,在預設的情況下,你可

       以將不希望可登入vsftpd的帳號寫入這裡。不過這個檔案的功能會依據vsftpd.conf設定檔內的

       userlist_deny=(YES/NO) 而不同

 

●    /etc/vsftpd.chroot_list

這個檔案預設是不存在的,所以必須要手動自行建立。這個檔案的主要功能是可以將某些帳號的

使用者chroot在家目錄下。但這個檔案要生效與vsftpd.conf內的『 chroot_list_enable,

chroot_list_file 』兩個參數有關。如果想要將某些實體用戶限制在家目錄下而不許到其他目錄去,

可以啟動這個設定項目喔

 

●    /usr/sbin/vsftpd

        這是 vsftpd 的主要執行檔,vsftpd只有這一個執行檔

 

●    /var/ftp/

        這是vsftpd預設匿名者登入的根目錄

  

 vsftpd.conf 設定值說明

在本身的/etc/vsftpd/vsftpd.conf就是一個詳細的設定檔。若想更加了解的可以使用【man 5 vsftpd.conf】

查詢。這邊提供一些常用的參數說名。

 

Vsftpd.conf 設定值這邊分為四大區塊:

1.與主機較相關的設定值。

2.與實體用戶較相關的設定值。

3.匿名者登入的設定值。

4.關於系統安全方面的一些設定值

  繼續閱讀 »

vsftpd 500 OOPS:chroot

由 Derek 發表於 五月 13, 2011 / 1 則評論

FTP登入的時後出現【vsftpd 500 OOPS:chroot】錯誤訊息。

錯誤代碼為 : vsftpd 500 OOPS:chroot

解決辦法 :

關閉selinux

修改vi /etc/sysconfig/selinux

把原先的SELINUX=enforcing改為SELINUX=distable儲存後重開機

這樣一來就可以解決這個問題了


[root@localhost ~]#  vi /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#       enforcing – SELinux security policy is enforced.

#       permissive – SELinux prints warnings instead of enforcing.

#       disabled – SELinux is fully disabled.

# SELINUX=enforcing

SELINUX=distable

# SELINUXTYPE= type of policy in use. Possible values are:

#       targeted – Only targeted network daemons are protected.

#       strict – Full SELinux protection.

SELINUXTYPE=targeted

[root@localhost ~]# reboot

搜尋指令 which, whereis, locate, find的差別

由 Derek 發表於 五月 10, 2011 / 1 則評論

簡單的比較說明:

【which】 通常都是用來尋找『執行檔』

【whereis】 通常是用來尋找『特定檔案』

 

【whersis】和【locate】搜尋時是以資料庫檔案裡的資料為主

【find】搜尋時是以整個硬碟裡的資料為主

 

在Linux下,find這個指令不常用到,因為不僅速度慢也很操硬碟。所以通常都是先使用whereis或是locate來檢查,最後真的找不到的話,才會使用到find來搜尋。

Whereis和locate是利用資料庫來搜尋資料,並非實際搜尋硬碟。因此在找資料上的速度相當快速,也較省時間。

 

以下是各指令的說明

 

which 

這個指令是根據『PATH』這個環境變數所規範的路徑,去搜尋『執行檔』的檔名,而且which後面接的是『完整檔名』。若加上 -a 選項,則可以列出所有的可以找到的同名執行檔,而非僅顯示第一個!

 

[root@www ~]# which [-a] command

選項或參數:

-a :將所有由 PATH 目錄中可以找到的指令均列出,而不止第一個被找到的指令名稱

範例一:分別用root與一般帳號搜尋 ifconfig 這個指令的完整檔名

[root@www ~]# which ifconfig

/sbin/ifconfig            <==用 root 可以找到正確的執行檔名喔!

[root@www ~]# su – derek <==切換身份成為 derek 去!

[derek@www ~]$ which ifconfig

/usr/bin/which: no ifconfig in (/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin

:/home/derek/bin)         <==竟然一般身份帳號找不到!

# 因為 which 是根據使用者所設定的 PATH 變數內的目錄去搜尋可執行檔的!

# 不同的 PATH 設定內容所找到的指令當然不一樣啦!因為 /sbin 不在 derek 的

# PATH 中,找不到也是理所當然的啊!瞭乎?

  

 

whereis

為什麼whereis的搜尋速度會比find快這麼多呢?

因為Linux 會將系統內所有的檔案都記錄在一個資料庫檔案裡面,當要使用whereis和locate時,就會先以此資料庫檔案的內容為準。有時在使用這兩個執行檔的時後,會找到已經被殺掉的檔案。也有時後會找不到剛剛所建立的最新檔案,因為還沒有被記錄到此資料庫檔案中。

 

[root@www ~]# whereis [-bmsu] 檔案或目錄名

選項與參數:

-b    :只找可執行檔( binary )格式的檔案

-m    :只找在說明檔 manual 路徑下的檔案

-s    :只找 source 來源檔案

-u    :搜尋不在上述三個項目當中的其他特殊檔案

如果不加任何選項的話,那麼就將所有的資料列出來囉!

 

範例一:請用不同的身份找出 ifconfig 這個檔名

[root@www ~]# whereis ifconfig

ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz

[root@www ~]# su – derek        <==切換身份成為 derek

[derek@www ~]$ whereis ifconfig <==找到同樣的結果喔!

ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz

[derek@www ~]$ exit              <==回歸身份成為 root 去!

# 注意看,明明 which 一般使用者找不到的 ifconfig 卻可以讓 whereis 找到!

# 這是因為系統真的有 ifconfig 這個『檔案』,但是使用者的 PATH 並沒有加入 /sbin

# 所以,未來你找不到某些指令時,先用檔案搜尋指令找找看再說!

 

  繼續閱讀 »

Windows Server 2003 Active Directory(AD) 五.使用者帳戶介紹

由 Derek 發表於 五月 8, 2011 / 1 則評論

 

新增帳戶之後,要對該帳戶最進一步的設定。因此在這邊來介紹一下,設定的簡單說明。

以下介紹比較常用的一些設定。

 

先開啟【Active Directory 使用者及電腦】

開啟方法【開始】→【系統管理工具】→【Active Directory 使用者及電腦】

再來對【Users】→【德瑞克(新建立的使用者帳戶)】→【(右鍵)內容】

 

 設定電子郵件和首頁

輸入電子郵件帳號和網址後,可以在Active Directory 使用者及電腦的主控台來執行以下動作

1.      在帳戶名稱按右鍵,選【傳送郵件】,即可啟用Outlook Express,寄信給者個使用者(如圖二)

2.      在帳戶名稱按右鍵,選【開啟首頁】,即可使用瀏覽器瀏覽其網頁(如圖二)

(圖一)

 

(圖二)

 

接下來介紹如何限制使用者登入的時間和能夠登入的工作站.

一樣對【Users】→【德瑞克(新建立的使用者帳戶)】→【(右鍵)內容】

選擇【帳戶】→【登入時數(L)】

【登入時數(L)】可限制帳戶登入時間

【登入到(T)】可設定此帳戶能夠登入的工作站

 

點選【登入時數】後會看到此畫面。

藍色方塊代表允許登入

白色方塊代表不允許登入

預設都是所有帳戶在任何時間都能登入

 

如果要設定登入時間的話。

請先點右方紅框內的【拒絕登入(D)】此時會看到原本全部都是藍色的地方,都變成白色。

接下來在左邊白色方塊內,拉出你想要的時間點後,在點選允許登入,框起來的部份就會

變成藍色的了。

如下圖就是設定成。星期二到星期四 早上7點到下午5點可以登入

有一點要注意一下,以上的設定只能限制使用者登入網域的時間。但是如果帳戶看允許的時間內登入後,直到超過指定的時間時,系統是不會自動將其登出。如果要強迫使用者超過時間後強制登出,請參考以下方式。

  繼續閱讀 »