當前位置:首頁 » 文件管理 » ftplinux伺服器代碼

ftplinux伺服器代碼

發布時間: 2023-05-20 04:31:52

linux怎麼搭建ftp伺服器

FTP 是文件傳輸協議(File Transfer Protocol)的縮寫。顧名思義,FTP用於計算機之間通過網路進行文件傳輸。你可以通過FTP在計算機賬戶間進行文件傳輸,也可以在賬戶和桌面計算機之間傳輸文件,或者訪問在線軟體歸檔。但是,需要注意的是多數的FTP站點的使用率非常高,可能需要多次重連才能連接上。 今天來說一下在RHEL5下使用VSftpd來搭建ftp伺服器,在搭建之前首先要考慮自己的工作環境,我搭建ftp干什麼,公司的具體要求是什麼,然後再根據公司的需求來具體實施。下面是搭建的具體實驗步驟: 一、首先確定系統中已經安裝了VSftpd軟體包,可以使用如下命令來查看並安裝: liwei@linux# rpm -qagrep vsftpd (如果有的話執行第二條就行了,若沒安裝,可以使用如下命令來安裝) liwei@linux# mount /dev/cdrom /media //掛載光碟到系統中 liwei@linux# rpm -vih /media/Server/vsftpd-版本號 //安裝VSftpd 二、安裝好VSftpd軟體包後,然後就是給伺服器配置一個靜態IP地址,當然動態也可以,但一般伺服器最好使用靜態IP。配置IP地址的方法如下,我以配置192.168.0.1地址為例: liwei@linux# vi /etc/sysconfig/network-scritps/ifcfg-eth0 在打開的配置文件中修改: 復制代碼代碼如下: DEVICE=eth0 BOOTPROTO=static HAWADDR=00:0C:29:A2:8B:B8 ONBOOT=yes IPADDR=192.168.0.1 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 三、配置好IP地址後,然後就可以根據你自己的要求來修改vsftpd的配置文件來達到你的目標了,vsftpd的主配置文件為/etc/vsftpd/vsftpd.conf。下面用幾個例子來說明一下vsftpd的各個配置選項的作用。 1.匿名用戶配置: 在vsftpd.conf配置文件中,默認是允許匿名用戶登錄FTP伺服器的,但不允許上傳文件、不允許在伺服器上創建目錄,我們可以修改以下一些配置項來達到自己的要求: 復制代碼代碼如下: anonymous_enable=YES //接受匿名用戶 no_anon_password=YES //匿名用戶登錄時不詢問口令 anon_root=目錄路徑 //匿名用戶登錄後所在的位置,可以根據自己的實際需求來修改 write_enable=YES //可以上傳(全局控制) file_open_mode=0666 //上傳文件的許可權,配合umask使用 anon_upload_enable=NO //匿名用戶可以上傳 anon_mkdir_write_enable=YES //匿名用戶可以建立目錄 anon_other_write_enable=YES //匿名用戶可以重名名、刪除等許可權 anon_world_readable_only=YES //如果設為YES,匿名用戶登入者會被允許下載可閱讀的文檔 chown_uploads=YES //所有匿名上傳的文件的所屬用戶將會被更改為chown_username chown_username=user //匿名上傳文件所屬用戶名 除了以上這些匿名用戶的選項外我們還可以添加一些設置FTP伺服器的公共選項,通過這些選項可以為FTP伺服器設置一些不同的歡迎信息。 復制代碼代碼如下: ftpd_banner=Welcom to my FTP Server!!! //登錄時顯示的歡迎信息 dirmessage_enable=YES //允許為目錄配置顯示信息,顯示每個目錄下面message_file文件的內容 setproctitle_enable=YES //顯示會話狀態信息 下面來舉個例子來說明一下匿名用戶的應用: 為了公司的員工工作方便,公司決定搭建一台FTP伺服器,要達到的功能如下: 1.允許公司的任何員工把自己的一些文檔傳上FTP伺服器上保存起來以便下次使用, 2.允許員工自己創建目錄 3.員工登錄成功後顯示歡迎信息 如果要達到以上的要求只需要在vsftpd.conf配置文件中修改以下選項就OK了,如果默認沒有一些選項,可以自己手動添加: 復制代碼代碼如下: anonymous_enable=YES write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES ftpd_banner=Welcom to my FTP Server!!! 注意:如果只設置了anon_upload_enable=YES,但選項write_enabl未設置(或者設置成了NO),則匿名用戶仍然不能上傳文件。還有別忘記了修改FTP所處的文件夾的許可權。 修改完以上配置文件後,使用命令service vsftpd restart重啟一下vsftpd服務然後測試就OK了,其實上面這個例子很不安全,我只是舉個例子,如果實際中使用,可以使用下面講到的另兩種方法都可以。 2.本地用戶配置: 復制代碼代碼如下: local_enable=YES //啟用本地用戶 local_umask=022 //本地用戶上傳的文件的許可權,可以參考linux許可權部分來了解 local_root=目錄路徑 //本地用戶登錄FTP伺服器後所處的目錄 chroot_local_user=YES //限制本地用戶的根目錄為自己的主目錄 chroot_list_enable=YES //如果啟動這項功能,則所有列在chroot_list_file之中的使用者都不能更改根目錄 chroot_list_file=限制的用戶所處的文件路徑 在FTP伺服器上通常會有很多的本地用戶,那麼有時候我們希望一些用戶可以登錄FTP伺服器,而有的用戶我們不希望他們登錄,遇到這種情況該怎麼解決呢?可以使用如下選項來實現些功能: 復制代碼代碼如下: userlist_enable=YES //啟用userlist功能模塊 userlist_deny=YES //拒絕userlist文件中列出的用戶登錄FTP伺服器 userlist_file=userlist文件的的路徑 以上選項的意思就是我們假如不想讓一部分人登錄FTP伺服器,那麼我們可以寫一個文件把這些用戶加入到這個文件中去,然後把上面這個功能打開然後在userlist_file選項那指向這個文件的所在地,這樣這個文件中的用戶就不能登錄FTP伺服器了。相反假如我們userlist_deny設置成NO的話,意思就是userlist_file指向的那個文件里的用戶可以登錄FTP伺服器,其它用戶則不能登錄FTP伺服器。 本地用戶的應用比較簡單,只要系統中可以登錄的用戶要登錄FTP伺服器,直接輸入系統的用戶名和密碼就可以登錄了,默認登錄後是在自己的家目錄里,也就是/home/用戶文件夾里。許可權的控制就是修改這個目錄的許可權來控制就OK了。如果想控制某些用戶禁止登錄,則可以按照上面的userlist功能來進行限制就行了。 除了以上匿名用戶和本地用戶外的一些參數外還有網路和連接參數及下面會提到的日誌功能配置。 四、網路和連接參數配置, 下面是一些常用的網路和連接參數: 復制代碼代碼如下: max_clients=1000 //可接受的最大連接數,可以根據自己的實際情況來修改 max_per_ip=5 //每個IP地址的最大連接數,可以根據自己的實際情況來修改 anon_max_rate=51200 //匿名用戶的帶寬(b/s) local_max_rate=5120000 //本地用戶的帶寬(b/s) idle_session_timeout=600 //空閑連接超時時間 data_connection_timeout=120 //數據傳輸超時時間 ACCEPT_TIMEOUT=60 //PAVS請求超時時間 connect_timeout=60 //PORT模式連接超時時間 connect_from_port_20=YES //使用標準的20埠來連接FTP listen_address=地址或網段 //綁定到某個IP或網段,其他IP不能訪問該FTP listen_port=2121 //綁定到某個埠 ftp_data_port=2020 //數據傳輸埠 pasv_max_port=0 //PASV連接模式時可以使用port范圍的上界,0表示任意。 pasv_min_port=0 //PASV連接模式時可以使用port范圍的下界,0表示任意。 以上各個選項後都有說明,有需要的可以自己根據自己的情況來添加,這里就不再詳述了。其中PORT模式是FTP工作模式中的主動模式,PASV模式是FTP工作模式中的被動模式。 五、日誌功能配置 vsftpd可啟用日誌功能,這樣,文件的上傳與下載信息將被完整地記錄在xferlog_file選項所設置的日誌文件中,設置日誌功能的選項如下: 復制代碼代碼如下: xferlog_enable=YES //開啟日誌功能 xferlog_file=文件路徑 //日誌文件的存放位置 xferlog_std_format=YES //使用標准格式記錄日誌 vsftpd的專用日誌模式配置選項: 復制代碼代碼如下: al_log_enable=YES //採用vsftpd自己專用的日誌記錄方式 log_ftp_enable=YES //記錄所有的FTP命令日誌 vsftpd_log_file=文件路徑 //指定vsftpd日誌文件的位置 當以上兩種日誌功能都設置為NO時,還可以使用系統日誌來記錄FTP的日誌,設置選項如下: syslog_enable=YES //啟用後,默認的日誌寫入到/var/log/messages里 雖然可以使用這種方式來記錄FTP日誌,但是推薦使用最上面的兩種,因為這樣查看日誌時候比較清楚,容易分析日誌。 六、其他常用選項設置 復制代碼代碼如下: ascii_upload_enable=YES //用ASCII模式上傳, ascii_download_enable=YES //用ASCII模式下載 dirmessage_enable=YES //設置每個子目錄的歡迎信息。 banner_file=文件路徑 //設置歡迎信息的文件 ls_recurse_enable=YES //允許用戶使用ls -R命令 pam_service_name=vsftpd //定義PAM使用的名稱,默認為vsftpd guest_enable=YES //將所有的非匿名用戶都視為guest,即啟用虛擬用戶 guest_username=virtual //定義guest的使用者名稱

