以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服務器。shell