vsftp之必要的安裝目錄與交叉編譯問題

2021-08-10 11:18:03 字數 1493 閱讀 9346

高版本為何編譯不成功:

在版本比較高的vsftp原始碼中的makefile中可能會有這麼一句話:

ldflags=-fpie -pie -wl,-z,relro -wl,-z,now

如可此時交叉編譯,雖然可以編譯成功,但 file vsftpd 會發現,vsftpd是  shared object,而不是我們想要的executable

scw@scw-vb:~/buildroot-2017.02.3/dl/vsftpd-3.0.3$ file vsftpd

vsftpd: elf 32-bit lsb shared object, arm, eabi5 version 1 (sysv), dynamically linked, interpreter /lib/ld-linux.so.3, for gnu/linux 2.6.38, stripped

經過試驗發現,把 (ldflags =-fpie -pie -wl,-z,relro -wl,-z,now  )中的-pie 去掉就可以編譯出我們想要的可執行檔案

scw@scw-vb:~/buildroot-2017.02.3/dl/vsftpd-3.0.3$file vsftpd

vsftpd: elf 32-bit lsbexecutable, arm, eabi5 version 1 (sysv), statically linked, for gnu/linux 2.6.38, stripped

(pie  :position independent executables)是安卓中的一種保護機制,而我們現在的系統時arm板linux,所以不需要 -pie

同理 :以後再移植其他軟體時,若是發現此類問題,可以採取此種處理機制

在vsftp原始碼中:

1:vsf_findlibs.sh 檔案是vsftp安裝包所用到的庫路徑指定檔案

2:builddefs.h檔案定義了一些必要的巨集定義

3:install檔案列舉了必要的安裝配置步驟

step 1) build vsftpd

step 2) satisfy vsftpd pre-requisites(必要步驟)

2a)  useradd nobody  新增nobody使用者

2b)  mkdir /usr/share/empty/    建立乙個目錄

2c)   mkdir /var/ftp/

useradd -d /var/ftp ftp(建立匿名使用者ftp)

chown root.root

/var/ftp

chmod og-w /var/ftp

step 3) install vsftpd config file(可手動複製)

在用ftp使用者登入時,發現ls 無法顯示ftp下的內容,雖然ftp使用者預設的根目錄是、var/tfp,但依然需要在配置檔案中手動新增這麼一句:anon_root=/var/ftp,然後在ls 就可以顯示、var/ftp下的目錄或檔案。

注:在使用ftp傳輸資料是一定要注意所要操作的目錄的許可權問題。

Apache與Tomcat的安裝與整合之整合篇

一.首先還是引用乙個別人的帖子,然後做一些說明,不對的地方還請各位指正。二.單獨使用tomcat做jsp伺服器,在工作效率上會有問題,並且所能承受的最大併發連線數也有一定的限制 經測試,當併發連線較多時,tomcat就會處於 僵死 狀態,對後繼的請求連線失去響應。所以現在就有了一些 整合 解決方案 ...

Linux之檔案與目錄的預設許可權與隱藏許可權

指定目前使用者在建立檔案或目錄時候的預設許可權值 語法 umask 這裡的數字是值該預設值需要減掉的許可權,root的umask預設是022,一般使用者的umask為002。以符號的顯示方式顯示出許可權 語法 umask s 當使用者建立檔案則預設沒有可執行 x 許可權,即只有rw許可權,也就是66...

fuzzing工具之Angora的安裝與使用

angora 是安全四大會中okland會議中發表的fuzzer,angora是基於突變的 覆蓋率指導的fuzzer。目前fuzzer中一大難題是如何解決fuzzing過程中的路徑約束,以提高 branch coverage。angora在沒有利用符號執行的前提下解決了這個問題。在angora 中a...