Ⅱ 求,在linux 中,搭建ftp伺服器的方法, 謝謝,

FTP不安全,萬不得已情況下,才可使用。
vsftp安全性相對較好
可採用sftp代替FTP
Linux另外常用的FTP:
proftp
vsftp
pureftp

下面以VSFTP為例:

安裝方式一:源碼包安裝
useradd -s /bin/false -d /var/ftp ftpvirtual
cd ......
make
make install
cp vsftpd.conf /etc
/usr/local/sbin/vsftpd & #啟動

安裝方式二:rpm安裝,推薦
rpm -ivh vsftpd-2.0.1-5.i386.rpm
或者 yum install vsftpd
/etc/init.d/vsftpd start

兩種方式安裝完成後,配置方法都一樣,下面開始講配置。

首先講主配置文件常見配置
vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO #禁止匿名登錄
local_enable=NO #禁止本地用戶登錄
write_enable=YES #對本地用戶的寫許可權
local_umask=022 #本地用戶文件生成掩碼
dirmessage_enable=YES #顯示隱藏文件
xferlog_enable=YES #啟用上傳和下載日誌
connect_from_port_20=YES #伺服器將啟用FTP數據埠的連接請求
xferlog_std_format=YES #伺服器將使用標準的ftpd xferlog日誌格式
pam_service_name=vsftpd #設置PAM認證服務的配置文件名稱
userlist_enable=YES #設置文件中指定的用戶是否可以訪問vsftpd伺服器
listen=YES #FTP伺服器將處於獨立啟動模式
tcp_wrappers=YES #使用tcp_wrappers作為主機訪問控制方式
chroot_local_user=YES #將FTP本地用戶禁錮在宿主目錄中
chroot_list_enable=YES #將用戶禁錮在宿主目錄中
listen_address=192.168.0.2 #偵聽地址

pasv_enable=YES #是否允使用被動模式,默認是允許的。
pasv_min_port=10000 #指定使用被動模式時打開埠的最小值
pasv_max_port=10004 #指定使用被動模式時打開埠的最大值。

max_clients=100 #設置FTP伺服器所允許的最大客戶端連接數,值為0時表示不限制
max_per_ip=5 #同一IP地址允許的最大客戶端連接數,值為0時表示不限制,即線程
local_max_rate=500000 #設置本地用戶的最大傳輸速率,單位為bytes/sec,值為0時表示不限制
anon_max_rate=200000 #設置匿名用戶的最大傳輸速率,單位為bytes/sec,值為0表示不限制

use_localtime=YES #在vsftp之中的時間默認值是顯式GMT時間,因此我們會發現上面的時間與我們時寄存取的時間差八小時。改了這一項就好了。
listen_port=10021 改埠

one_process_model=NO yes可增加性能,增加負載,便降低安全,建議NO
nopriv_user=nobody 默認以nobody運行vsftp

