天天看點

linux_FTP

一,ftp概述

1,概念

file transfer protocol檔案傳輸協定

2,傳輸模式

a,主動模式:由伺服器主動連接配接用戶端建立資料鍊路

b,被動模式:ftp伺服器等待用戶端建立資料鍊路

3,使用端口

21 用于與客戶機建立指令鍊路

20 在主動模式下伺服器使用20向客戶機建立資料鍊路

4,常用的ftp軟體

伺服器

windows: iis serv-u

linux:  wu-ftpd proftpd vsftpd(rhel預設)

客戶機

windows: cuteftp filezilla

linux:  gftp

二,配置vsftpd(very secure非常安全)

1,安裝

vsftpd

主配置檔案

/etc/vsftpd/vsftpd.conf  vsftpd伺服器的主配置檔案

/etc/vsftpd.ftpusers         黑名單

/etc/vsftpd.user_list  白/黑名單

當userlist_deny=yes被禁止

當userlist_deny=no被允許

/var/ftp/ 預設共享出來的目錄  

匿名使用者登陸用

ftp anonymous

2,配置

a,禁止匿名使用者通路

 把anonymous_enable=yes改為anonymous_enable=no

b,允許匿名使用者上傳

 把anon_upload_enable=yes

     anon_mkdir_write_enable=yes

 在把上傳目錄的權限+上

 如你想讓上傳的匿名使用者修改檔案名的話在加上

 anon_other_write_enable=yes

c,禁锢普通使用者在家目錄

 chroot_local_user=yes

d,自定義使用者通路檔案夾

 local_root=路徑 系統使用者

 anon_root=路徑 匿名使用者

e,max_per_ip=每個客戶機最大連接配接數

  local_max_rate=50000  本地使用者下載下傳50k

  anon_max_rate=30000 匿名使用者下載下傳30k

f,連接配接伺服器的歡迎資訊

 ftpd_banner=welcome to linux ftp server~!

 進入每個目錄提示資訊

 在每個目錄下建立.message

g,虛拟使用者

  a,建立虛拟使用者密碼庫檔案

#cat logins.txt

mike

123

john

321

密碼庫檔案中奇數行設定使用者名,偶數行設定密碼

  b,生成vsftpd的認證檔案(在第3張CD光牒中安裝)

#rpm -ivh db4-utils*   

#db_load -t -t hash -f /root/logins.txt /etc/vsftpd/vsftpd_login.db  生成認證檔案

  c, 設定認證檔案隻對使用者可讀可寫

# chmod 600 /etc/vsftpd/vsftpd_login.db

  d,建立虛拟使用者所需的pam配置檔案

手工建立vsftpd.vu檔案 在這裡需要注意 小心寫錯了,最好看看書上面的

# 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

e,建立虛拟使用者及要通路的目錄并設定相應的權限

建立所有ftp虛拟使用者帳号使用的系統使用者帳号,并設定該帳号宿主目錄的權限

# useradd -d /home/ftpsite virtual

# chmod 700 /home/ftpsite

f,設定vsftpd.conf配置檔案

在配置檔案中添加虛拟使用者的配置内容

guest_enable=yes

guest_username=virtual

pam_service_name=vsftpd.vu

重新啟動vsftpd服務程式

g,對vsftpd.conf檔案修改後需要重新啟動vsftpd服務程式

# service vsftpd restart

現在就應該可以用虛拟帳号登陸了,但是什麼權限都沒的,隻能登陸。。。

4,對虛拟使用者設定不同的權限

設定主配置檔案

在vsftpd.conf檔案中添加使用者配置檔案目錄設定

user_config_dir=/etc/vsftpd_user_conf

建立使用者配置檔案目錄

使用mkdir指令建立使用者配置檔案目錄

# mkdir /etc/vsftpd_user_conf

為虛拟使用者建立單獨的配置檔案

使用者配置檔案名稱與使用者名相同

/etc/vsftpd_user_conf/mike

/etc/vsftpd_user_conf/john

裡面的内容如下:

anon_world_readable_only=no    表示使用者可以浏覽ftp目錄和下載下傳檔案

anon_upload_enable=yes        表示使用者可以上傳檔案 

anon_mkdir_write_enable=yes    表示使用者具有建立和删除目錄的權限

anon_other_write_enable=yes    表示使用者具有檔案改名和删除檔案的權限

沒有的配置項預設按照vsftpd.conf的配置内容 

5,ftp伺服器的資源限制 這可以在vsftpd.conf中添加 這我就不示範了 大家看看  知道就可以了

在企業中用的很多的

  max_clients=100      允許最大的用戶端連接配接數

  max_per_ip=5        同一ip最大用戶端的連接配接數

  local_max_rate=5000000       設定本地使用者最大傳輸數率

  anon_max_rate=2000000       匿名使用者最大的傳輸數率

三,啟動

#service vsftpd restart

/etc/init.d/vsftpd restart

四,常用ftp指令

? ! lcd pwd get put mget mput

繼續閱讀