Redhat Linux上vsftpd編譯安裝
以root賬戶(hù)登錄RedHat bashshell
本文引用地址:http://dyxdggzs.com/article/201809/388516.htm[root@redhat ~]# tar -zxvf vsftpd-2.0.5.tar.gz //解壓vsftp source文件
[root@redhat ~]# cd vsftpd-2.0.5 //進(jìn)入解壓后的目錄
[root@redhat vsftpd-2.0.5]# more INSTALL //看看安裝說(shuō)明。比如要做什么工作。是個(gè)英文文檔.
[root@redhat vsftpd-2.0.5]# useradd nobody //這里需要加一個(gè)nobody用戶(hù)。大家可以使用finger nobody查看下??词欠裼羞@個(gè)用戶(hù)。用就不需要加了
[root@redhat vsftpd-2.0.5]# mkdir /usr/share/empty //這一步同上。服務(wù)器需要一個(gè)empty的空目錄放在/usr/share/下??梢允褂胠s /usr/share/empty查看。如果存在就不需要了。這步也可以跳過(guò)
如果需要開(kāi)啟匿名用戶(hù)訪(fǎng)問(wèn),需要做下面幾步工作
[root@redhat vsftpd-2.0.5]# mkdir /var/ftp/ //創(chuàng )建供匿名用戶(hù)使用的目錄
[root@redhat vsftpd-2.0.5]# useradd -d /var/ftp ftp //創(chuàng )建ftp用戶(hù)并且指定家目錄為/var/ftp,這個(gè)步驟一般的系統也有。如果創(chuàng )建提示:user ftp exists(FTP用戶(hù)存在)就表示此用戶(hù)已經(jīng)存在。
繼續下一步
[root@redhat vsftpd-2.0.5]# chown root.root /var/ftp //設置/var/ftp,也就是ftp用戶(hù)的家目錄屬組和屬主都是root,為了安全。這步還是需要的
[root@redhat vsftpd-2.0.5]# chmod og-w /var/ftp //更改權限,去掉屬組和其他人的寫(xiě)權限
上面這寫(xiě)工作做完了。下面就可以便宜了
[root@redhat vsftpd-2.0.5]# make //編譯二進(jìn)制文件
[root@redhat vsftpd-2.0.5]# make install //安裝,安裝的時(shí)候可以看到安裝的相關(guān)文件。
[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(用戶(hù)列表的用戶(hù)不允許登入服務(wù)器)。然后: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
基本到這里。所有工作就做完了。但是還要說(shuō)點(diǎn)東西
默認情況下vsftp是以超級守護進(jìn)程(xinetd)運行的。
啟動(dòng)方式(二種方式)
[root@redhat vsftpd-2.0.5]# service xinetd restart //重啟超級守護進(jìn)程就等于啟動(dòng)了vsftp
另外一個(gè)方式,就是獨立運行需要修改配置文件
[root@redhat vsftpd-2.0.5]# vi /etc/vsftpd.conf
然后按,跳到行尾。加上listen=YES。然后:wq保存退出
這樣就可以使用下面這條語(yǔ)句啟動(dòng)
[root@redhat vsftpd-2.0.5]# /usr/local/sbin/vsftpd //后臺啟動(dòng)vsftp
[root@redhat vsftpd-2.0.5]# echo /usr/local/sbin/vsftpd >> /etc/rc.local //追加到啟動(dòng)腳本上
上 面兩種方式可隨意使用。我還對啟動(dòng)腳本做了一些實(shí)驗(以service vsftpd start這種方式啟動(dòng)),最終還是失敗了。但是我想說(shuō)。我努力了。由于本人對shell編程不是很了解。未能寫(xiě)出一個(gè)使用的腳本,哎。學(xué)!可能還是有辦法解決。使用RPM方式安裝一個(gè)vsftp,然后看看init.d里面的腳本是怎么寫(xiě)的。
下面貼一個(gè)別人的關(guān)于配置的文章
#匿名用戶(hù)
anonymous_enable=NO
#anon_mkdir_write_enable=YES
#anon_upload_enable=YES
#本地用戶(hù)能否登陸
#local_enable=YES
#是否可寫(xiě)
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
#如何隨意增加一個(gè)用戶(hù)目錄
通過(guò)useradd -d /path/dir -M name 以及chmod ? /path/dir 可以達到
#如何對磁盤(pán)限額
用quota對/etc/fstab進(jìn)行限制,然后對特定用戶(hù)進(jìn)行限制
補充:
補充一:如何把用戶(hù)限制在家目錄中呢?
我們要自己建一個(gè)文件,在/etc目錄中
#touch /etc/vsftpd.chroot_list
以beinan這個(gè)用戶(hù)為例
在vsftpd.chroot_list這個(gè)文件中,把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
如果沒(méi)有這樣的兩行,就可以自己添加上去也是一樣的。
設置好后,重新vsFTPD服務(wù)器。
補充二:打開(kāi)vsFTP服務(wù)器的日志功能:
把下面xferlog_file前面的#號對掉,也就是把vsftp的log功能打開(kāi),這樣我們就能在/var/log目錄下查看vsftpd.log。這是vsFTP的日志功能,這對于我們來(lái)說(shuō)是極為重要的。
#xferlog_file=/var/log/vsftpd.log
補充三:如何讓綁定IP到vsFTP?也就是說(shuō),如何讓用戶(hù)只能通過(guò)某個(gè)IP來(lái)訪(fǎng)問(wèn)FTP。其實(shí)這個(gè)功能很有意思。如果綁定的是內網(wǎng)的IP,外部是沒(méi)有辦法訪(fǎng)問(wèn)的。如果綁定的是對外服務(wù)的IP,內網(wǎng)也只能通過(guò)對外服務(wù)的IP來(lái)訪(fǎng)問(wèn)FTP
在/etc/vsftpd/vsftpd.conf中加一行,以我的局域網(wǎng)為例,請看第一帖中的操作環(huán)境,這樣外網(wǎng)就不能訪(fǎng)問(wèn)我的FTP了,內網(wǎng)也可能通過(guò)192.168.0.2來(lái)訪(fǎng)問(wèn)FTP
listen_address=192.168.0.2
加完后,要重啟vsFTP服務(wù)器。
評論