對外服務,建議使用stand alone方式啟動,性能好。
僅內部人員,建議用super daemon啟動,修改如下:
listen=NO
……略

vsftp默認使用GMT時間,建議修改如下:
use_localtime=YES

/etc/vsftpd.ftpusers #保存不允許進行FTP登錄的本地用戶帳號,提高系統的安全性

/etc/vsftpd.user_list
#禁止vsftpd.user_list中的用戶
userlist_enable=YES
userlist_deny=YES
#僅允許vsftpd.user_list中的用戶
userlist_enable=YES
userlist_deny=NO

日誌:
vsftpd_log_file=/var/log/vsftpd.log

下面開始講vsftp四種「用戶認證」的方式

一、匿名用戶 ftp anonymous
/var/ftp 默認主目錄
在/etc/vsftpd/vsftpd.conf中:
anonymous_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES #可刪除
chmod -R 777 /var/ftp/pub/
修改/var/ftp/pub的SELinux許可權
執行以下命令,修改/var/ftp/pub這目錄的類型:
chcon -R -t ftpd_anon_rw_t /var/ftp/pub/
anon_root=/var/www/html/ftp #改匿名用戶的宿主目錄

二、本地用戶
默認支持,使用各自的宿主目錄。不安全
local_root=/opt #新增這一項,改成其他路徑

三、虛擬用戶 PAM文件方式 推薦

建立虛擬用戶口令庫文件
# cat logins.txt
mike
pwabcd
john
pw1234
生成vsftpd的認證文件
db_load -T -t hash -f logins /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db
新創建虛擬用戶所需的PAM配置文件
cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
新創建虛擬用戶的系統用戶所要訪問的目錄並設置相應許可權
# useradd -s /bin/false -d /home/ftpsite ftpvirtual
# chmod 700 /home/ftpsite
#設置vsftpd.conf配置文件,支持虛擬用戶
guest_enable=YES
guest_username=ftpvirtual
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/vsftpd_user_conf #添加用戶配置文件目錄設置

/etc/vsftpd/vsftpd_user_conf/mike (同名),這里沒有的設置默認按vsftpd.conf的設置執行

anon_world_readable_only=NO #可以瀏覽FTP目錄和下載文件
anon_upload_enable=YES #用戶可以上傳文件,等同於 write_enable=yes 允許上傳
anon_mkdir_write_enable=YES #具有建立和刪除目錄的權利
anon_other_write_enable=YES #具有文件改名和刪除文件的許可權
local_root=/data/userspace #設置虛擬用戶登錄後的主目錄
anon_max_rate=1024000 #以Bytes/s為單位,這里限8Mbit,范圍大概在80%到120%之間

四、虛擬用戶 mysql認證方式 推薦
1. mysql安裝見mysql筆記
2.1 openssl-0.9.8e 源程序預編譯時在日誌中可能出現md5.h "Present But Cannot Be Compiled的錯誤,卸載下面某些包可能解決問題。
cyrus-sals-sql cyrus-sasl-ntlm cyrus-sasl-gssapi cyrus-sasl-devel openldap-devel
然後移除系統可能自帶的:
mv /usr/bin/openssl /usr/bin/openssl.OFF
mv /usr/include/openssl /usr/include/openssl.OFF
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
配置庫文件搜索路徑
#echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
#ldconfig -v

2.2 或者安裝openssl-0.9.8e的rpm包
3. pam_mysql-0.7RC1.tar.gz
#./configure --with-mysql=/usr/local/mysql --with-openssl=/usr/local/ssl
如果mysql是rpm安裝的,則不帶--with-mysql參數,如果openssl是rpm安裝的,參數為--with-openssl
make;make install
注意pam_mysql.so路徑,可能在/usr/lib/security/pam_mysql.so或/lib/security/pam_mysql.so

vi /etc/pam.d/vsftp.mysql #新建,僅兩行
auth required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2
account required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2

4.0 准備資料庫、表和數據
mysql> create database vsftp;
mysql> grant select on vsftp.* to vsftpd@localhost identified by '123456';
mysql> grant select on vsftp.* to [email protected] identified by '123456';
mysql> use vsftp;
mysql> create table users (
-> id int AUTO_INCREMENT NOT NULL,
-> name char(20) binary NOT NULL,
-> passwd char(48) binary NOT NULL,
-> primary key(id)
-> );
mysql> insert into users(name,passwd) values('hlc',password('hlc'));
mysql> insert into users(name,passwd) values('holly',password('holly'));

5.0 修改主配置文件
vi /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=vsftp
listen=YES
pam_service_name=vsftpd.mysql

以上完成了vsftp的配置,下面是補充:

dirmessage_enable=YES #設置歡迎語 在每個目錄下建立.message,寫入歡迎語即可。

db_load支持包(前面三個即可):
db4
db4-devel
db4-utils
db4-java
db4-tcl

Linux建議關閉selinux或征對FTP不做任何安全
setsebool -P -ftpd_disable_trans on
setsebool -P -allow_ftpd_full_access on
servie vsftpd restart
或者需要重啟伺服器

底下列出FTP訪問中所出現數字代碼的含意。
110 重新啟動標記應答。
120 服務在多久時間內ready。
125 數據鏈路埠開啟,准備傳送。
150 文件狀態正常,開啟數據埠。
200 命令執行成功。
202 命令執行失敗。
211 系統狀態或是系統求助響應。
212 目錄的狀態。
213 文件的狀態。
214 求助的訊息。
215 名稱系統類型。
220 新的聯機服務ready。
221 服務的控制埠關閉,可以注銷。
225 數據鏈接開啟,但無傳輸動作。
226 關閉數據埠,請求的文件操作成功。
227 進入passive mode。
230 用戶登錄。
250 請求的文件操作完成。
257 顯示目前的路徑名稱。
331 用戶名稱正確,需要密碼。
332 登入時需要帳戶信息。
350 請求的操作需要進一部的命令。
421 無法提供服務,關閉控制連結。
425 無法開啟數據鏈路。
426 關閉聯機,終止傳輸。
450 請求的操作未執行。
451 命令終止:有本地的錯誤。
452 未執行命令:磁碟空間不足。
500 格式錯誤,無法識別命令。
501 參數語法錯誤。
502 命令執行失敗。
503 命令順序錯誤。
504 命令所接的參數不正確。
530 未登入。
532 儲存文件需要賬戶登入。
550 未執行請求的操作。
551 請求的命令終止,類型未知。
552 請求的文件終止,儲存位溢出。
553 未執行請求的的命令,名稱不正確。

