ftp安裝和虛擬用戶建立(終於搞清楚了)

安裝linux

 

 一.安裝數據庫

  sudo apt-get install vsftpd

 

二.查看安裝結果ubuntu

  安裝完畢,檢查vsftpd進程是否已啓動,能夠查看進程或者查看監聽端口  windows

 1 ps  -eaf|grep  vsftpd
 2 
 3 tony@T:~$ ps -eaf | grep vsftpd
 4 
 5 root      2244     1  0 21:08 ?        00:00:00 /usr/sbin/vsftpd
 6 
 7 tony      2408  2104  0 21:11 pts/0    00:00:00 grep --color=auto vsftpd
 8 
 9 netstat -tnl | grep :21
10 
11 tony@T:~$ netstat -tnl | grep :21
12 
13 tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN
14 
15 端口21正在被監聽
16 
17   

 

 三. 嘗試匿名用戶登陸瀏覽器

  安裝完後不用作任何配置既可用匿名方式進行訪問,默認的ftp文件夾爲/srv/ftp。服務器

  登陸能夠在瀏覽器中,文件夾輸入框中以及類型windows/Linux終端中進行測試。session

  建議使用windows/Linux終端測試,失敗了會有錯誤輸出,能夠根據錯誤進行調試。async

  更改配置文件vsftpd.conftcp

 anonymous_enable=YES

 

  匿名登陸,用戶名稱ftp,密碼不輸入,直接回車ide

 1 C:\Users\Tony>ftp 192.168.1.108
 2 
 3 鏈接到 192.168.1.108 4 
 5 220 (vsFTPd 2.2.2)
 6 
 7 用戶(192.168.1.108:(none)): ftp
 8 
 9 331 Please specify the password.
10 
11 密碼:
12 
13 230 Login successful.

  登陸到的目錄就是/srv/ftp目錄,在裏面的文件就可以查看到

 

 四. 使用ubuntu的帳戶登陸

  此時就訪問ftp帳戶,默認是linux的帳戶,使用cmd中登陸。

  須要注意的是,ftp服務器端文件路徑是用戶的家目錄

 1 C:\Users\Tony>ftp 192.168.1.108
 2 
 3 鏈接到 192.168.1.108 4 
 5 220 (vsFTPd 2.2.2)
 6 
 7 用戶(192.168.1.108:(none)): tony
 8 
 9 331 Please specify the password.
10 
11 密碼:
12 
13 230 Login successful.

 

  五. 在ubuntu中,vsftpd的主要配置文件分佈以下:

 

  /etc/vsftpd.conf      vsftpd服務器的配置文件

  /usr/sbin/vsftpd      vsftpd服務器的進程文件

  /etc/pam.d/vsftpd     vsftpd服務器的PAM接口配置文件

  /var/ftp              vsftpd服務器匿名用戶的工做目錄

 

 

 

  六. vsftpd的開始、關閉和重啓

 

  sudo /etc/init.d/vsftpd  start   #開始

  sudo /etc/init.d/vsftpd  stop    #關閉

  sudo /etc/init.d/vsftpd  restart #重啓

 

 

 

建立虛擬帳戶

 一.安裝生成虛擬賬號數據庫工具db

  sudo apt-get install db4.8-util

 

 二. 更改vsftp.conf的配置

  修改配置以前,先備份當前配置

  sudo cp /etc/vsftp.conf /etc/vsftp.conf.old

 

  配置的服務器中 vsftpd.conf的參數使用以下:

 1   listen=YES
 2 
 3   #listen_ipv6=YES
 4 
 5   anonymous_enable=NO //容許匿名用戶訪問,若禁止使用NO
 6 
 7   local_enable=YES    //容許本地用戶訪問,若禁止則使用NO
 8 
 9   write_enable=YES //表示是否容許本地用戶有上傳權限的,YES表示能夠,NO表示禁止,也取決於客戶端鏈接時使用的客戶端工具
10 
11   #local_umask=022 //設置本地用戶上傳創建文件時的權限掩碼
12 
13   #anon_upload_enable=YES //匿名用戶上傳文件使能
14 
15   #anon_mkdir_write_enable=YES //匿名用戶能夠建立目錄
16 
17   dirmessage_enable=YES //用戶切換進入目錄時顯示.message(若是存在)文件的內容
18 
19   message_file=Welcome
20 
21   xferlog_enable=YES      //是否開啓傳輸日誌的
22 
23   connect_from_port_20=YES ////鏈接控制端口爲20
24 
25   chown_uploads=YES
26 
27   chown_username=ftp
28 
29   chroot_local_user=YES //全部的本地用戶都被鎖定在家目錄下
30 
31   chroot_list_enable=YES
32 
33   chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
34 
35   xferlog_file=/var/log/vsftpd.log
36 
37   xferlog_std_format=YES
38 
39   idle_session_timeout=600
40 
41   data_connection_timeout=120 //#數據鏈接的超時時間
42 
43   #nopriv_user=ftpsecure
44 
45   #async_abor_enable=YES
46 
47   ascii_upload_enable=YES
48 
49   ascii_download_enable=YES
50 
51   ftpd_banner=Welcome to blah FTP service. //login歡迎信息
52 
53   #deny_email_enable=YES
54 
55   max_clients=10
56 
57   max_per_ip=5
58 
59   local_max_rate=256000
60 
61   #hide_ids=YES
62 
63   idle_session_timeout=3000
64 
65   guest_enable=YES
66 
67   guest_username=ftp
68 
69   user_config_dir=/etc/vsftpd/vsftpd_user_conf
70 
71   pam_service_name=vsftpd.vu
72 
73   

 

   三. 創建各帳戶的home目錄

  在/home目錄創建ftp的帳戶ftpdir目錄

