FTP實驗報告

全心全意_運維發表於2018-08-23

FTP實驗報告

製作人:全心全意

準備工作:

linux1:192.168.100.4

關閉防火牆、selinux機制

配置yum

匿名訪問

1.安裝vsftpd服務和客戶端

[root@localhost ~]# yum -y install vsftpd

—————————————————-

2.建立FTP目錄

[root@localhost ~]# mkdir /var/ftp/test{1..3}

[root@localhost ~]# ls /var/ftp/

pub  test1 test2  test3

—————————————————–

3.FTP目錄755許可權,屬主ftp

[root@localhost ~]# chown ftp /var/ftp/test1

[root@localhost ~]# chmod 755 /var/ftp/test1

———————————————————–

4.配置匿名訪問配置檔案

[root@localhost ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

[root@localhost ~]# cat /etc/vsftpd/vsftpd.conf.bak | grep -v "^#" > /etc/vsftpd/vsftpd.conf

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf

     1 #匿名使用者

     2 anonymous_enable=YES

     3 anon_umask=022

     4 anon_root=/var/ftp

     5 anon_upload_enable=YES

     6 anon_mkdir_write_enable=YES

     7 anon_other_write_enable=YES

     8 anon_max_rate=0

     9 #本地使用者

    10 local_enable=NO

    11 #全域性配置

    12 listen=YES

    13 listen_address=192.168.100.4

    14 listen_port=21

    15 write_enable=YES

    16 download_enable=YES

    17 dirmessage_enable=YES

    18 xferlog_enable=YES

    19 xferlog_std_format=YES

    20 connect_from_port_20=YES

    21 pasv_enable=YES

    22 pasv_max_port=24600

    23 pasv_min_port=24500

    24 pam_service_name=vsftpd

    25 userlist_enable=YES

    26 userlist_deny=YES

    27 max_clients=0

    28 max_per_ip=0

    29 tcp_wrappers=YES

———————————————————-

4.啟動vsftpd服務

[root@localhost ~]#/etc/rc.d/init.d/vsftpd start

為vsftpd 啟動vsftpd:                                    [確定]

———————————————————-

5.測試匿名訪問

[root@localhost ~]# ftp 192.168.100.4

Name (192.168.100.4:root):ftp

Password:

ftp> cd test1

ftp> mkdir 11

ftp> dir

drwxr-xr-x    2 14      50           4096 Aug 25 06:51 11

ftp> rename 11 22

ftp> dir

drwxr-xr-x    2 14      50           4096 Aug 25 06:51 22

ftp> rmdir 22

ftp> dir

ftp> exit

  

==============================================

本地使用者訪問

1.修改為本地使用者訪問配置檔案

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf

     1 #匿名使用者

     2 anonymous_enable=NO

     3 anon_umask=022

     4 anon_root=/var/ftp

     5 anon_upload_enable=YES

     6 anon_mkdir_write_enable=YES

     7 anon_other_write_enable=YES

     8 anon_max_rate=0

     9

    10 #本地使用者

    11 local_enable=YES

    12 local_umask=077

    13 chroot_local_user=YES

    14

    15 #全域性配置

    16listen=YES

    17 listen_address=192.168.100.4

    18 listen_port=21

    19 write_enable=YES

    20 download_enable=NO

    21 dirmessage_enable=YES

    22 xferlog_enable=YES

    23 xferlog_std_format=YES

    24 connect_from_port_20=YES

    25 pasv_enable=YES

    26 pasv_max_port=24600

    27 pasv_min_port=24500

    28 pam_service_name=vsftpd

    29 userlist_enable=YES

    30 userlist_deny=YES

    31 max_clients=0

    32 max_per_ip=0

    33 tcp_wrappers=YES

———————————————————

2.建立使用者和密碼

[root@localhost ~]# useradd kaixin -s /sbin/nologin

[root@localhost ~]# passwd kaixin

更改使用者kaixin 的密碼。

新的密碼:

無效的密碼:WAY 過短

無效的密碼:過於簡單

重新輸入新的密碼:

passwd:所有的身份驗證令牌已經成功更新。

———————————————————–

3.重啟vsftpd服務

[root@localhost ~]# service vsftpd restart

關閉vsftpd:                                              [確定]

為vsftpd 啟動vsftpd:                                    [確定]

——————————————————

4.測試

[root@localhost ~]# ftp 192.168.100.4

Name (192.168.100.4:root):kaixin

Password:

ftp> ls

ftp> mkdir 111

ftp> dir

drwx------    2 500     500          4096 Aug 25 09:45 111

ftp> put install.log.syslog

ftp> dir

drwx------    2 500     500          4096 Aug 25 09:45 111

-rw-------    1 500     500         10033 Aug 25 09:45install.log.syslog

ftp> exit

[root@localhost ~]# cd ~kaixin

[root@localhost kaixin]# ls

111  install.log.syslog

======================================

虛擬使用者訪問

1.安裝db4-utils

[root@localhost ~]# yum -y install db4-utils

——————————————–

2.建立文字格式的使用者名稱、密碼列表

[root@localhost ~]# vi /etc/vsftpd/vusers.list

aaa

123

bbb

123

———————————————-

3.建立Berkeley DB格式的資料庫檔案

[root@localhost ~]# cd /etc/vsftpd/

[root@localhost vsftpd]#db_load -T -t hash -f vusers.list vusers.db

[root@localhost vsftpd]# file vusers.db

vusers.db: Berkeley DB (Hash,version 9, native byte-order)

[root@localhost vsftpd]# cd

-f:指定資料來源檔案,-T:允許非Berkeley DB的應用程式使用從文字格式轉換的DB資料檔案,-t hash:指定讀取資料檔案的基本方法)