Ⅲ LINUX下如何開啟ftp伺服器

1. 首先伺服器要安裝ftp軟體,查看是否已經安裝ftp軟體下:
#which vsftpd
如果看到有vsftpd的目錄說明伺服器已經安裝了ftp軟體

2. 查看ftp 伺服器狀態
#service vsftpd status

3. 啟動ftp伺服器
#service vsftpd start

4. 重啟ftp伺服器
#service vsftpd restart

5. 查看服務有沒有啟動
#netstat -an | grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
如果看到以上信息,證明ftp服務已經開啟。

6.如果需要開啟root用戶的ftp許可權要修改以下兩個文件
#vi /etc/vsftpd.ftpusers中注釋掉root
#vi /etc/vsftpd.user_list中也注釋掉root
然後重新啟動ftp服務。

7. vsftpd 500 OOPS: cannot change directory
登陸報錯:
C:\>ftp 192.168.0.101
Connected to 192.168.0.101.
220 (vsFTPd 2.0.5)
User (192.168.0.101:(none)): frank
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/frank
Login failed.
ftp> ls
500 OOPS: child died
Connection closed by remote host.
解決方法:
setsebool ftpd_disable_trans 1
service vsftpd restart
就OK了!

這是SELinux的設和培置命令,在不熟悉SELnux前,把SELinux關掉悄棚寬也可以的。

8. 永久開啟,即os重啟後自動開啟ftp服務
方法一:
cd /etc/xinetd.d ,編輯ftp服務的配置文件gssftp的設啟亮置:
vi /etc/xinetd.d/gssftp ,將 修改兩項內容:

(a) server_args = -l –a 去掉-a 改為server_args = -l
(b) disable=yes改為disable=no
(c) 保存退出。

方法二:
(a) system-config-services , 進入圖形界面的System services查看是否有 vsftpd項,如果沒有轉到2.,保存後退出

(b) 用redhat第三張盤 安裝此服務(開始--刪除/增加程序),200K左右

(c) #setup
此時能看到vsftpd項,此時選中此services項,保存後退出.

Ⅳ linux下怎麼用命令設置ftp伺服器

vsftpd軟體包安裝過了?
知識用命令可能性應該不大,相關的配置文件要根據要求修改啊:
vi /etc/vsftpd/vsftpd.conf #vsftpd.conf是vsftpd伺服器的主配置文件
vi /etc/ftpusers #ftpusers用於保存不允許進行FTP登錄的本地用戶帳號
啟動腳本名稱是vsftpd /etc/init.d/vsftpd
vsftpd服務需要設置在運行級別3和5自動啟動
# chkconfig --level 35 vsftpd on
伺服器啟動
# service vsftpd start
伺服器停止
# service vsftpd stop
伺服器狀態查詢
# service vsftpd status
ftp命令登錄FTP伺服器的格式
# ftp 192.168.1.2
希望對你有幫助!!!

Ⅳ 如何搭建FTP伺服器在linux 中《一》

代碼:

# cd /home/xuchen
# tar xzvf vsftpd-2.0.3.tar.gz //解壓縮程序
# cd vsftpd-2.0.3

三種方式的實現
1、匿名用戶形式實現
# vi builddefs.h \\編輯builddefs.h 文件,文件內容如下:

#ifndef VSF_BUILDDEFS_H

#define VSF_BUILDDEFS_H
#undef VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#undef VSF_BUILD_SSL

#endif /* VSF_BUILDDEFS_H */
將以上undef的都改為define,支持tcp_wrappers,支持PAM認證方式,支持SSL

# make //直接在vsftpd-2.0.3里用make編仿塌譯
# ls -l vsftpd
-rwxr-xr-x 1 root root 86088 Jun 6 12:29 vsftpd //可執行程序已被編譯成功

創建必要的帳號,目錄:
# useradd nobody //可能你的系統已經存在此帳號,那就不用建立
# mkdir /usr/share/empty //可能你的系統已經存在此目錄,那就不用建立
# mkdir /var/ftp //可能你的系統已經存在此目錄,那就喚備不用建立
# useradd -d /var/ftp ftp //可能你的系統已經存在此帳號,那就不用建立
# chown root:root /var/ftp
# chmod og-w /var/ftp
請記住,如果你不想讓用戶在本地登陸,那麼你需要把他的登陸SHELL設置成/sbin/nologin,比如以上的nobody和ftp我就設置成/sbin/nologin

安裝vsftp配置文件,可執行程序,man等:
# install -m 755 vsftpd /usr/local/sbin/vsftpd-ano
# install -m 644 vsftpd.8 /usr/share/man/man8
# install -m 644 vsftpd.conf.5 /usr/share/man/man5
# install -m 644 vsftpd.conf /etc/vsftpd-ano.conf
這樣就安裝完成了,那麼我們開始進行簡單的配置

# vi /etc/vsftpd-ano.conf ,將如下三行加入文件
listen=YES
listen_port=21
tcp_wrappers=YES
anon_root=/var/ftp //設置匿名用戶本地目錄,和ftp用戶目錄必須相同
listen=YES的意思是使用standalone啟動vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推薦使用standalone方式)
# /usr/local/sbin/vsftpd-ano /etc/vsftpd-ano.conf & //以後台方式啟動vsftpd
注意:每行的值都不要有空格,否則啟動時會出現錯誤,舉個例子備鏈圓,假如我在listen=YES後多了個空格,那我啟動時就出現如下錯誤:
500 OOPS: bad bool value in config file for: listen

測試搭建好的匿名用戶方式
# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.3)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (127.0.0.1:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/"
ftp> quit
221 Goodbye.
#
OK,已經完成了,very nice.

高級配置
細心的朋友可能已經看出來我們只在默認配置文件增加了四行,就實現了FTP連接(也證明了vsftpd的易用性),那麼讓我們傳個文件吧,呀!!傳輸失敗了(見圖1)
為什麼呢?因為 vsftpd 是為了安全需要,/var/ftp目錄不能把所有的許可權打開,所以我們這時要建一個目錄pub,當然也還是需要繼續修改配置文件的。
# mkdir /var/ftp/pub
# chmod -R 777 /var/ftp/pub

