一,FTP Server
1,圖示
2,作用
提供檔案共享服務
3,基礎
FTP基礎
FTP: 檔案傳輸協定
軟體包: vsftpd
FTP端口: 控制端口 command 21/tcp
資料端口 data 20/tcp (主動模式)
配置檔案: /etc/vsftpd/vsftpd.conf
主目錄:“/var/ftp/”FTP程式分享一個本機目錄。
4,FTP Server 預設配置
==centos7==
# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
# yum -y install vsftpd
# touch /var/ftp/abc.txt
# systemctl start vsftpd
# systemctl enable vsftpd
預設firewalld/SELinux已關閉,如果未關閉:
# firewall-cmd --permanent --add-service=ftp
# firewall-cmd --reload
# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
# setenforce 0
sed
^以什麼開始
-i 寫入到檔案
/c是替換整行
5,FTP Clinet
5.1 LinuxFTP用戶端程式1:lftp
lftp
[[email protected] ~]# yum -y install lftp
[[email protected] ~]# lftp 伺服器的IP位址
lftp zhufo.top:~> ls
drwxr-xr-x 2 0 0 4096 Mar 31 2016 pub
-rw-r--r-- 1 0 0 0 Nov 22 03:53 abc.txt
lftp zhufo.top:/> get abc.txt
lftp zhufo.top:/> mirror pub
get下載下傳
mirror下載下傳目錄
5.2 LinuxFTP用戶端程式2:wget
[[email protected] ~]# wget --help |less
[[email protected] ~]# wget ftp://172.16.8.100/kvm-manager-centos
[[email protected] ~]# wget ftp://172.16.8.100/kvm-manager-centos -P /tmp/
[[email protected] ~]# wget ftp://172.16.8.100/kvm-manager-centos -O /tmp/a.sh
[[email protected] ~]# wget http://nginx.org/download/nginx-1.10.2.tar.gz
[[email protected] ~]# wget -m ftp://zhufo.top/soft
-P 指定路徑
-O 指定檔案名和路徑。
-m 下載下傳目錄
5.3 firefox,IE
firefox,IE
1 打開浏覽器
2 輸入“ftp://伺服器IP位址"
預設使用匿名使用者 ftp通路,HOME為/var/ftp,預設僅能下載下傳檔案
系統使用者: alice,HOME /home/alice,預設可下載下傳及上傳
lftp [email protected]
6,常見基本配置(了解)
基本配置,例如實作通路控制 [了解]
注意: 指令中的空格,指令錯誤,指令重複
[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES //是否允許匿名使用者登入ftp
local_enable=YES //是否允許本地使用者登入alice
write_enable=YES //是否允許寫(全局)
local_umask=022 //控制本地使用者上傳檔案的預設權限,umask表示666要減掉的權限,預設沒有執行。
chroot: 鎖定本地使用者HOME
方法一:部分使用者chroot
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
vim /etc/vsftpd/chroot_list
alice
然後alice就被鎖定在了主目錄中。
方法二:所有本地使用者chroot
chroot_local_user=YES
#chmod -w /home/alice //使用者對家目錄要減掉W權限。
anon_max_rate=500000 //匿名使用者限速
local_max_rate=80000 //本地使用者限速
max_clients=500 //ftp最大連接配接數
max_per_ip=2 //單個IP最大連接配接數,線程數
local_root=/ftproot //指定本地使用者通路的root目錄
anon_root=/anonroot //指定匿名使用者通路的root目錄
anon_umask=077 //控制匿名使用者上傳檔案的預設權限 (注意另外6條配置)
anon_umask=077 //控制匿名使用者上傳檔案的預設權限 ,請使用下方6條配置,開啟匿名上傳的權限。
要滿足一下條件
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
#chmod 777 /var/ftp/
==============================================
從2.3.5之後,vsftpd增強了安全檢查,如果使用者被限定在了其主目錄下,則該使用者的主目錄不能再具有寫權限了!如果檢查發現還有寫權限,就會報該錯誤。 要修複這個錯誤,可以用指令chmod a-w /home/user去除使用者主目錄的寫權限,注意把目錄替換成你自己的。或者可以在vsftpd的配置檔案中增加下列兩項中的一項:
allow_writeable_chroot=YES
系統使用者,預設既可以通過控制台登入系統。又可以通過網絡(ftp)通路伺服器。
為了安全起見,可以降低ftp使用者權限。
vim /etc/passwd
alice:x:1000:1000::/home/alice:/bin/bash
改為
alice:x:1000:1000::/home/alice:/sbin/nologin
7,案例分析
目标通過FTP搭建YUM源伺服器
伺服器
挂載centos鏡像
[[email protected] ~]#yum install vsftp
[[email protected] ~]#systemctl start vsftp
[[email protected] ~]#systemctl stop firewalld
[[email protected] ~]# mkdir /var/ftp/centos7
[[email protected] ~]# mount /dev/sr0 /var/ftp/centos7
[[email protected] ~]# df -hT
/dev/sr0 iso9660 4.3G 4.3G 0 100% /var/ftp/centos7
[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf
anon_root=/var/ftp/
客戶機
[[email protected] ~]# mv /etc/yum.repos.d/* /tmp //備份預設源
[[email protected] ~]# vim /etc/yum.repos.d/centos7.repo //指向基礎源
[my-centos7]
name=my-centos7
baseurl=ftp://x.x.x.x/centos7u2
gpgcheck=0
[[email protected] ~]# yum repolist //看到YUM即可。
二,NFS
1,名詞解釋
NFS:Network File System 網絡檔案系統,Linux/Unix系統之間共享檔案的一種協定
NFS 的用戶端主要為Linux
支援多節點同時挂載以及并發寫入
2,作用
提供檔案共享服務
為叢集中的 Web Server 配置後端存儲
3,案例分析
3.1 環境需求
nas 192.168.122.241
web1 192.168.122.150
web2 192.168.122.8
web3 192.168.122.194
nas web1 web2 web3
# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
# setenforce 0
centos7
# systemctl stop firewalld
# systemctl disable firewalld
centos6關閉防火牆請使用下列指令
# iptables -F
# service iptables save
3.2 nas(存儲端)
一、nas(存儲端)
[[email protected] ~]# yum -y install nfs-utils
[[email protected] ~]# mkdir /webdata //存儲網站代碼
[[email protected] ~]# echo "nfs test..." > /webdata/index.html
[[email protected] ~]# vim /etc/exports
/webdata 192.168.122.0/24(rw)
[[email protected] ~]# systemctl start nfs-server
[[email protected] ~]# systemctl enable nfs-server
[[email protected] ~]# exportfs -v
/webdata 192.168.122.0/24(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
[[email protected] ~]# vim /etc/exports
/webdata 192.168.122.0/24(rw,sync,no_root_squash)
//不壓制root(當client端使用root挂載時,也有root權限)
//預設是壓制root,及時你用root登入,也沒有root權限,因為被壓制,為了安全。
3.3 web1 web2 web3 用戶端
web1 web2 web3 用戶端
以web1為例:
[[email protected] ~]# yum -y install nfs-utils httpd
[[email protected] ~]# systemctl start httpd
[[email protected] ~]# systemctl enable httpd
1. 檢視存儲端共享 [可選]
[[email protected] ~]# showmount -e 192.168.122.241 // 查詢NFS伺服器可用目錄
Export list for 192.168.122.241:
/webdata 192.168.122.0/24
2. 手動挂載 [可選]
[[email protected] ~]# mount -t nfs 192.168.122.241:/webdata /var/www/html/
[[email protected] ~]# umount /var/www/html/
3. 自動挂載到網站主目錄
[[email protected] ~]# vim /etc/fstab
192.168.122.241:/webdata /var/www/html nfs defaults 0 0
[[email protected] ~]# mount -a
4. 檢視挂載
[[email protected] ~]# df
192.168.122.152:/webdata 7923136 692416 6821568 10% /var/www/html
[[email protected] ~]# ls /var/www/html/
index.html
5. web2 web3同上
如果希望web能修改NFS中的内容,請取消壓制root,重新開機nas服務,重新挂載。
3.4 測試網絡通路
# firefox 192.168.122.85
# firefox 192.168.122.111
# firefox 192.168.122.166
以上的IP可以根據自己的IP網段随意選擇