centos 配置vsftpd 虛擬用戶

vsftp虛擬用戶進不同目錄

yum install vsftpd -y

1. 創建虛擬用戶數據庫,首先創建一個文本文件

    # vi /etc/vsftpd/user.txt

      hnzymg

      meldoy

      hnzyzmd

      melodyzabbix

2.生成數據庫

db_load -T -t hash -f /etc/vsftpd/user.txt /etc/vsftpd/vsftpd_user.db

會提示-bash: db_load: command not found

  #rpm -qa |grep vsftpd

  vsftpd-2.0.5-28.el5
# rpm -qa |grep db4

   db4-4.3.29-9.fc6 {}FC6(i386)中默認可能只安裝了db4-4.3.29-9.fc6.i386.rpm和db4-devel-4.3.29-9.fc6.i386.rpm要使用db_load需要將位其他幾張光盤中的db4-java-4.3.29-9.fc6.i386.rpm\db4-tcl-4.3.29-9.fc6.i386.rpm\db4-utils-4.3.29-9.fc6.i386.rpm安裝上

# yum install db* -y

 

db_load -T -t hash -f /etc/vsftpd/user.txt /etc/vsftpd/vsftpd_user.db (可以了)

 

3.修改數據庫權限

chmod 600 /etc/vsftpd/vsftpd_user.db

4.修改pam 認證

  vi /etc/pam,d/vsftpd

註釋掉現有的所有配置,添加如下:
auth        required     /lib/security/pam_userdb.so    db=/etc/vsftpd/vsftpd_user
account     required     /lib/security/pam_userdb.so    db=/etc/vsftpd/vsftpd_user  {最後寫相對路徑,容易503錯誤}

auth        required     /lib64/security/pam_userdb.so    db=/etc/vsftpd/vsftpd_user
account     required     /lib64/security/pam_userdb.so    db=/etc/vsftpd/vsftpd_user  

5.新建虛擬用戶

groupadd test

useradd -d /app/app -M -g test hnzymg

useradd -d /app/list -M -g test hnzyzmd

6.修改vsftpd.conf 配置文件

anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
pam_service_name=vsftpd

7.建立 vsftpd_user_conf 目錄

 

  mkdir vsftpd_user_conf

 

   vim hnzymg

guest_enable=yes
   guest_username=hnzymg
    local_root=/home/web

vim hnzyzmd

guest_enable=yes
guest_username=hnzy
zmd

local_root=/home/web/zmd

保存退出。

重啓服務

chkconfig vsftpd on

8.測試。。。可能會出現只能上傳文件,不能修改服務器上的文件等操作。

解決方法:①:首先看下文件權限(我的可是777)不存在此情況

          ②:non_world_readable_only=NO   可讀可下載    kill

              anon_upload_enable=YES        可上傳  

              download_enable = NO          不能下載

           anon_mkdir_write_enable=YES   可創建和刪除文件夾

           anon_other_write_enable=YES    可文件改名和刪除文件                                    local_root=/home/ftpsite/mike      指定mike的宿主目錄 (注意:請先到/home/ftpsite下面去創建mike文件夾

 

最後,前幾天在網上看到一個更全面的權限配置,這裏摘抄過來。以便以後需求!

cmds_allowed=ABOR,CMD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,SIZE,STOR,TYPE,USER

 

    注意cmds_allowe這段(.conf)

  以下是這段相關命令的說明:

  (要注意的是,這行裏面不能換行,不能有空格)

  # ABOR - abort a file transfer 取消文件傳輸

  # CWD - change working directory 更改目錄

  # DELE - delete a remote file 刪除文件

  # LIST - list remote files 列目錄

  # MDTM - return the modification time of a file 返回文件的更新時間

  # MKD - make a remote directory 新建文件夾

  # NLST - name list of remote directory

  # PASS - send password

  # PASV - enter passive mode

  # PORT - open a data port 打開一個傳輸端口

  # PWD - print working directory 顯示當前工作目錄

  # QUIT - terminate the connection 退出

  # RETR - retrieve a remote file 下載文件

  # RMD - remove a remote directory

  # RNFR - rename from

  # RNTO - rename to

  # SITE - site-specific commands

  # SIZE - return the size of a file 返回文件大小

  # STOR - store a file on the remote host 上傳文件

  # TYPE - set transfer type

  # USER - send username

 

 

根據自己需要選擇吧,vsftpd的確很強大,ftp我只用vsftpd。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章