為了測試方便,我們先建立一個名為kill-ano的腳本,是為了殺掉FTP程序的
#!/bin/bash
$1}'`   a=`/bin/ps -A | grep vsftpd-ano | awk '{print
$a   kill -9

那麼現在大家看看我的匿名伺服器配置文件吧
anonymous_enable=YES //允許匿名訪問,這是匿名伺服器必須的
write_enable=YES //全局配置可寫
no_anon_password=YES //匿名用戶login時不詢問口令
anon_umask=077 //匿名用戶上傳的文件許可權是-rw----
anon_upload_enable=YES //允許匿名用戶上傳文件
anon_mkdir_write_enable=YES //允許匿名用戶建立目錄
anon_other_write_enable=YES //允許匿名用戶具有建立目錄,上傳之外的許可權,如重命名,刪除
dirmessage_enable=YES //當使用者轉換目錄,則會顯示該目錄下的.message信息
xferlog_enable=YES //記錄使用者所有上傳下載信息
xferlog_file=/var/log/vsftpd.log //將上傳下載信息記錄到/var/log/vsftpd.log中
xferlog_std_format=YES //日誌使用標准xferlog格式
idle_session_timeout=600 //客戶端超過600S沒有動作就自動被伺服器踢出
data_connection_timeout=120 //數據傳輸時超過120S沒有動作被伺服器踢出
chown_uploads=YES
chown_username=daemon //上傳文件的屬主
ftpd_banner=Welcome to d-1701.com FTP service. //FTP歡迎信息
anon_max_rate=80000 //這是匿名用戶的下載速度為80KBytes/s
check_shell=NO //不檢測SHELL

現在再測試,先kill掉再啟動FTP程序
# ./kill-ano
# /usr/local/sbin/vsftpd-ano /etc/vsftpd-ano.conf &
上傳一個文件測試一下,怎麼樣?OK了吧,下載剛上傳的那個文件,恩?不行,提示
550 Failed to open file.
傳輸已失敗!
傳輸隊列已完成
1 個文件傳輸失敗

沒有關系,你記得咱們設置了anon_umask=077了嗎?所以你下載不了,如果你到伺服器上touch 一個文件(644),測試一下,是可以被下載下來的,好了,匿名伺服器就說到這里了。

2、本地用戶形式實現
# cd /home/xuchen/vsftpd-2.0.3 //進入vsftpd-2.0.3的源代碼目錄
# make clean //清除編譯環境
# vi builddefs.h \\繼續編輯builddefs.h 文件,文件內容如下:
#ifndef VSF_BUILDDEFS_H

#define VSF_BUILDDEFS_H
#define VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#define VSF_BUILD_SSL

#endif /* VSF_BUILDDEFS_H */
將以上define VSF_BUILD_PAM行的define改為undef,支持tcp_wrappers,不支持PAM認證方式,支持SSL,記住啊,如果支持了PAM認證方式,你本地用戶是不能登陸的。

# make //直接在vsftpd-2.0.3里用make編譯
# ls -l vsftpd
-rwxr-xr-x 1 root root 84712 Jun 6 18:56 vsftpd //可執行程序已被編譯成功

創建必要的帳號,目錄:
# useradd nobody //可能你的系統已經存在此帳號,那就不用建立
# mkdir /usr/share/empty //可能你的系統已經存在此目錄,那就不用建立
# mkdir /var/ftp //可能你的系統已經存在此目錄,那就不用建立
# useradd -d /var/ftp ftp //可能你的系統已經存在此帳號,那就不用建立
# chown root:root /var/ftp
# chmod og-w /var/ftp
請記住,如果你不想讓用戶在本地登陸,那麼你需要把他的登陸SHELL設置成/sbin/nologin,比如以上的nobody和ftp我就設置成/sbin/nologin

安裝vsftp配置文件,可執行程序,man等:
# install -m 755 vsftpd /usr/local/sbin/vsftpd-loc
# install -m 644 vsftpd.8 /usr/share/man/man8
# install -m 644 vsftpd.conf.5 /usr/share/man/man5
# install -m 644 vsftpd.conf /etc/vsftpd-loc.conf
這樣就安裝完成了,那麼我們開始進行簡單的配置

# vi /etc/vsftpd-loc.conf ,將如下三行加入文件
listen=YES
listen_port=21
tcp_wrappers=YES //支持tcp_wrappers,限制訪問(/etc/hosts.allow,/etc/hosts.deny)
listen=YES的意思是使用standalone啟動vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推薦使用standalone方式),注意事項請參看匿名用戶的配置。
anonymous_enable=NO
local_enable=YES //這兩項配置說不允許匿名用戶登陸,允許本地用戶登陸
# /usr/local/sbin/vsftpd-loc /etc/vsftpd-loc.conf & //以後台方式啟動vsftpd

測試搭建好的匿名用戶方式,先測試root用戶吧 :)
# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.3)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (127.0.0.1:root): root
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/root"
ftp> quit
221 Goodbye.
我們看到root用戶可以登陸到ftp,他的登陸目錄就是自己的主目錄。
再測試一個系統用戶,那我們先建立一個用戶名叫xuchen的
# useradd xuchen
# passwd xuchen
Changing password for user xuchen.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
建立好了,讓我們開始測試吧!!
# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.3)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (127.0.0.1:root): xuchen
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/xuchen"
ftp> quit
221 Goodbye.
我們看到xuchen用戶可以登陸到ftp,他的登陸目錄也是自己的主目錄。哈哈,又完成了!
高級配置
細心的朋友可能已經看出來如果我們不支持PAM認證方式,那麼本地用戶就可以登陸,而默認編譯的vsftpd支持PAM認證方式,所以是不支持本地用戶登陸的。恩,從這點說,這也是vsftp安全的一個表現----禁止本地用戶登陸。
我們登陸後進行測試,傳一個文件上去,得,失敗了,那下載個文件下來吧,恩,這是成功的(見圖2),而且我們發現我們可以進入到系統根目錄(見圖3),這樣很危險。