1 cd /home/ftp/
2 
3   sudo  mkdir  ftpdir

 

  而後在ftpdir目錄下建立admin, tony目錄

   cd  ftpdir
   sudo  mkdir admin tony

 

  四.爲虛擬用戶建立本地系統用戶

  虛擬用戶家目錄爲/home/ftpdir, 用戶登陸終端設爲/bin/false(即便之不能登陸系統)

  sudo useradd ftp -d /home/ftpdir -s /bin/false
  sudo chown -R ftp:ftp /home/ftpdir

 

  五. 建立虛擬用戶數據庫

  新建loguser.txt文件,

  sudo vi /home/loguser.txt

  裏面輸入虛擬用戶名和密碼,格式以下

  admin

  admin

  tony

  tony

 

  注意不要多空格和空行,其中奇數行爲用戶名,偶數行爲密碼。

  最後一行須要回車(不然創建數據庫文件時沒法識別最後一行,致使報奇數行錯誤)。

  新建一個文件夾/etc/vsftpd,放置配置文件

  sudo  mkdir  /etc/vsftpd

  而後執行

  sudo db4.8_load -T -t hash -f /home/loguser.txt /etc/vsftpd/vsftpd_login.db

  最後設置一下數據庫文件的訪問權限

  sudo chmod 600 /etc/vsftpd/vsftpd_login.db

 

 六. 配置PAM文件

 

 1   新建/etc/pam.d/vsftpd.vu,並編輯,
 2 
 3   sudo touch /etc/pam.d/vsftpd.vu
 4 
 5   sudo vi /etc/pam.d/vsftpd.vu
 6 
 7   輸入內容以下:
 8 
 9   auth  required  /lib/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login
10 
11   account  required  /lib/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login

   七.新建etc/vsftpd /vsftpd_user_conf文件夾

 

  sudo  mkdir  /etc/vsftpd/vsftpd_user_conf

  如今,咱們要把各個用戶的配置文件放到目錄/etc/vsftpd/vsftpd_user_conf中

  cd  /etc/vsftpd/vsftpd_user_conf

  sudo touch admin tony

  

 

 

 

   八. 配置admin虛擬用戶

   權限:上傳,下載刪除,重命名.

 1   sudo vi /etc/vsftpd/vsftpd_user_conf/admin
 2 
 3   裏面添加
 4 
 5   write_enable=YES
 6 
 7   anon_world_readable_only=NO
 8 
 9   anon_upload_enable=YES
10 
11   anon_mkdir_write_enable=YES
12 
13   anon_other_write_enable=YES
14 
15   local_root=/home/ftpdir
16 
17   

 

九. 配置tony虛擬用戶

  權限:上傳,下載

 1   sudo vi /etc/vsftpd/vsftpd_user_conf/tony
 2 
 3   裏面添加
 4 
 5   write_enable=YES
 6 
 7   anon_world_readable_only=NO
 8 
 9   anon_upload_enable=YES
10 
11   anon_mkdir_write_enable=NO
12 
13   anon_other_write_enable=NO
14 
15   local_root=/home/ftpdir/tony

 

  

  十. 新建/etc/vsftpd/vsftpd.chroot_list

 

1   sudo touch /etc/vsftpd/vsftpd.chroot_list
2 
3   sudo vi /etc/vsftpd/vsftpd.chroot_list
4 
5   裏面添加
6 
7   admin

 

 

 

在按照以上的過程去安裝,有可能Linux的數據源裏面根本就找不到對應的安裝包,能夠經過手動安裝的方法;網上找了篇db4的安裝問題,分享一下:

一、下載安裝文件:

  下載地址直達:http://cz.archive.ubuntu.com/ubuntu/pool/universe/d/db4.8/

二、dpkg - i  db4.8-util_4.8.30-11ubuntu1_amd64.deb

便可

命令使用:這裏針對Vsftpd虛擬用戶的建立

sudo db4.8_load -T -t hash -f /home/user.txt /etc/vsftpd_login.db

固然也有命令安裝db的方法:

已解決了  sudo apt-get install  db-util
 
  在這又不得不來句粗口,尼瑪,以前找了那麼久的解決辦法,原來是沒有找對方法,網上一大堆也是無用的,有些方法更本用不了,回頭想一想當你的知識積累起來了以後,你就會突然想起來這問題的解決方法,本身都會被本身驚呆,當年這麼簡單的問題竟然都不會,當年真是傻呆笨啊!
總結:知識積累是多麼地重要啊!
相關文章
相關標籤/搜索