歡迎您光臨本站 註冊首頁

高手進階:Redhat Linux上vsftpd編譯安裝

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
   

以root賬戶登錄RedHat bashshell

 

[root@redhat ~]# tar -zxvf vsftpd-2.0.5.tar.gz //解壓vsftp source文件

 

[root@redhat ~]# cd vsftpd-2.0.5 //進入解壓后的目錄

[root@redhat vsftpd-2.0.5]# more INSTALL //看看安裝說明。比如要做什麼工作。是個英文文檔.

[root@redhat vsftpd-2.0.5]# useradd nobody //這裡需要加一個nobody用戶。大家可以使用finger nobody查看下。看是否有這個用戶。用就不需要加了

[root@redhat vsftpd-2.0.5]# mkdir /usr/share/empty //這一步同上。伺服器需要一個empty的空目錄放在/usr/share/下。可以使用ls /usr/share/empty查看。如果存在就不需要了。這步也可以跳過

 

如果需要開啟匿名用戶訪問,需要做下面幾步工作

[root@redhat vsftpd-2.0.5]# mkdir /var/ftp/ //創建供匿名用戶使用的目錄

[root@redhat vsftpd-2.0.5]# useradd -d /var/ftp ftp //創建ftp用戶並且指定家目錄為/var/ftp,這個步驟一般的系統也有。如果創建提示:user ftp exists(FTP用戶存在)就表示此用戶已經存在。

 

繼續下一步

[root@redhat vsftpd-2.0.5]# chown root.root /var/ftp //設置/var/ftp,也就是ftp用戶的家目錄屬組和屬主都是root,為了安全。這步還是需要的

[root@redhat vsftpd-2.0.5]# chmod og-w /var/ftp //更改許可權,去掉屬組和其他人的寫許可權

 

上面這寫工作做完了。下面就可以便宜了

[root@redhat vsftpd-2.0.5]# make //編譯二進位文件

[root@redhat vsftpd-2.0.5]# make install //安裝,安裝的時候可以看到安裝的相關文件。

[root@redhat vsftpd-2.0.5]# cp vsftpd.conf /etc/ //拷貝配置文件

[root@redhat vsftpd-2.0.5]# cp RedHat/vsftpd.pam /etc/pam.d/ftp //拷貝PAM安全驗證文件此為驗證文件所在的目錄

 

[root@redhat vsftpd-2.0.5]# vi /etc/vsftpd.conf

然後按,跳到行尾。設置 pam_server_name=ftp(要與你的PAM文件同名);userlist_enable=YES(用戶列表的用戶不允許登入伺服器)。然後:wq保存退出

 

[root@redhat vsftpd-2.0.5]# cp vsftpd.conf.5 /usr/local/man/man5

[root@redhat vsftpd-2.0.5]# cp vsftpd.8 /usr/local/man/man8

 

基本到這裡。所有工作就做完了。但是還要說點東西

 

默認情況下vsftp是以超級守護進程(xinetd)運行的。

 

啟動方式(二種方式)

[root@redhat vsftpd-2.0.5]# service xinetd restart //重啟超級守護進程就等於啟動了vsftp

 

另外一個方式,就是獨立運行需要修改配置文件

[root@redhat vsftpd-2.0.5]# vi /etc/vsftpd.conf

 

然後按,跳到行尾。加上listen=YES。然後:wq保存退出

 

這樣就可以使用下面這條語句啟動

[root@redhat vsftpd-2.0.5]# /usr/local/sbin/vsftpd & //後台啟動vsftp

[root@redhat vsftpd-2.0.5]# echo "/usr/local/sbin/vsftpd &" >> /etc/rc.local //追加到啟動腳本上

 

上 面兩種方式可隨意使用。我還對啟動腳本做了一些實驗(以service vsftpd start這種方式啟動),最終還是失敗了。但是我想說。我努力了。由於本人對shell編程不是很了解。未能寫出一個使用的腳本,哎。學!可能還是有辦法解決。使用RPM方式安裝一個vsftp,然後看看init.d裡面的腳本是怎麼寫的。

 

下面貼一個別人的關於配置的文章

 

#匿名用戶

anonymous_enable=NO

#anon_mkdir_write_enable=YES

#anon_upload_enable=YES

#本地用戶能否登陸

#local_enable=YES

#是否可寫

write_enable=YES

#VSFTPD獨立運行 (用vsftpd /etc/vsftpd.conf &)以及下載速度的限制

listen=YES

max_clients=600

max_per_ip=5

tcp_wrappers=YES

connect_from_port_20=YES

#anon_max_rate=51200 (56k)

#local_max_rate=512000 (560k)

#如何更改路徑

#anon_root=/var/ftp/pub

#local_root=/var/ftp

#如何隨意增加一個用戶目錄

通過useradd -d /path/dir -M name 以及chmod ? /path/dir 可以達到

#如何對磁碟限額

用quota對/etc/fstab進行限制,然後對特定用戶進行限制

 

補充:

 

補充一:如何把用戶限制在家目錄中呢?

 

我們要自己建一個文件,在/etc目錄中

 

#touch /etc/vsftpd.chroot_list

 

以beinan這個用戶為例

 

在vsftpd.chroot_list這個文件中,把beinan添上去就行。

 

然後改/etc/vsftpd/vsftpd.conf文件,找如下的兩行

 

#chroot_list_enable=YES

 

#chroot_list_file=/etc/vsftpd.chroot_list

 

把前面的#號去掉,也就是這樣的

 

chroot_list_enable=YES

 

chroot_list_file=/etc/vsftpd.chroot_list

 

如果沒有這樣的兩行,就可以自己添加上去也是一樣的。

 

設置好后,重新vsFTPD伺服器。

 

補充二:打開vsFTP伺服器的日誌功能:

 

把下面xferlog_file前面的#號對掉,也就是把vsftp的log功能打開,這樣我們就能在/var/log目錄下查看vsftpd.log。這是vsFTP的日誌功能,這對於我們來說是極為重要的。

 

#xferlog_file=/var/log/vsftpd.log

 

補充三:如何讓綁定IP到vsFTP?也就是說,如何讓用戶只能通過某個IP來訪問FTP。其實這個功能很有意思。如果綁定的是內網的IP,外部是沒有辦法訪問的。如果綁定的是對外服務的IP,內網也只能通過對外服務的IP來訪問FTP

 

在/etc/vsftpd/vsftpd.conf中加一行,以我的區域網為例,請看第一帖中的操作環境,這樣外網就不能訪問我的FTP了,內網也可能通過192.168.0.2來訪問FTP

 

listen_address=192.168.0.2

 

加完后,要重啟vsFTP伺服器。

(責任編輯:A6)



[火星人 ] 高手進階:Redhat Linux上vsftpd編譯安裝已經有500次圍觀

http://coctec.com/docs/net/show-post-68267.html