第15章FTP服務搭建與配置

15.1FTP介紹

  • FTP多用於Windows傳文件到linux
  • rz sz在文件超過4G,就沒法使用了——>安裝包yum install -y install lrzsz
  • rz把 window 上的文件傳輸到 linux 上
  • sz 把 linux 上的文件傳輸到 window 上
  • FTP是File Transfer Protocol(文件傳輸協議,簡稱文傳協議)的英文簡稱,用於在Internet上控制文件的雙向傳輸。
  • FTP的主要做用就是讓用戶鏈接一個遠程計算機(這些計算機上運行着FTP服務器程序),並查看遠程計算機中的文件,而後把文件從遠程計算機複製到本地計算機,或把本地計算機的文件傳送到遠程計算機。
  • 小公司用的多,大企業不用FTP(多用自動化發佈工具),由於不安全

15.2/15.3 使用vsftpd搭建ftp

  • centos上自帶vsftpdphp

  • yum install -y vsftpdmysql

  • useradd -s /sbin/nologin virftplinux

  • /sbin/nologin //指定用戶的shell 表明用戶不能登陸系統nginx

  • vim /etc/vsftpd/vsftpd_login //內容以下,奇數行爲用戶名,偶數行爲密碼,多個用戶就寫多行sql

testuser1
aminglinux
  • chmod 600 /etc/vsftpd/vsftpd_login
  • db_load -T -t hash -f
  • /etc/vsftpd/vsftpd_login
  • /etc/vsftpd/vsftpd_login.db
  • mkdir /etc/vsftpd/vsftpd_user_conf
  • cd /etc/vsftpd/vsftpd_user_conf
  • vim testuser1 //加入以下內容
local_root=/home/virftp/testuser1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
  • mkdir /home/virftp/testuser1
  • touch /home/virftp/testuser1/aming.txt
  • chown -R virftp:virftp /home/virftp
  • vim /etc/pam.d/vsftpd //在最前面加上
auth sufficient/lib64/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
  • vim /etc/vsftpd/vsftpd.conf
  • 將anonymous_enable=YES 改成 anonymous_enable=NO
  • 將#anon_upload_enable=YES 改成 anon_upload_enable=NO
  • 將#anon_mkdir_write_enable=YES 改成 anon_mkdir_write_enable=NO
  • 再增長以下內容
chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES
  • systemctl start vsftpd //啓動vsftpd服務

使用vsftpd搭建ftp

1.在centos上默認自帶的ftp服務軟件包叫作vsftpd,vsftpd軟件包是可使用系統級別的用戶,(也就是假設建立了一個普通用戶hanfeng,設置一個密碼,這時候就能夠用vsftpd啓動這個服務,而後用hanfeng這個用戶去登錄,登陸的形式爲ftp,登陸進去後會進入到hanfeng這個用戶的家目錄下,但這樣操做會存在安全隱患)shell

  • 解決隱患的方法:給ftp設置一個虛擬用戶,虛擬用戶映射成系統中的一個普通用戶(也能夠映射多個虛擬用戶),這個用戶即便給了用戶和密碼你也是沒有辦法去經過ssh登陸到服務器的機器,這樣就相對安全了不少

2.安裝vsftpd包——>yum install -y vsftpdapache

[root@xuexi-001 ~]# yum install -y vsftpd

3.在安裝完成後建立一個普通用戶,目的是爲了讓虛擬用戶作一個映射的vim

  • useradd -s /sbin/nologin virftp
  • 用戶名字能夠隨意取
  • -s 指定它的shell
  • /sbin/nologin 表示這個用戶不能登陸到系統,這麼作是爲了安全
[root@xuexi-001 ~]#  useradd -s /sbin/nologin virftp

4.編輯 vim /etc/vsftpd/vsftpd_login 虛擬用戶的密碼文件,在密碼文件中定義用戶名和密碼windows

  • 文件格式爲:奇數行爲用戶名,偶數行爲密碼,多個用戶就寫多行
