天天看點

Linux檔案服務一,FTP Server二,NFS

一,FTP Server

1,圖示

Linux檔案服務一,FTP Server二,NFS
Linux檔案服務一,FTP Server二,NFS

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網段随意選擇

繼續閱讀