天天看點

第九單元 部署 ftp 檔案共享服務

1.部署 ftp 伺服器

ftp ( 檔案傳輸協定 ) 是 internet 上仍常用的最老的網

絡協定之一 , 它為系統提供了通過網絡與遠端伺服器進行傳

輸的簡單方法

在 red hat entreprise linux 6 中。 ftp 伺服器包

的名稱為 vsftpd , 它代表 very securefile transfer

protocol damon 伺服器名稱也叫做 vsftpd

預設配置檔案讓 anonymous 使用者隻能下載下傳位于

chroot 目錄中的内容。 /var/ftp/ 這意味着遠端ftp

用戶端能以使用者 anonymous 或 ftp 身份連接配接到伺服器

( 無需密碼 ), 并從 ftp 伺服器上的 /var/ftp/ 目錄下載下傳檔案

( 其本地 ftp 使用者可以讀取這些檔案 )

2.安裝與測試ftp

   39 vim /etc/sysconfig/selinux

   40 getenforce

   41 reboot

   43 getenforce

第九單元 部署 ftp 檔案共享服務
第九單元 部署 ftp 檔案共享服務

   44 vim /etc/sysconfig/network-scripts/ifcfg-eth0

device=eth0

bootproto=none

ipaddr=172.25.254.144

prefix=24

onboot=yes

type=ethernet

   45 vim /etc/yum.repos.d/yum.repo

[rhel7.2]

name=rhel7.2

baseurl=http://172.25.254.44/rhel7.2

gpgcheck=0

   46 yum clean all

第九單元 部署 ftp 檔案共享服務

   47 yum search ftp

   59 yum install vsftpd.x86_64 -y

   73 systemctl start vsftpd

   74 systemctl stop firewalld

   75 systemctl enable vsftpd

第九單元 部署 ftp 檔案共享服務
第九單元 部署 ftp 檔案共享服務
第九單元 部署 ftp 檔案共享服務

   64 firewall-cmd --list-all 檢視有哪些指令可以登陸

   65 firewall-cmd --permanent --add-service=ftp  添加允許登陸的指令

   66 firewall-cmd --reload     使新添加的指令生效

   67 firewall-cmd --list-all 檢視

第九單元 部署 ftp 檔案共享服務

測試服務

cd /var/ftp/pub/

touch file{1..3}

主機

lftp 172.25.254.144

lftp 172.25.0.10:~> ls  ##能登陸并且顯示,表示安裝成功

drwxr-xr-x 2 0 0

lftp 172.25.0.10:/> cd pub/

lftp 172.25.0.10:/pub> ls

-rw-r--r-- 1 0 0

42 nov 20 07:19 pub

0 nov 20 07:19 file1

0 nov 20 07:19 file2

0 nov 20 07:19 file3

第九單元 部署 ftp 檔案共享服務

3.vsftpd檔案資訊

/var/ftp        ##預設釋出目錄

/etc/vsftpd     ##配置目錄

4.vsftpd服務的配置參數

1)匿名使用者設定

anonymous_enable=yes|no     ##匿名使用者登陸限制

第九單元 部署 ftp 檔案共享服務

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

[root@localhost ~]# systemctl restart vsftpd

第九單元 部署 ftp 檔案共享服務

#<匿名使用者上傳>

vim /etc/vsftpd/vsftpd.conf

write_enable=yes

anon_upload_enable=yes

第九單元 部署 ftp 檔案共享服務

   90 vim /etc/vsftpd/vsftpd.conf

   91 systemctl restart vsftpd

   92 ll -d /var/ftp/pub/

   93 id ftp

   94 chgrp ftp /var/ftp/pub/  更改使用者組

   95 chmod 775 /var/ftp/pub/  設定權限

   96 ll -d /var/ftp/pub/

   97 history

第九單元 部署 ftp 檔案共享服務
第九單元 部署 ftp 檔案共享服務

#<匿名使用者删除>

anon_other_write_enable=yes|no

