編譯安裝vsftpd
A. 在ubuntu下編譯vsftpd出現問題,修改過Makefile和vsf_findlibs.sh。但是還是出現下面的問題
你是學生嗎?
我沒有裝個這個,一般裝這個編譯不成功都是缺少什麼庫,或者找不到庫路徑,我不知道你為什麼要改Makefile(是哪個大神指導的嗎。。。),一般這個不都是自動生成的嗎,不建議去改這些東西。。。
一般源碼安裝都是這樣的步驟:
./configure --prefix=<一個你有許可權的安裝路徑>
make
make install
如果make不成功,就是你缺少庫,或者找不到庫的路徑(把庫路徑加到PATH里就可以了),如果少庫的話,再想辦法裝上少的庫吧
B. linux安裝vsftpd伺服器時: 執行make命令安裝時: 出現'make:*** [install] 錯誤 1'提示:
1.安裝vsftpd可以用操作系統自帶的vsftpd,一般都是編譯好的,如centos里的vsftpd****.rpm
2.make是否正確安裝了?
3.許可權不足
4.執行make命令的當前目錄下沒有MakeFile文件
C. 如何在ubuntu中安裝設置ftp伺服器
FTP伺服器是平時應用最為廣泛的服務之一。VSFTP是Very Secure
FTP的縮寫,意指非常安全的FTP服務。VSFTP功能強大,通過結合本地系統的用戶認證模塊及其多功能的配置項目,可以快速有效的搭建強大的多用戶FTP服務。
首先我們考慮搭建FTP服務需要關注的都有哪些方面?比如我們最經常關注的有:
1、如何添加FTP用戶?
2、如何臨時凍結某FTP用戶?
3、FTP用戶登入後的默認目錄?是否可以改變?
4、如何鎖定FTP用戶可訪問的目錄范圍?
5、FTP用戶可以有哪些訪問許可權?可否上傳文件?
我們將帶著這些問題來探討如何配置VSFTP以達到預定目標。
一、主要配置選項
VSFTP的主配置文件是/etc/vsftpd.conf
。由於可配置的選項實在太多,無法一一詳談,只能截取比較常用的功能配置選項來加以說明。完整說明可參考man
vsftpd.conf。
這里需要注意的是,每個配置選項都是由「配置項目名稱=配置值「所定義。在每個配置變數後,要緊跟等號,再緊跟設置的變數值。中間不允許出現空格之類的分隔符,否則導致配置錯誤,無法生效!
另外,如果需要開通上傳功能,則應注意用來登錄FTP的本地系統用戶對要操作的目錄需要具備寫許可權,否則無法上傳文件!
版本vsftpd: version 2.0.6
啟動VSFTPD:sudo /etc/init.d/vsftpd start
停止VSFTPD:sudo /etc/init.d/vsftpd stop
重啟VSFTPD:sudo /etc/init.d/vsftpd restart
以下為常用的配置選項:
1、listen=YES
若設置為YES,開啟監聽網路。
2、anonymous_enable
若設置為YES,則允許匿名用戶訪問;若設置為NO則拒絕匿名用戶訪問。
如果開啟的話,則可以通過用戶名ftp或者anonymous來訪問,密碼隨便。
3、local_enable
若設置為YES,則允許通過本地用戶帳號訪問;若設置為NO,則拒絕本地用戶帳號訪問。如果你拒絕了陌生人訪問,那麼這個必須設置為YES吧,否則誰能訪問你的FTP呢?
4、write_enable
若設置為YES,則開啟FTP全局的寫許可權;若設置為NO,則不開。
若為NO則所有FTP用戶都無法寫入,包括無法新建、修改、刪除文件、目錄等操作,也就是說用戶都沒辦法上傳文件!!
5、anon_upload_enable
若設置為YES,開啟匿名用戶的上傳許可權。前提是write_enable有開啟,並且用戶具有對當前目錄的可寫許可權。
若設置為NO,則關閉匿名用戶的上傳許可權。
6、anon_mkdir_write_enable
若設置為YES,開啟匿名用戶新建目錄的許可權。前提是write_enable有開啟,並且用戶具有對當前目錄的可寫許可權。
若設置為NO,則關閉匿名用戶新建目錄的許可權。
7、dirmessage_enable
若設置為YES,則可開啟目錄信息推送,也就是用戶登錄FTP後可以列出當前目錄底下的文件、目錄。 這個應該要開啟吧!
8、xferlog_enable
若設置為YES,則開啟登錄、上傳、下載等事件的日誌功能。應開啟!
9、xferlog_file=/var/log/vsftpd.log
指定默認的日誌文件,可指定為其他文件。
10、xferlog_std_format
若設置為YES,則啟用標準的ftpd日誌格式。可以不啟用。
11、connect_from_port_20
若設置為YES,則伺服器的埠設為20。
如果不想用埠20,可以另外通過ftp_data_port來指定埠號。
12、chown_uploads
若設置為YES,則匿名用戶上傳文件後系統將自動修改文件的所有者。
若要開啟,則chown_username=whoever也需指定具體的某個用戶,用來作為匿名用戶上傳文件後的所有者。
13、idle_session_timeout=600
不活動用戶的超時時間,超過這個時間則中斷連接。
14、data_connection_timeout=120
數據連接超時時間 。
15、ftpd_banner=Welcome to blah FTP
service.
FTP用戶登入時顯示的信息 。
16、local_root=/home/ftp
指定一個目錄,用做在每個本地系統用戶登錄後的默認目錄。
17、anon_root=/home/ftp
指定一個目錄,用做匿名用戶登錄後的默認目錄。
18、chroot_local_user、 chroot_list_enable、chroot_list_file
這個組合用於指示用戶可否切換到默認目錄以外的目錄。
其中,chroot_list_file默認是/etc/vsftpd.chroot_list,該文件定義一個用戶列表。
若chroot_local_user
設置為NO,chroot_list_enable設置為NO,則所有用戶都是可以切換到默認目錄以外的。
若chroot_local_user
設置為YES,chroot_list_enable設置為NO,則鎖定FTP登錄用戶只能在其默認目錄活動,不允許切換到默認目錄以外。
若chroot_local_user
設置為YES,chroot_list_enable設置為YES,則chroot_list_file所指定的文件裡面的用戶列表都可以訪問默認目錄以外的目錄,而列表以外的用戶則被限定在各自的默認目錄活動。
若chroot_local_user設置為NO,chroot_list_enable設置為YES,則chroot_list_file所指定的文件裡面的用戶列表都被限定在各自的默認目錄活動,而列表以外的用戶則可以訪問默認目錄以外的目錄。
建議設置:chroot_local_user與chroot_list_enable都設置為YES。這樣就只有chroot_list_file所指定的文件裡面的用戶列表可以訪問默認目錄以外的目錄,而列表以外的用戶則被限定在各自的默認目錄活動!
好處:所有人都被限制在特定的目錄裡面。如果某些特定用戶需要訪問其他目錄的許可權,只需將其用戶名寫入chroot_list_file文件就可以賦予其訪問其他目錄的許可權!
19、userlist_file、userlist_enable、userlist_deny
這個組合用於指示用戶可否訪問FTP服務。
其中,userlist_file默認是/etc/vsftpd.user_list,該文件定義一個用戶列表。
若userlist_enable設置為YES,userlist_deny設置為NO,則只有userlist_file所指定的文件裡面的用戶列表裡面的用戶可以訪問FTP。
若userlist_enable設置為YES,userlist_deny設置為YES,則userlist_file所指定的文件裡面的用戶列表裡面的用戶都被拒絕訪問FTP。
若userlist_enable設置為NO,userlist_deny設置為YES,則這個列表沒有實際用處,起不到限制的作用!因為所有用戶都可訪問FTP。
建議設置:userlist_enable與userlist_deny都設置為YES。這樣則userlist_file所指定的文件裡面的用戶列表裡面的用戶都被拒絕訪問FTP。
好處:只需將某用戶帳號加入到userlist_file所指定文件裡面的用戶列表,就可以起到暫時凍結該用戶的功能!
20、user_config_dir
指定一個目錄用於存放針對每個用戶各自的配置文件,比如用戶kkk登錄後,會以該用戶名建立一個對應的配置文件。
比如指定user_config_dir=/etc/vsftpd_user_conf,
則kkk登錄後會產生一個/etc/vsftpd_user_conf/kkk的文件,這個文件保存的配置都是針對kkk這個用戶的。可以修改這個文件而
不用擔心影響到其他用戶的配置。
二、我的VSFTP的配置方案
#首先要安裝VSFTP。源碼編譯或軟體包安裝都可以。
#以下方案實現以下功能:
#1、鎖定用戶在/home/ftp默認目錄活動,
#
並保留/etc/vsftpd.chroot_list文件裡面的用戶列表可訪問其他目錄。
#2、具備暫時凍結FTP用戶的功能,將需暫停的用戶名加入到/etc/vsftpd.usr_list即可。
#
#設置配置文件:
#復制以下文件並保存為/etc/vsftpd.conf
#新建兩文件:touch /etc/vsftpd.chroot_list
#
touch /etc/vsftpd.user_list
#新建目錄:mkdir /home/ftp
#新建群組:addgroup ftp
#修改/home/ftp屬性:chown ftp:ftp /home/ftp
#新增FTP用戶: adser --shell /bin/false --home /home/ftp
your_usr_name
#把需要開通FTP的用戶名加入到ftp群組:usermod -aG ftp your_usr_name
#注意:
#如果你的/etc/shells裡面沒有包含/bin/false,則你用上述的方法建立的用戶將法訪問#FTP,解決方法:編輯/etc/shells,加入/bin/false這行。
#
# Example config file /etc/vsftpd.conf
listen=YES
#listen_ipv6=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP
service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
#ls_recurse_enable=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
anon_root=/home/ftp
local_root=/home/ftp
userlist_file=/etc/vsftpd.user_list
userlist_enable=YES
userlist_deny=YES
三、回答前面提到的問題
1、如何添加FTP用戶?
設置local_enable為YES可以開放系統用戶訪問FTP。
在系統裡面添加用戶,將shell設置為/bin/false,並將其家目錄若設置為/home/ftp或者其他目錄。這樣就可以建立只訪問FTP而無法登錄shell環境的用戶。
注意:可以新建一個ftp組,把/home/ftp的所有者設為ftp,群組也設為ftp。然後所有新添加的FTP用戶只需加入到FTP群組就可以具有對/home/ftp的訪問許可權了。這樣也方便管理用戶量比較大的FTP系統。如:
sudo addgroup ftp #如果有了就不用添加
sudo chown ftp:ftp /home/ftp #如果改過了就不用再改
sudo adser --shell /bin/false --home /home/ftp user1
#添加用戶user1
sudo usermod -aG ftp
user1 #把用戶user1加入到ftp組
這樣便可以通過用戶名user1來訪問FTP服務了。
2、如何臨時凍結某FTP用戶?
將userlist_enable與userlist_deny都設置為YES。這樣userlist_file所指定的文件裡面的用戶列表裡面的用戶都
被拒絕訪問FTP。只需將某用戶帳號加入到userlist_file所指定文件裡面的用戶列表,就可以起到暫時凍結該用戶的功能!如需重新開通使用權
限,則只需從該文件中去掉相應的用戶名。
3、FTP用戶登入後的默認目錄?是否可以改變?
可以通過local_root、anon_root來指定相應的默認目錄。
4、如何鎖定FTP用戶可訪問的目錄范圍?
將chroot_local_user與chroot_list_enable都設置為YES。這樣就只有chroot_list_file所指定的文件
裡面的用戶列表可以訪問默認目錄以外的目錄,而列表以外的用戶則被限定在各自的默認目錄活動!如果某些特定用戶需要訪問其他目錄的許可權,只需將其用戶名寫
入chroot_list_file文件就可以賦予其訪問其他目錄的許可權!
5、FTP用戶可以有哪些訪問許可權?可否上傳文件?
設置write_enable可以開啟全局的寫許可權。這樣FTP用戶就可以在本地帳號管理系統允許的范圍內進行寫操作了
D. 在64位linux下安裝vsftpd,在vsftp-3.0.2文件夾進行編譯時報錯,哪位大俠幫幫我!謝謝
1、根據錯誤提示檢查依賴的哪個包沒有安裝,缺什麼補什麼。
2、檢查pam和pam-devel是否安裝
rpm -qa|grep pam-
3、64位linux安裝vsftp-3.0.2一般會遇到
/lib/libpam.so.0: could not read symbols: File in wrong format錯誤
vi 打開vsf_findlibs.sh,替換/lib/為/lib64/即可
:%s@\/lib\/@\/lib64\/@g
3、make;make install
E. linux下搭建ftp伺服器
linux下搭建ftp伺服器
下面我就為大家整理了一些Linux認證復習備考資料。希望大家可以從中學習答題方法,讓自己的得到進步!最近為了方便目標板與PC機上LINUX之間的通訊,就在LINUX搭建了FTP,工作不難,寫個總結。主要經過以下幾個步驟:
1.檢查是否安裝了vsftpd伺服器
可以用rpm -q vsftpd命令來查看,若顯示"vsftpd-1.1.3-8",則說明系統已經安裝vsftpd伺服器,若沒有則可以在圖形環境下單擊"主菜單→系統設置→添加刪除應用程序"菜單項,在出現的"軟體包管理"對話框里確保選中"FTP伺服器"選項,然後單擊"更新"按鈕,按照屏幕提示插入第3張安裝光碟即可開始安裝。
2.啟動/重新啟動/停止vsftpd服務
從Red Hat Linux 9.0開始,vsftpd默認只採用standalone方式啟動vsftpd服務,方法是在終端命令窗口運行以下命令:
[root@ahpeng root] /etc/rc.d/init.d/vsftpd start
重新啟動vsftpd服務:
[root@ahpeng root] /etc/rc.d/init.d/ vsftpd restart
關閉vsftpd服務:
[root@ahpeng root] /etc/rc.d/init.d/ vsftpd stop
3.vsftpd的配置
在Red Hat Linux 9.0里的vsftpd共有3個配置文件,它們分別是:
vsftpd.ftpusers:位於/etc目錄下。它指定了哪些用戶賬戶不能訪問FTP伺服器,例如root等。
vsftpd.user_list:位於/etc目錄下。該文件里的用戶賬戶在默認情況下也不能訪問
FTP伺服器,僅當vsftpd .conf配置文件里啟用userlist_enable=NO選項時才允許訪問。
vsftpd.conf:位於/etc/vsftpd目錄下。它是一個文本文件,我們可以用Kate、Vi等文本編輯工具對它進行修改,以此來自定義用戶登錄控制、用戶許可權控制、超時設置、伺服器功能選項、伺服器性能選項、伺服器響應消息等FTP伺服器的配置。
(1)用戶登錄控制
anonymous_enable=YES,允許匿名用戶登錄。
no_anon_password=YES,匿名用戶登錄時不需要輸入密碼。
local_enable=YES,允許本地用戶登錄。
deny_email_enable=YES,可以創建一個文件保存某些匿名電子郵件的黑名單,以防止這些人使用Dos攻擊。
banned_email_file=/etc/vsftpd.banned_emails,當啟用deny_email_enable功能時,所需的電子郵件黑名單保存路徑(默認為/etc/vsftpd.banned_emails)。
(2)用戶許可權控制
write_enable=YES,開啟全局上傳許可權。
local_umask=022,本地用戶的上傳文件的umask設為022(系統默認是077,一般都可以改為022)。
anon_upload_enable=YES,允許匿名用戶具有上傳許可權,很明顯,必須啟用write_enable=YES,才
可以使用此項。同時我們還必須建立一個允許ftp用戶可以讀寫的目錄(前面說過,ftp是匿名用戶的映射用戶賬號)。
anon_mkdir_write_enable=YES,允許匿名用戶有創建目錄的權利。
chown_uploads=YES,啟用此項,匿名上傳文件的屬主用戶將改為別的用戶賬戶,注意,這里建議不要指定root賬號為匿名上傳文件的屬主用戶!
chown_username=whoever,當啟用chown_uploads=YES時,所指定的屬主用戶賬號,此處的whoever自然要用合適的用戶賬號來代替。
chroot_list_enable=YES,可以用一個列表限定哪些本地用戶只能在自己目錄下活動,如果chroot_local_user=YES,那麼這個列表裡指定的用戶是不受限制的。
chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,則指定該列表(chroot_local_user)的保存路徑(默認是/etc/vsftpd.chroot_list)。
nopriv_user=ftpsecure,指定一個安全用戶賬號,讓FTP伺服器用作完全隔離和沒有特權的獨立用戶。這是vsftpd系統推薦選項。
async_abor_enable=YES,強烈建議不要啟用該選項,否則將可能導致出錯!
ascii_upload_enable=YES;ascii_download_enable=YES,默認情況下伺服器會假裝接受ASCⅡ模式請求但實際上是忽略這樣的'請求,啟用上述的兩個選項可以讓伺服器真正實現ASCⅡ模式的傳輸。
(注意:啟用ascii_download_enable選項會讓惡意遠程用戶們在ASCⅡ模式下用"SIZE/big/file"這樣的指令大量消耗FTP伺服器的I/O資源。)
這些ASCⅡ模式的設置選項分成上傳和下載兩個,這樣我們就可以允許ASCⅡ模式的上傳(可以防止上傳腳本等惡意文件而導致崩潰),而不會遭受拒絕服務攻擊的危險。
(3)用戶連接和超時選項
idle_session_timeout=600,可以設定默認的空閑超時時間,用戶超過這段時間不動作將被伺服器踢出。
data_connection_timeout=120,設定默認的數據連接超時時間。
(4)伺服器日誌和歡迎信息
dirmessage_enable=YES,允許為目錄配置顯示信息,顯示每個目錄下面的message_file文件的內容
ftpd_banner=Welcome to blah FTP service,可以自定義FTP用戶登錄到伺服器所看到的歡迎信息。
xferlog_enable=YES,啟用記錄上傳/下載活動日誌功能。
xferlog_file=/var/log/vsftpd.log,可以自定義日誌文件的保存路徑和文件名,默認是/var/log/vsftpd.log.
知道了上面各個選項的含義,你可以根據自己的需要進行配置,達部分的選項一般用不著改動,配置完了以後,確認vsftpd服務已經啟動後,我們可以在Windows主機的S命令窗口裡輸入"ftp Addres"(用實際的FTP伺服器IP地址或者域名代替Addres),注意用戶名、密碼都是ftp(ftp是匿名用戶的映射用戶賬號)。
如果登陸不上,可以試驗在LINUX下本地登陸看看,還有可以在LINUX登陸WINDOWS下的FTP,試驗能否登陸成功,如果可以,那很有可能登陸不上LINUX下的FTP的原因是LINUX的防火牆的原因,可以用rpm -q vsftpd命令來查看,如果防火牆開啟,可以用命令把其關閉,也可以在圖形界面下"主菜單"中的"system settings"中選擇"seurity level",安裝系統的時候如果沒有改動,默認是的seurity level是"Medium",你可以不改動該設置,選中下面"allow incomning"中的"FTP",當然你也可以設置seurity level為"NO firewall",這樣再在Windows下登陸LINUX的FTP,應該可以登陸了。
登陸後具體ftp下的操作就參考有關ftp的命令了,登陸後的路徑為/var/ftp/pub,把你所需要操作的文件可以放在該目錄下,我這里用付ftp主要是在下載linux編譯後的文件到板子上,上傳文件到LINUX上一般不用通過ftp,注意你在ftp下對文件進行一些操作的時候很可能被fail掉,注意根據情況設置文件的操作許可權。
;F. Linux下如何找到FTP伺服器的配置文件
1、Linux系統下vsftp安裝。