那麼改配置文件吧,為了測試方便,我們先建立一個名為kill-loc的腳本,也是為了殺掉FTP程序的
#!/bin/bash
$1}'`   a=`/bin/ps -A | grep vsftpd-loc | awk '{print
$a   kill -9

現在提供我的本地用戶驗證伺服器配置文件吧(在匿名里寫過的注釋我就不在這里寫了)
listen=YES
listen_port=21
tcp_wrappers=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022 //本地用戶文件上傳後的許可權是-rw-r-r
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
connect_from_port_20=YES
chroot_local_user=YES //限制用戶在自己的主目錄
#local_root=/ftp //你可以指定所有本地用戶登陸後的目錄,如果不設置此項,用戶都會登陸於自己的主目錄,就跟咱們前面測試的結果是一樣的
local_max_rate=500000 //本地用戶的下載速度為500KBytes/s
idle_session_timeout=600
data_connection_timeout=120
nopriv_user= nobody //設定服務執行者為nobody,vsftpd推薦使用一個許可權很低的用戶,最好是沒有家目錄(/dev/null),沒有登陸shell(/sbin/nologin),系統會更安全
ftpd_banner=Welcome to d-1701.com FTP service.
check_shell=NO

userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd.denyuser
以上三條設定不允許登陸的用戶,用戶列表存放在/etc/vsftpd.denyuser中,一行一個帳號如果我把xuchen這個用戶加到vsftpd.denyuser里,那麼登陸時會出現如下錯誤:
# ftp 127.0.0.1
Connected to 127.0.0.1.
220 Welcome to d-1701.com FTP service.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (127.0.0.1:root): xuchen
530 Permission denied.
Login failed.
呵呵,有意思吧,自己測試吧,本地用戶登陸方式就介紹到這里吧!

3、虛擬用戶形式實現(db及mysql形式)
# cd /home/xuchen/vsftpd-2.0.3 //進入vsftpd-2.0.3的源代碼目錄
# make clean //清除編譯環境
# vi builddefs.h \\繼續編輯builddefs.h 文件,文件內容如下:
#ifndef VSF_BUILDDEFS_H

#define VSF_BUILDDEFS_H
#define VSF_BUILD_TCPWRAPPERS
#undef VSF_BUILD_PAM
#define VSF_BUILD_SSL

#endif /* VSF_BUILDDEFS_H */
將以上define VSF_BUILD_PAM行的undef改為define,支持tcp_wrappers,支持PAM認證方式,支持SSL,和匿名用戶形式是一樣的。

# make //直接在vsftpd-2.0.3里用make編譯
# ls -l vsftpd
-rwxr-xr-x 1 root root 86088 Jun 6 22:26 vsftpd //可執行程序已被編譯成功

創建必要的帳號,目錄:
# useradd nobody //可能你的系統已經存在此帳號,那就不用建立
# mkdir /usr/share/empty //可能你的系統已經存在此目錄,那就不用建立
# mkdir /var/ftp //可能你的系統已經存在此目錄,那就不用建立
# useradd -d /var/ftp ftp //可能你的系統已經存在此帳號,那就不用建立
# chown root:root /var/ftp
# chmod og-w /var/ftp
請記住,如果你不想讓用戶在本地登陸,那麼你需要把他的登陸SHELL設置成/sbin/nologin,比如以上的nobody和ftp我就設置成/sbin/nologin

Ⅵ linux下怎樣登錄ftp伺服器

1、首先,連接相應linux主機,進入到linux命令行狀態下,等待輸入shell指令。

Ⅶ Linux下用C語言寫一個FTP系統程序,基於客戶/伺服器模式

在絕大多數的LINUX發行版本中都選用的是WashingtonUniversity
FTP,它是一個著名的FTP伺服器軟體,一般簡稱為wu-ftp。它功能強大,能夠很好地運行於眾多的UNIX操作系統,例如:IBM
AIX、FreeBSD、HP-UX、NeXTstep、Dynix、SunOS、Solaris等。所以Internet上的FTP伺服器,一大半以上採用了它。wu-ftp擁有許多強大的功能,很適於吞吐量較大的FTP伺服器的管理要求:

1) 可以在用戶下載文件的同時對文件做自動的壓縮或解壓縮操作;

2)
可以對不同網路上的機器做不同的存取限制;

3) 可以記錄文件上載和下載時間;

4)
可以顯示傳輸時的相關信息,方便用戶及時了解目前的傳輸動態;

5) 可以設置最大連接數,提高了效率,有效地控制了負載。

& 2.2 所需資源

&1.2.1
所需包

RedHat6.2 伺服器安裝

&1.2.2
所需配置文件

/etc/ftpusers
/etc/ftpaccess

/var/run/ftp.pids
/etc/ftpconversions

/var/log/xferlog
/etc/ftpgroups
/etc/ftphosts

&1.2.3 相關命令

ftpd FTP伺服器程序

ftpshut 用於關閉FTP伺服器程序
ftpcount 顯示目前在線人數
ftpwho
查看目前FTP伺服器的連接情況
ckconfig 檢查FTP伺服器的設置是否正確
ftprestart
重新啟動FTP服務

&1.2.4 相關目錄

/home/ftpd/bin
存放一些供FTP用戶使用的可執行文件
/home/ftpd/etc
存放一些供FTP用戶使用的配置文件
/home/ftpd/pub 存放供下載的信息

/home/ftpd/incoming 存放供上載信息的空間
配置方案

1.
/etc/ftpaccess

說明: ftp許可權配置文件
源文件:

guestuser weboa
# FTP用戶
class all real,guest,anonymous
*
class weboa guest *
# 格式:class [類名]
[real/guest/anonymous]
[IP地址]

功能:
這個指令的功能設定FTP伺服器上用戶的類別。並可對客戶端的IP地址進行限制,允許某部分的IP地址或全部的IP地址訪問。而在FTP
伺服器上的用戶基本上可以分為以下三類:

real 在該FTP伺服器有合法帳號的用戶;
guest 有記錄的匿名用戶;

anonymous 許可權最低的匿名用戶
email [email protected]

loginfails 5
# 格式:loginfails [次數]

功能:設定當用戶登錄到FTP伺服器時,允許用戶輸錯密碼的次數。
readme README* login

