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_enableuserlist_deny』。

       如果說/etc/vsftpd.ftpusersPAM模組的抵擋設定項目,那麼這個/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_enableuserlist_deny』。

       如果說/etc/vsftpd.ftpusersPAM模組的抵擋設定項目,那麼這個/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來搜尋。

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

 

以下是各指令的說明

 

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

 

[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點可以登入

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

  繼續閱讀 »