—————————————————-

4.新增虛擬使用者的對映賬號、建立FTP根目錄

[root@localhost ~]# useradd -d /var/ftproot -s /sbin/nologin virtual

[root@localhost ~]# chmod 755 /var/ftproot/

—————————————————–

5.為虛擬使用者建立PAM認證檔案

[root@localhost ~]# vi /etc/pam.d/vsftpd.vu

#%PAM-1.0

auth    required        pam_userdb.so   db=/etc/vsftpd/vusers

account required        pam_userdb.so   db=/etc/vsftpd/vusers

—————————————————–

6.修改vsftpd配置,新增虛擬使用者支援,註釋匿名訪問許可權

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf

     1 #匿名使用者

     2 anonymous_enable=NO

     3 anon_umask=022

     4 anon_root=/var/ftp

     5 #anon_upload_enable=YES

     6 #anon_mkdir_write_enable=YES

     7 #anon_other_write_enable=YES

     8 #anon_max_rate=0

     9

    10 #本地使用者

    11 local_enable=YES

    12 local_umask=077

    13 chroot_local_user=YES

    14

    15 #全域性配置

    16 listen=YES

    17 listen_address=192.168.100.4

    18 listen_port=21

    19 write_enable=YES

    20 download_enable=YES

    21 dirmessage_enable=YES

    22 xferlog_enable=YES

    23 xferlog_std_format=YES

    24 connect_from_port_20=YES

    25 pasv_enable=YES

    26 pasv_max_port=24600

    27 pasv_min_port=24500

    28 pam_service_name=vsftpd.vu

    29 userlist_enable=YES

    30 userlist_deny=YES

    31 max_clients=0

    32 max_per_ip=0

    33 tcp_wrappers=YES

    34

    35 #虛擬使用者

    36 guest_enable=YES

    37 guest_username=virtual

——————————————————-

7.為不同的虛擬使用者建立獨立的配置檔案

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf

          38 user_config_dir=/etc/vsftpd/vusers_dir       //新增本行

[root@localhost ~]# mkdir /etc/vsftpd/vusers_dir

[root@localhost ~]# cd /etc/vsftpd/vusers_dir/

[root@localhost vusers_dir]#vi aaa

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

[root@localhost vusers_dir]#touch bbb

———————————————————-

8.過載vsftpd服務

[root@localhost vusers_dir]#service vsftpd reload

關閉vsftpd:                                              [確定]

為vsftpd 啟動vsftpd:                                    [確定]

——————————————————–

9.測試

[root@localhost ~]# ftp 192.168.100.4

Name (192.168.100.4:root):aaa

Password:

ftp> mkdir 111

ftp> dir

drwxr-xr-x    2 501     501          4096 Aug 25 10:26 111

ftp> cd 111

ftp> put install.log.syslog

ftp> renameinstall.log.syslog  install.log

ftp> dir

-rw-r--r--    1 501     501         10033 Aug 25 10:27install.log

ftp> get install.log

10033 bytes received in3.2e-05 secs (313531.26 Kbytes/sec)

ftp> exit

221 Goodbye.

[root@localhost ~]# ftp192.168.100.4

Name (192.168.100.4:root):bbb

Password:

ftp> dir

drwxr-xr-x    2 501     501          4096 Aug 25 10:27 111

ftp> cd 111

ftp> dir

-rw-r--r--    1 501     501         10033 Aug 25 10:27install.log

ftp> put install.log

550 Permission denied.

ftp> rename install.log 22

550 Permission denied.

ftp> get install.log

10033 bytes received in5.2e-05 secs (192942.30 Kbytes/sec)

ftp> exit

221 Goodbye.

[root@localhost ~]# ftp 192.168.100.4

Name (192.168.100.4:root):kaixin

Password:

530 Login incorrect.

測試結果:

aaa:可登陸,能正常瀏覽,可上傳、下載、修改檔案

bbb:可登陸,能正常瀏覽,可下載,不可上傳、修改檔案

系統使用者:不可登陸

相關文章