第九單元 部署 ftp 檔案共享服務
第九單元 部署 ftp 檔案共享服務

#<匿名使用者家目錄修改>

anon_root=/direcotry

[root@localhost ~]# mkdir /westos/

[root@localhost ~]# cd /westos/

[root@localhost westos]# touch file{1..4}

[root@localhost westos]# cd

第九單元 部署 ftp 檔案共享服務

#<匿名使用者上傳檔案預設權限修改>

anon_umask=xxx

第九單元 部署 ftp 檔案共享服務
第九單元 部署 ftp 檔案共享服務

#<匿名使用者建立目錄>

anon_mkdir_write_enable=yes|no

第九單元 部署 ftp 檔案共享服務
第九單元 部署 ftp 檔案共享服務

#<匿名使用者下載下傳>

anon_world_readable_only=yes|no ##設定參數值為no表示匿名使用者可以下載下傳

第九單元 部署 ftp 檔案共享服務

驗證

[kiosk@foundation44 desktop]$ lftp 172.25.254.144

lftp 172.25.254.144:~> cd /pub

cd ok, cwd=/pub

lftp 172.25.254.144:/pub> ls

drwxr-xr-x    2 14       50              6 apr 26 06:33 old 目錄

-rw-------    1 14       50           2453 apr 26 06:25 passwd檔案

drwxr-xr-x    2 14       50              6 apr 26 06:33 westos目錄

lftp 172.25.254.144:/pub> get westos   隻能下載下傳檔案不能下載下傳目錄

get: access failed: 550 failed to open file. (westos)

lftp 172.25.254.144:/pub> get passwd

2453 bytes transferred

#<匿名使用者使用的使用者身份修改>

chown_uploads=yes

chown_username=student

第九單元 部署 ftp 檔案共享服務

[kiosk@foundation44 desktop]$ lftp 172.25.254.144 -u student

password:

lftp [email protected]:~> ls     

lftp [email protected]:~> cd /pub

cd: access failed: 550 failed to change directory. (/pub)

lftp [email protected]:~> ls

lftp [email protected]:~> mkdir zhang