[root@xuexi-001 ~]#  vim /etc/vsftpd/vsftpd_login

1,3行爲用戶名
2,4行爲密碼
testuser1
111111
user1
222222

保存退出

5.在編輯完密碼文件,而後給 /etc/vsftpd/vsftpd_login 文件作一個 600的權限設置,爲了確保密碼文件的安全,防止全部的用戶均可以讀取centos

  • chmod 600 /etc/vsftpd/vsftpd_login
[root@xuexi-001 ~]# chmod 600 /etc/vsftpd/vsftpd_login

6.將文本的密碼文件轉換爲計算機識別的二進制文件

  • db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
[root@xuexi-001 ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
[root@xuexi-001 ~]# ls -l /etc/vsftpd/
總用量 36
-rw------- 1 root root   125 8月   3 2017 ftpusers
-rw------- 1 root root   361 8月   3 2017 user_list
-rw------- 1 root root  5030 8月   3 2017 vsftpd.conf
-rwxr--r-- 1 root root   338 8月   3 2017 vsftpd_conf_migrate.sh
-rw------- 1 root root    30 8月   6 22:11 vsftpd_login
-rw-r--r-- 1 root root 12288 8月   6 22:12 vsftpd_login.db
  • 在/etc/vsftpd/目錄下,會看到生成了一個vsftpd_login.db文件,它和vsftpd_login文件相比只是多了一個 .db 的後綴

7.這個vsftpd_login.db密碼是不能識別 cat命令 查看的,在上面的密碼文件是能夠自定義的

8.建立虛擬用戶所在的配置文件目錄,這個目錄也是自定義的,也是須要在配置文件中定義

  • mkdir /etc/vsftpd/vsftpd_user_conf
[root@xuexi-001 ~]# mkdir /etc/vsftpd/vsftpd_user_conf

9.切換到 /etc/vsftpd/vsftpd_user_conf 文件下 cd /etc/vsftpd/vsftpd_user_conf

[root@xuexi-001 ~]# cd /etc/vsftpd/vsftpd_user_conf/
[root@xuexi-001 vsftpd_user_conf]#

10.建立第一個用戶的配置文件,用戶的配置文件名字有一點特殊性,須要和用戶的名字保持一致,好比在密碼配置文件中的用戶爲testuser1,那麼定義的配置文件用戶名稱就爲testuser1

配置文件內容

local_root=/home/virftp/testuser1     //指定虛擬用戶的家目錄
anonymous_enable=NO                    //是否容許匿名用戶
write_enable=YES                              //是否可寫
local_umask=022                              //建立新文件目錄的默認權限
anon_upload_enable=NO                  //是否容許匿名用戶上傳
anon_mkdir_write_enable=NO          //是否容許匿名用戶建立目錄和寫
idle_session_timeout=600                 //鏈接ftp超時時間(秒)
data_connection_timeout=120         //數據傳輸的超時時間(秒)
max_clients=10                                //最多容許同時幾個終端鏈接
  • 最終以下
[root@xuexi-001 vsftpd_user_conf]#  vim testuser1

local_root=/home/virftp/testuser1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10

保存退出

11.建立虛擬用戶的家目錄

  • mkdir /home/virftp/testuser1
[root@xuexi-001 vsftpd_user_conf]# mkdir /home/virftp/testuser1

12.新建一個文件,在登陸的時候就能夠看到這個文件了

  • touch /home/virftp/testuser1/aming.txt
[root@xuexi-001 vsftpd_user_conf]# touch /home/virftp/testuser1/aming.txt

13.將權限作一個修改,由於最後映射成virftp 這個用戶,若virftp這個用戶沒有讀的權利那就是錯誤的,沒法正常的去上傳和下載

  • chown -R virftp:virftp /home/virftp
[root@xuexi-001 vsftpd_user_conf]# chown -R virftp:virftp /home/virftp

14.定義密碼文件的路徑

  • 將文件內容放入到/etc/pam.d/vsftpd ,文件在最前面加上
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

最終以下

[root@xuexi-001 vsftpd_user_conf]# vi /etc/pam.d/vsftpd 

#%PAM-1.0
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth
保存退出

15./etc/pam.d/vsftpd,它是一個用來認證的文件,在登陸FTP須要有一個認證的過程,認證的過程須要告訴它,經過什麼樣的形式去認證,認證的時候去哪裏找這個密碼庫

  • 在/etc/pam.d/vsftpd 添加的/lib64/security/pam_userdb.so,centos6中是爲了區分版本,分32位和64位,必定要注意這個文件是存在的(lib64或lib32)

16.編輯 /etc/vsftpd/vsftpd.conf 主配置文件

[root@hf-01 vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf

將anonymous_enable=YES 改成 anonymous_enable=NO
將#anon_upload_enable=YES 改成 anon_upload_enable=NO ,並取消註釋符
將#anon_mkdir_write_enable=YES 改成 anon_mkdir_write_enable=NO ,並取消註釋符

並增長如下內容

chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf   allow_writeable_chroot=YES

chroot_local_user=YES
guest_enable=YES          //打開虛擬用戶映射
guest_username=virftp       //映射的用戶名
virtual_use_local_privs=YES               //告訴服務,咱們如今用的虛擬用戶
user_config_dir=/etc/vsftpd/vsftpd_user_conf   //定義虛擬用戶配置文件所在路徑
allow_writeable_chroot=YES

保存退出

增長的內容後面YES後面不能出現空格,不讓會報錯

17.更改完配置文件,去啓動vsftpd服務,啓動完並查看下進程和監聽的端口

  • systemctl start vsftpd //啓動vsftpd服務
[root@hf-01 vsftpd_user_conf]# systemctl start vsftpd
[root@hf-01 vsftpd_user_conf]# ps aux |grep vsftpd
root      3564  0.0  0.0  51136   564 ?        Ss   06:49   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root      3566  0.0  0.0 112676   984 pts/0    R+   06:49   0:00 grep --color=auto vsftpd
[root@hf-01 vsftpd_user_conf]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1607/master         
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:40904           0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN      1250/rpc.mountd     
tcp        0      0 0.0.0.0:37459           0.0.0.0:*               LISTEN      1224/rpc.statd      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1227/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1607/master         
tcp6       0      0 :::2049                 :::*                    LISTEN      -                   
tcp6       0      0 :::41381                :::*                    LISTEN      1224/rpc.statd      
tcp6       0      0 :::35465                :::*                    LISTEN      -                   
tcp6       0      0 :::3306                 :::*                    LISTEN      1643/mysqld         
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::20048                :::*                    LISTEN      1250/rpc.mountd     
tcp6       0      0 :::21                   :::*                    LISTEN      3564/vsftpd         
tcp6       0      0 :::22                   :::*                    LISTEN      1227/sshd           
[root@hf-01 vsftpd_user_conf]#

18.FTP監聽的端口爲21端口,22端口是sshd,23端口是telnet(如今telnet幾乎沒人使用了)

###測試FTP

  • 最好在windows上安裝一個FTP的客戶端軟件,filezilla client軟件是FTP開源的、免費的能夠搭建服務,同時還有一個客戶端軟件

1.vsftpd服務已經啓動

2.這裏爲了方便測試,直接在linux上的FTP客戶端,爲lftp——>安裝包yum install -y lftp

[root@hf-01 ~]# yum install -y lftp

3.安裝完成以後,按以下輸入方式,而後回車輸入密碼口令,用ls命令就能夠查看到剛剛以前建立的文件,可見,已經鏈接成功

[root@hf-01 ~]# lftp testuser1@127.0.0.1
口令: 
lftp testuser1@127.0.0.1:~> ls      
-rw-r--r--    1 1002     1002            0 Jan 17 22:26 aming.txt
lftp testuser1@127.0.0.1:/>

4.能夠輸入 ? 查看可使用使用哪些命令

lftp testuser1@127.0.0.1:/> ?
    !<shell-command>                     (commands)
    alias [<name> [<value>]]             attach [PID]
    bookmark [SUBCMD]                    cache [SUBCMD]
    cat [-b] <files>                     cd <rdir>
    chmod [OPTS] mode file...            close [-a]
    [re]cls [opts] [path/][pattern]
    debug [<level>|off] [-o <file>]      du [options] <dirs>
    exit [<code>|bg]
    get [OPTS] <rfile> [-o <lfile>]      glob [OPTS] <cmd> <args>
    help [<cmd>]
    history -w file|-r file|-c|-l [cnt]  jobs [-v] [<job_no...>]
    kill all|<job_no>                    lcd <ldir>
    lftp [OPTS] <site>                   ln [-s] <file1> <file2>
    ls [<args>]                          mget [OPTS] <files>
    mirror [OPTS] [remote [local]]       mkdir [-p] <dirs>
    module name [args]                   more <files>
    mput [OPTS] <files>                  mrm <files>
    mv <file1> <file2>                   [re]nlist [<args>]
    open [OPTS] <site>
    pget [OPTS] <rfile> [-o <lfile>]
    put [OPTS] <lfile> [-o <rfile>]      pwd [-p]
    queue [OPTS] [<cmd>]                 quote <cmd>
    repeat [OPTS] [delay] [command]      rm [-r] [-f] <files>
    rmdir [-f] <dirs>                    scache [<session_no>]
    set [OPT] [<var> [<val>]]            site <site-cmd>
    source <file>
    torrent [-O <dir>] <file|URL>...     user <user|URL> [<pass>]
    wait [<jobno>]                       zcat <files>
    zmore <files>
lftp testuser1@127.0.0.1:/>

5.好比執行get aming.txt 命令,就會把aming.txt文件直接下載到當前目錄

lftp testuser1@127.0.0.1:~> get aming.txt
lftp testuser1@127.0.0.1:/>

6.輸入quit 退出ftp

lftp testuser1@127.0.0.1:/> quit
[root@hf-01 ~]#

7.在當前目錄直接ls命令查看,會看到aming.txt文件就是剛剛下載下來的

[root@hf-01 ~]# ls
111          1_sorft.txt  2.txt.bak  amin             bb.txt  lll.sh
123          1.txt        3.txt      aming.txt        grep    sed
1.cap        234          aa.txt     anaconda-ks.cfg  haha    shell
1_heard.txt  2.txt        admin      awk              id.txt
[root@hf-01 ~]#

8.查詢在lftp中可執行的命令,經常使用命令:put、get xshell實現跟FTP的功能(兩種方案) 第一種方案:

1.在xshell中新建一個會話屬性,將名稱隨便填寫,協議改爲 sftp 協議,IP爲本機的IP,端口仍是22端口,由於走的仍是ssh協議

2.而後打開,輸入用戶名和密碼,默認是在root下

Type `help' to browse available commnands.
sftp:/root> ls
dr-xr-x---   13 root     root         4096 Jan 18 09:12 .
dr-xr-xr-x   20 root     root          282 Dec 14 21:06 ..
-rw-r--r--    1 root     root           18 Dec 29  2013 .bash_logout
-rw-r--r--    1 root     root          176 Dec 29  2013 .bash_profile
-rw-r--r--    1 root     root          176 Dec 29  2013 .bashrc
-rw-r--r--    1 root     root          100 Dec 29  2013 .cshrc
-rw-r--r--    1 root     root          129 Dec 29  2013 .tcshrc
-rw-------    1 root     root         1422 Oct 19 07:00 anaconda-ks.cfg
drwx------    2 root     root           80 Oct 18 23:58 .ssh
-rw-------    1 root     root        29340 Jan 16 23:47 .bash_history
drwxr-xr-x    3 root     root          110 Dec  5 21:23 111
-rw-r--r--    1 root     root          184 Dec  9 17:54 123.txt
-rw-r--r--    1 root     root      4461632 Dec  9 18:00 aaa.txt
-rw-r--r--    1 root     root      4464640 Dec  9 18:04 aaa.txt.tar
drwxr-xr-x    2 root     root           58 Dec 10 21:11 aaaaa
-rw-r--r--    1 root     root        10240 Dec 12 19:59 chamlinux.tar
-rw-r--r--    1 root     root     20395803 Dec 15 15:04 mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz
drwxr-xr-x    2 root     root            6 Dec 16 00:09 apache
-rw-------    1 root     root         1024 Jan  8 23:30 .rnd
-rw-------    1 root     root         1978 Jan 16 01:15 .mysql_history
-rw-r--r--    1 root     root          490 Nov 17 14:21 1.txt
-rw-------    1 root     root         8372 Jan 18 09:06 .viminfo
drwxr-xr-x    3 root     root           18 Jan 18 09:12 .config
-rw-r--r--    1 root     root           31 Nov 17 14:42 2.txt
-rwxrwxrwx    1 user1    test          231 Dec  9 17:49 a.txt
drwxrwxrwx    2 root     user1          19 Dec 12 19:57 chamlinux
drwxr-xr-x    3 root     root           65 Nov 26 13:52 grep
drwxr-xr-x    2 root     root           70 Nov 26 14:20 sed
drwxr-xr-x    2 root     root           35 Nov 22 22:07 awk
-rw-r--r--    1 root     root      8638793 Oct 21 03:39 httpd-2.4.29.tar.gz
drwxr-xr-x    3 root     root           19 Jan 18 09:12 .local
drwxr-----    3 root     root           19 Nov 27 18:56 .pki
sftp:/root> cd /tmp/
sftp:/tmp> get php-fcgi.sock/
sftp: cannot open /tmp/php-fcgi.sock/ to read
sftp:/tmp> get user.sql
Fetching /tmp/user.sql to user.sql
sftp: received 6.83 KB in 0.08 seconds

第二種方案

輸入ctrl+cat+f

15.5 使用pure-ftpd搭建ftp服務

使用pure-ftpd搭建ftp服務目錄概要

  • yum install -y epel-release
  • yum install -y pure-ftpd
  • vim /etc/pure-ftpd/pure-ftpd.conf//找到pureftpd.pdb這行,把行首的#刪除
  • systemctl stop vsftpd
  • systemctl start pure-ftpd
  • mkdir /data/ftp
  • useradd -u 1010 pure-ftp
  • chown -R pure-ftp:pure-ftp /data/ftp
  • pure-pw useradd ftp_usera -u pure-ftp -d /data/ftp
  • pure-pw mkdb
  • pure-pw list/userdel/usermod/passwd

使用pure-ftpd搭建ftp服務

1.pure-ftpd 比vftpd更加的輕量,更加簡單

2.首先須要安裝pure-ftpd——>yum install -y pure-ftpd,但有時會提示pure-ftpd不存在,那是由於你缺乏epel擴展源——>yum install -y epel-release

[root@xuexi-001 ~]# yum install -y pure-ftpd

3.安裝完以後,更改 /etc/pure-ftpd/pure-ftpd.conf 配置文件,找到pureftpd.pdb這行,把行首的# 號 刪除,目的是爲了把密碼配置文件要指定

[root@xuexi-001 ~]# vi /etc/pure-ftpd/pure-ftpd.conf

搜索/pureftpd.pdb行首的 #號  刪除
PureDB                        /etc/pure-ftpd/pureftpd.pdb

保存退出

4.由於pure-ftpd也屬於ftp軟件,也會監聽21端口,因此須要先關閉以前vsftpd監聽打開的21端口,不然就會報錯

[root@xuexi-001 ~]# systemctl stop vsftpd

5.而後再啓動pure-ftpd服務,並查看端口,查看pure-ftpd服務

  • systemctl start pure-ftpd
[root@xuexi-001 ~]# systemctl start pure-ftpd
[root@xuexi-001 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:38124           0.0.0.0:*               LISTEN      952/rpc.statd       
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      543/rpcbind         
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1141/nginx: master  
tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN      956/rpc.mountd      
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      2045/pure-ftpd (SER 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      940/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1189/master         
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      1141/nginx: master  
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:46056           0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::111                  :::*                    LISTEN      543/rpcbind         
tcp6       0      0 :::20048                :::*                    LISTEN      956/rpc.mountd      
tcp6       0      0 :::21                   :::*                    LISTEN      2045/pure-ftpd (SER 
tcp6       0      0 :::38773                :::*                    LISTEN      -                   
tcp6       0      0 :::22                   :::*                    LISTEN      940/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1189/master         
tcp6       0      0 :::2049                 :::*                    LISTEN      -                   
tcp6       0      0 :::60356                :::*                    LISTEN      952/rpc.statd       
tcp6       0      0 :::3306                 :::*                    LISTEN      1336/mysqld

6.建立測試目錄,爲了給pure-ftpd用戶使用,再建立用戶

[root@xuexi-001 ~]# mkdir /data/ftp
[root@xuexi-001 ~]# useradd -u 1010 pure-ftp

7.把/data/ftp的屬主和屬組改爲pure-ftp

[root@xuexi-001 ~]# chown -R pure-ftp:pure-ftp /data/ftp

8.用pure-pw useradd 命令建立一個用戶

  • pure-pw useradd [指定用戶] -u [指定系統用戶] -d [指定虛擬用戶的家目錄]
[root@xuexi-001 ~]# pure-pw useradd ftp_usera -u pure-ftp  -d /data/ftp
Password:         //密碼爲 111111
Enter it again:

9.可使用pure-pw --help查看該命令支持那些用法

10.命令pure-pw mkdb,是用來把密碼生成系統,也就是pure-ftpd服務所識別的一種文件

  • pure-pw mkdb //不執行這一步是沒法登陸的
[root@xuexi-001 ~]# pure-pw mkdb

pure-ftpd 創建虛擬用戶數據

11.查看命令說明文件,命令pure-pw list/userdel/usermod/passwd 和pure-pw --help 命令同樣的用戶

測試pure-ftpd

1.先在/data/ftp/目錄下建立一個文件

[root@xuexi-001 ~]# touch /data/ftp/123.txt

2.使用pure-ftpd

[root@xuexi-001 ~]# lftp ftp_usera@127.0.0.1
口令: 
lftp ftp_usera@127.0.0.1:~>

3.能夠查看到剛建立的123.txt文件,uid和gid爲root

lftp ftp_usera@127.0.0.1:~> ls      
drwxr-xr-x    2 1010       pure-ftp           20 Jan 19 04:51 .
drwxr-xr-x    2 1010       pure-ftp           20 Jan 19 04:51 ..
-rw-r--r--    1 0          0                   0 Jan 19 04:51 123.txt
lftp ftp_usera@127.0.0.1:/>

4.退出pure-ftpd,只須要輸入 quit命令 便可

5.這時咱們改變123.txt文件的屬主和屬組

[root@xuexi-001 ~]# chown -R  pure-ftp:pure-ftp /data/ftp/123.txt

6.在登陸pure-ftpd中去查看123.txt文件的屬主和屬組,會看到屬主爲uid,屬組映射爲系統中組的名字pure-ftpd

[root@xuexi-001 ~]# lftp ftp_usera@127.0.0.1
口令: 
lftp ftp_usera@127.0.0.1:~> ls      
drwxr-xr-x    2 1010       pure-ftp           21 Aug 23 15:42 .
drwxr-xr-x    2 1010       pure-ftp           21 Aug 23 15:42 ..
-rw-r--r--    1 1010       pure-ftp            0 Aug 23 15:42 123.txt
lftp ftp_usera@127.0.0.1:/>
相關文章
相關標籤/搜索