readme README* cwd=*
message /welcome.msg
login
message .message cwd=*
#
格式:message [文件名稱] [指令]
功能:當用戶執行所指定的指令時,系統將指定的文件內容顯示出來。

compress yes all
# 格式:compress
[yes/no] [類別]
功能:設置哪一個類別的用戶可以使用compress(壓縮)功能。
tar
yes all
# 格式:tar [yes/no] [類別]

功能:設置哪一個類別的用戶可以使用tar(歸檔)功能。
chmod no
guest,anonymous
# 格式:chmod [yes/no] [real/anonymous/guest]

功能:
設置是否允許指定用戶使用chmod命令更改文件許可權。默認是

允許。
delete yes all
# 格式:delete [yes/no]
[real/anonymous/guest]
功能:

設置是否允許指定用戶使用delete命令刪除文件。默認是允許。
overwrite yes guest
#
格式:overwrite [yes/no] [real/anonymous/guest]

功能:設置是否允許指定用戶覆蓋同名文件。默認是允許。
rename yes guest
#
格式:rename [yes/no] [real/anonymous/guest]

功能:設置是否允許指定用戶使用rename命令來為文件改名。默認
是允許。
log
transfers anonymous,real inbound,outbound
# 格式:log transfers
[real/guest/anonymous] [inbound/outbound]
功能:

設置哪些用戶的上載(inbound)和下載(outbound)操作做日誌。
shutdown
/etc/shutmsg
# 格式:shutdown [文件名]

功能:
FTP伺服器關閉的時間可以設置在後面所指定的文件中,當設

置的時間一到,便無法登錄FTP伺服器了,要恢復的話只有將
這個文件刪掉。而這個文件必
須由指令/bin/ftpshut來生成。
passwd-check rfc822 warn
#
格式:passwd-check [none/trivial/rfc822] [enforce/warn]

功能:設定對匿名用戶anonymous的密碼使用方式。
none 表示不做密碼驗證,任何密碼都可以登錄;

trival 表示只要輸入的密碼中含有字元「@ 」 "Times New Roman"'>就可以登錄;

rfc822 表示密碼一定要符合RFC822中所規定的E-Mail格式才

能登錄;
enfore 表示輸入的密碼不符合以上指定的格式就不讓登錄;
warn
表示密碼不符合規定時只出現警告信息,仍然能夠登錄。
limit remote 32 Any
/etc/ftpd/toomany.msg
# 格式:limit [類別] [人數] [時間] [文件名]

功能:這個指令的功能為設置指定的時間內指定的類別允許連接的

指定人數上限。當達到上限的時候,顯示指定文件的內容。
upload /home/ftpd * no

upload /home/ftpd /pub yes anonymous 0644 dirs
# 格式:upload [根目錄]
[上載目錄] [yes/no] [用戶] [許可權]
[dirs/nodirs]

功能:對可以上載的目錄進行更加詳細的設置。
alias incoming
/home/ftp/incoming
# 格式:alias [目錄別名] [目錄名]

功能:給指定目錄設置一個別名,在切換目錄時就可以使用較短的
目錄別名。

2.
/etc/ftpusers

說明:FTP用戶黑名單,為了安全考慮,需要禁止以下用戶使用FTP
源文件:
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

在眾多的網路應用中,FTP(File Transfer
porotocol)有著非常重要的地位。在Internet中一個十分重要的資源就是軟體資源。而各種各樣的軟體資源大多數都是放在FTP伺服器中的。可以說,FTP與WEB服務幾乎占據了整個Internet應用的80%以上。

FTP服務可以根據服務對象的不同分為兩類:一類是系統FTP伺服器,它只允許系統上的合法用戶使用;另一類是匿名FTP伺服器,Anonymous
FTP Server,它使用任何人都可以登錄到FTP伺服器上去獲取文件。

如果你在安裝LINUX系統的時候,在選擇啟動進程的時候選擇了「ftpd」這一項的話,安裝完LINUX系統後,它已經將一個默認的FTP伺服器安裝到系統中去了。我們已經可以利用它來實現系統FTP伺服器的功能了。我們只需在此基礎上根據我們的需要進行一些個性化設定就可以了。

Ⅷ linux下ftp命令詳解

ftp(file transfer protocol)
功能說明:設置文件系統相關功能。
語法:ftp [-dignv][主機名稱或IP地址]
補充說明:FTP是ARPANet的標准文件傳輸協議,該網路就是現今Internet的前身。
參數: 《Linux就該這么學》
-d 詳細顯示指令執行過程,便於排錯或分析程序執行的情形。

-i 關閉互動模式,不詢問任何問題。
-g 關閉本地主機文件名稱支持特殊字元的擴充特性。
-n 不使用自動登陸。
-v 顯示指令執行過程。
1. 連接ftp伺服器
格式:ftp [hostname| ip-address]
a)在linux命令行下輸入:
ftp 192.168.1.1
b)伺服器詢問你用戶名和密碼,分別輸入用戶名和相應密碼,待認證通過即可。
c)也可以先輸入ftp
ftp>
d)然後在輸入要連接的IP
ftp>open 192.168.1.1
2. 下載文件
下載文件通常用get和mget這兩條命令。
a) get
格式:get [remote-file] [local-file]
將文件從遠端主機中傳送至本地主機中。
如要獲取遠程伺服器上/usr/your/1.htm,則
ftp> get /usr/your/1.htm 1.htm (回車)

b) mget
格式:mget [remote-files]
從遠端主機接收一批文件至本地主機。
如要獲取伺服器上/usr/your/下的所有文件,則
ftp> cd /usr/your/
ftp> mget *.* (回車)

此時每下載一個文件,都會有提示。如果要除掉提示,則在mget *.* 命令前先執行:prompt off
注意:文件都下載到了linux主機的當前目錄下。比如,在/usr/my下運行的ftp命令,則文件都下載到了/usr/my下。
3.上傳文件
a) put
格式:put local-file [remote-file]
將本地一個文件傳送至遠端主機中。
如要把本地的1.htm傳送到遠端主機/usr/your,並改名為2.htm
ftp> put 1.htm /usr/your/2.htm (回車)

b) mput
格式:mput local-files
將本地主機中一批文件傳送至遠端主機。
如要把本地當前目錄下所有html文件上傳到伺服器/usr/your/ 下
ftp> cd /usr/your (回車)
ftp> mput *.htm(回車)

