基於UNIX平台FTP伺服器的建立

來源:互聯網
上載者:User

目前很多企業單位正在構架自己的Intranet,FTP伺服器是其中的一個服務支援,有很多單位購置了基於UNIX平台的電腦,為了在網上能夠提供FTP服務支援,專門購置基於UNIX平台的FTP Server軟體,其實在基於UNIX平台的電腦系統中,採取一定的技術方法,就可以建立自己的FTP Server,實現網上檔案上下載服務,無須再購置專門的軟體,和樂而不為之呢?下面就其建立過程闡述如下:

1、確定FTP Server的共用目錄

為FTP Server建立一個FTP工作目錄,在此設定為/home/ftp

2、編寫FTP Server初始設定的Shell程式(setup)

用編輯工具(如vi)編寫一個Shell程式,用於對系統進行設定。

以下為引用的內容:

#!/bin/sh

case $# in

0) ftphome="`grep '^ftp:' /etc/passwd | cut -d: -f6`"

;;

1) if [ "$1" = "start" ]; then

ftphome="`grep '^ftp:' /etc/passwd | cut -d: -f6`"

else

ftphome=$1

fi

;;

*) echo "Usage: $0 [anon-ftp-root]"

exit 1

;;

esac

if [ -z "${ftphome}" ]; then

echo "$0: ftphome must be non-null"

exit 2

fi

if [ "${ftphome}" = "/" -o "${ftphome}" = "/usr" ]; then

echo "$0: ftphome must not be / or /usr"

exit 2

fi

if [ ! -d ${ftphome} ]; then

mkdir ${ftphome}

fi

if [ ! -d ${ftphome}/usr/bin ]; then

mkdir -p ${ftphome}/usr/bin

fi

cp /usr/bin/ls ${ftphome}/usr/bin

chmod 111 ${ftphome}/usr/bin/ls

chown root ${ftphome}/usr/bin

chmod 555 ${ftphome}/usr/bin

if [ -r ${ftphome}/bin ]; then

mv -f ${ftphome}/bin ${ftphome}/Obin

fi

ln -s usr/bin ${ftphome}

if [ ! -d ${ftphome}/usr/lib ]; then

mkdir -p ${ftphome}/usr/lib

fi

if [ ! -d ${ftphome}/etc ]; then

mkdir -p ${ftphome}/etc

fi

cp /usr/lib/ld.so /usr/lib/ld.so.1 ${ftphome}/usr/lib

for lib in libc libdl libintl libw libnsl libsocket \

nss_nis nss_nisplus nss_dns nss_files

do

cp /usr/lib/${lib}.so.1 ${ftphome}/usr/lib

rm -f ${ftphome}/usr/lib/${lib}.so

ln -s ./${lib}.so.1 ${ftphome}/usr/lib/${lib}.so

done

 
cp /usr/lib/straddr.so.2 ${ftphome}/usr/lib

rm -f ${ftphome}/usr/lib/straddr.so

ln -s ./straddr.so.2 ${ftphome}/usr/lib/straddr.so

cp /etc/passwd /etc/group /etc/netconfig ${ftphome}/etc

chmod 555 ${ftphome}/usr/lib/*

chmod 444 ${ftphome}/etc/*

chown root ${ftphome}/usr/lib ${ftphome}/etc

chmod 555 ${ftphome}/usr/lib ${ftphome}/etc

if [ ! -d ${ftphome}/dev ]; then

mkdir -p ${ftphome}/dev

fi

prefix="/devices/pseudo/mm@0:"

for device in zero

do

line=`ls -l ${prefix}${device} | sed -e 's/,//'`

major=`echo $line | awk '{print $5}'`

minor=`echo $line | awk '{print $6}'`

rm -f ${ftphome}/dev/${device}

mknod ${ftphome}/dev/${device} c ${major} ${minor}

done

prefix="/devices/pseudo/clone@0:"

for device in tcp udp ticotsord

do

line=`ls -l ${prefix}${device} | sed -e 's/,//'`

major=`echo $line | awk '{print $5}'`

minor=`echo $line | awk '{print $6}'`

rm -f ${ftphome}/dev/${device}

mknod ${ftphome}/dev/${device} c ${major} ${minor}

done

chmod 666 ${ftphome}/dev/*

chown root ${ftphome}/dev

chmod 555 ${ftphome}/dev

#建立一個匿名FTP服務類別目錄,並設立可讀可寫屬性

if [ ! -d ${ftphome}/pub ]; then

mkdir -p ${ftphome}/pub

fi

chown ftp ${ftphome}/pub

chmod 777 ${ftphome}/pub 

3、編輯/etc/passwd和/etc/shadow檔案

設定匿名FTP帳號,按下面方法分別對/etc/passwd和/etc/shadow兩個檔案中增加如下資料項目:

(1)在/etc/passwd檔案中增加

ftp:x:30000:30000:Anonymous FTP:/home/ftp:/nosuchshell

(2)在/etc/shadow檔案中增加

ftp:NP:6445::::::

4.、運行setup程式

在運行setup程式之前,將該檔案設定成執行檔案

#chmod +x setup

運行setup程式 #setup /home/ftp

以上步驟就完成了FTP伺服器的建立,即可使用FTP伺服器,可以用如explorer、netscape navigator等瀏覽器對FTP伺服器進行訪問,進行下載和上傳檔案操作,使用非常方便。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。