mkdir ok, `zhang' created

drwxr-xr-x    2 1000     1000            6 apr 26 06:59 zhang

lftp [email protected]:~> quit

#<最大上傳速率>?

第九單元 部署 ftp 檔案共享服務

anon_max_rate=102400

[root@foundation44 ~]# dd if=/dev/zero of=/mnt/bigfile  bs=1 count=1000

1000+0 records in

1000+0 records out

1000 bytes (1.0 kb) copied, 0.00147583 s, 678 kb/s

[root@foundation44 ~]# dd if=/dev/zero of=/mnt/bigfile  bs=1 count=100000000

100000000+0 records in

100000000+0 records out

100000000 bytes (100 mb) copied, 130.492 s, 766 kb/s

#<最大連結數>?

max_clients=1

[root@foundation44 ~]#  lftp172.25.254.144

lftp 172.25.254.144:~> ls

drwxrwxr-x    4 0        50             42 apr 26 06:33 pub

lftp 172.25.254.144:/>

root連結不退出

interrupt                              

desktop不能連結

2)本地使用者設定

local_enable=no     ##本地使用者登陸no

第九單元 部署 ftp 檔案共享服務

ls: login failed: 530 this ftp server is anonymous only.

local_enable=yes    ##本地使用者登陸yes

lftp [email protected]:~>

write_enable=yes|no     ##本地使用者寫權限限制?

#<本地使用者家目錄修改>

local_root=/directory

第九單元 部署 ftp 檔案共享服務

-rw-r--r--    1 0        0               0 apr 26 06:07 file1

-rw-r--r--    1 0        0               0 apr 26 06:07 file2

-rw-r--r--    1 0       0               0 apr 26 06:07file3

-rw-r--r--    1 0        0               0 apr 26 06:07 file4

#<本地使用者上傳檔案權限>

local_umask=xxx

#<限制本地使用者浏覽/目錄>

所有使用者被鎖定到自己的家目錄中

chroot_local_user=yes

chmod u-w /home/*

第九單元 部署 ftp 檔案共享服務

lftp [email protected]:/> cd /home/

cd: access failed: 550 failed to change directory. (/home)

lftp [email protected]:/> cd /mnt

cd: access failed: 550 failed to change directory. (/mnt)

lftp [email protected]:/> quit

lftp [email protected]:~> cd /mnt/

cd ok, cwd=/mnt                      

lftp [email protected]:/mnt> cd /home/

cd ok, cwd=/home

lftp [email protected]:/home> ls

dr-x------    5 1000     1000           96 apr 26 06:59 student

lftp [email protected]:/home>

#<限制本地使用者登陸>

vim /etc/vsftpd/ftpusers        ##使用者黑名單

vim /etc/vsftpd/user_list       ##使用者臨時黑名單

第九單元 部署 ftp 檔案共享服務

使用者黑名單建立

chroot_local_user=no

chroot_list_enable=yes

chroot_list_file=/etc/vsftpd/user_list

[kiosk@foundation44 desktop]$ lftp 172.25.254.144 -u westos

lftp [email protected]:~> ls      

ls: login failed: 530 permission denied.         

lftp [email protected]:~> quit

[kiosk@foundation44 desktop]$ lftp 172.25.254.144 -u linux

lftp [email protected]:~> ls

lftp [email protected]:~> quit

lftp 172.25.254.144:/> quit

使用者白名單設定

userlist_deny=no

/etc/vsftpd/user_list   ##參數設定,此檔案變成使用者白名單,隻在名單中出現的使用者可以登陸ftp

使用者白名單建立

#<ftp虛拟使用者的設定>

建立虛拟帳号身份)

vim /etc/vsftpd/loginusers  ##檔案名稱任意

ftpuser1

123

ftpuser2

ftpuser3

第九單元 部署 ftp 檔案共享服務

db_load -t -t hash -f /etc/vsftpd/loginusers loginusers.db

vim /etc/pam.d/ckvsftpd     ##檔案名稱任意

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

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

第九單元 部署 ftp 檔案共享服務

pam_service_name=ckvsftpd

guest_enable=yes

第九單元 部署 ftp 檔案共享服務
第九單元 部署 ftp 檔案共享服務

虛拟帳号身份指定)

guest_username=westos

第九單元 部署 ftp 檔案共享服務

chmod u-w /home/westos

lftp [email protected]:~> lftp 172.25.254.144 -u user1

lftp [email protected]:~> ls

lftp [email protected]:/> quit

kiosk@foundation44 desktop]$ lftp 172.25.254.144 -u user1

lftp [email protected]:~> ls       

虛拟帳号家目錄獨立設定)

local_root=/ftpuserhome/$user

user_sub_token=$user

第九單元 部署 ftp 檔案共享服務

 [root@localhost ~]# mkdir /ftpuserhome/ftpuserhome

[root@localhost ~]# id westos

uid=1002(westos) gid=1002(westos) groups=1002(westos)

[root@localhost ~]# chgrp westos /ftpuserhome

[root@localhost ~]# chmod g+s /ftpuserhome

[root@localhost ~]# mkdir /ftpuserhome/user{1..3}

[root@localhost ~]# touch /ftpuserhome/user1/file1

[root@localhost ~]# touch /ftpuserhome/user2/file2

[root@localhost ~]# touch /ftpuserhome/user3/file3

第九單元 部署 ftp 檔案共享服務

虛拟帳号配置獨立)

user_config_dir=/etc/vsftpd/userconfig

mkdir -p /etc/vsftpd/userconfig

第九單元 部署 ftp 檔案共享服務
第九單元 部署 ftp 檔案共享服務

vim /etc/vsftpd/userconfig/ftpuser1

在此檔案中設定配置檔案中的所有參數,此檔案的優先級搞

anon_other_write_enable=yes

第九單元 部署 ftp 檔案共享服務

繼續閱讀