Ⅸ Linux下配置FTP伺服器

它可運行在Linux、Solaris等系統中,支持很多其他的FTP 伺服器不支持的特徵:

非常高的安全性需求

帶寬限制

良好的可伸縮性

創建虛擬用戶的可能性

分配虛擬IP地址的可能性

一、vsftpd的啟動

#service vsftpd start

如果允許用戶匿名訪問,需創建用戶ftp和目錄/var/ftp

# mkdir /var/ftp

# useradd –d /var/ftp ftp

二、vsftpd的配置

Vsftpd的配置文件存放在/etc/vsftpd/vsftpd.conf 我們可根據實際數要對如下信息進行配置:

1. 連接選項

☆監聽地址和控制埠

(1) listen_address=ip address

定義主機在哪個IP 地址上監聽FTP請求。即在哪個IP地址上提供FTP服務。

(2) listen_port=port_value

指定FTP伺服器監聽的埠號。默認值為21。

2. 性能與負載控制

☆超時選項

(1) idle_session_timeout=

空閑用戶會話的超時時間,若是超過這段時間沒有數據的傳送或是指令的輸入,則會被迫斷線。默認值是300s

(2) accept_timeout=numerical value

接受建立聯機的超時設定。默認值為60s

☆負載選項

(1) max_clients= numerical value

定義FTP伺服器最大的兵法連接數。當超過此連接數時,伺服器拒絕客戶端連接。默認值為0,表示不限最大連接數。

(2) max_per_ip= numerical value

定義每個IP地址最大的並發連接數目。超過這個數目將會拒絕連接。此選項的設置將會影響到網際快車、迅雷之類的多線程下載軟體。默認值為0,表示不限制。

(3) anon_max_rate=value

設定匿名用戶的最大數據傳輸速度,以B/s為單位。默認無。

(4) local_max_rate=value

設定用戶的最大數據傳輸速度。以B/s為單位。默認無。此選項對所有的用戶都生效。

3. 用戶選項

vsftpd的用戶分為3類:匿名用戶、本地用戶(local user)及虛擬用戶(guest)

☆ 匿名用戶

(1) anonymous_enable=YES|NO

控制是否允許匿名用戶登錄

(2) ftp_username=

匿名用戶使用的系統用戶名。默認情況下,值為ftp

(3) no_anon_password= YES|NO

控制匿名用戶登錄時是否需要密碼。

(4) anon_root=

設定匿名用戶的根目錄,即匿名用戶登錄後,被定位到此目錄下。主配置文件中默認無此項,默認值為/var/ftp/

(5) anon_world_readable_only= YES|NO

控制是否只允許匿名用戶下載可閱讀的文檔。YES,只允許匿名用戶下載可閱讀的文件。NO,允許匿名用戶瀏覽整個伺服器的文件系統。

(6) anon_upload_enable= YES|NO

控制是否允許匿名用戶上傳文件。除了這個參數外,匿名用戶要能上傳文件,還需要兩個條件,write_enable參數為YES;在文件系統上,FTP匿名用戶對某個目錄有寫許可權。

(7) anon_mkdir_wirte_enable= YES|NO

控制是否允許匿名用戶創建新目錄。在文件系統上,FTP匿名用戶必須對新目錄的上層目錄擁有寫許可權。

(8) anon_other_write_enbale= YES|NO

控制匿名用戶是否擁有除了上傳和新建目錄之外的`其他許可權。如刪除、更名等。

(9) chown_uploads= YES|NO

是否修改匿名用戶所上傳文件的所有權。YES,匿名用戶上傳得文件所有權改為另一個不同的用戶所有,用戶由chown_username參數指定。

(10) chown_username=whoever

指定擁有匿名用戶上傳文件所有權的用戶。

☆本地用戶

(1) local_enable= YES|NO

控制vsftpd所在的系統的用戶是否可以登錄vsftpd。

(2) local_root=

定義本地用戶的根目錄。當本地用戶登錄時,將被更換到此目錄下。

☆虛擬用戶

(1) guest_enable= YES|NO

啟動此功能將所有匿名登入者都視為guest

(2) guest_username=

定義vsftpd的guest用戶在系統中的用戶名。

4. 安全措施

☆用戶登錄控制

(1) /etc/vsftpd.ftpusers

Vsftpd禁止列在此文件中的用戶登錄FTP伺服器。此機制是默認設置的。

(2) userlist_enable= YES|NO

此選項激活後,vsftpd將讀取userlist_file參數所指定的文件中的用戶列表。

(3) userlist_file=/etc/vsftpd.user_list

指出userlist_enable選項生效後,被讀取的包含用戶列表的文件。默認值是/etc/vsftpd.user_list

(4) userlist_deny= YES|NO

決定禁止還是只允許由userlist_file指定文件中的用戶登錄FTP伺服器。userlist_enable選項啟動後才能生效。默認值為YES,禁止文中的用戶登錄,同時不向這些用戶發出輸入口令的指令。NO,只允許在文中的用戶登錄FTP伺服器。

☆目錄訪問控制

(1) chroot_list_enable= YES|NO

鎖定某些用戶在自己的目錄中,而不可以轉到系統的其他目錄。

(2) chroot_list_file=/etc/vsftpd/chroot_list

指定被鎖定在主目錄的用戶的列表文件。

(3) chroot_local_users= YES|NO

將本地用戶鎖定在主目中。

熱點內容
破解訪問許可權 發布:2025-02-10 07:17:24 瀏覽:663
慶余年密碼多少 發布:2025-02-10 07:16:38 瀏覽:201
ftp包括有哪兩個連接 發布:2025-02-10 07:11:50 瀏覽:423
壓縮模量es 發布:2025-02-10 07:11:47 瀏覽:115
雞尾酒配置酒什麼意思 發布:2025-02-10 07:01:34 瀏覽:139
c語言的架構設計 發布:2025-02-10 06:59:59 瀏覽:747
柯南可以緩存 發布:2025-02-10 06:59:52 瀏覽:422
電腦做安卓系統哪個好用 發布:2025-02-10 06:27:44 瀏覽:372
linux轉換字元集 發布:2025-02-10 06:20:05 瀏覽:483
網站的伺服器ip有什麼用 發布:2025-02-10 06:15:53 瀏覽:701