第16章 檔案服務

2021-08-18 22:08:19 字數 4470 閱讀 6793

ftp:檔案傳輸協議

軟體包:vsftpd

ftp埠:控制埠  command  21/tcp

資料埠       data      20/tcp  (主動模式)

配置檔案:/etc/vsftpd/vsftpd.conf

主目錄:  「/var/ftp」   ftp程式預設分享的乙個本機目錄

#yum  -y  install  vsftpd  -----安裝ftp服務

#touch   /var/ftp/abc.txt   ----在ftp的預設分享目錄建立乙個檔案

#systenctl  start  vsftpd      ----開啟ftp服務

#systemctl  enable  vsftpd  -----設定開機自啟ftp服務

#systemctl  stop firewall   ----關閉防火牆

#setenforce   0   ----關閉linux下的防火牆(selinux 防火牆)

#yum  -y  install   lftp   -----安裝lftp服務

#lftp   10.18.41.22    -----用預設ftp使用者進入ftp伺服器    (#lftp   [email protected]   ----用bjz這個使用者登入ftp服務)

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:/>

wget 

anonymous_enable=yes //是否允許匿名使用者登入ftp

local_enable=yes            //是否允許本地使用者登入alice

write_enable=yes           //是否允許寫(全域性)

local_umask=022           //控制本地使用者上傳檔案的預設許可權,umask表示666要減掉的許可權,預設沒有執行。

方法一: 部分使用者chroot

#vim  /etc/vsftpd/vsftpd.con

在開啟的文件中新增:

chroot_list_enable=yes

chroot_list_file=/etc/vsftpd/chroot_list

#vim  /etc/vsftpd/chroot_list

bijz

#chmod -w   /home/bijz    //使用者對家目錄要減掉w許可權。

或在/etc/vsftpd/vsftpd.con文件中新增

allow_writeable_chroot=yes

把bijz使用者名稱加入到/etc/vsftpd/chroot_list中,bijz使用者就被鎖定在主目錄中了

方法二:所有本地使用者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 //控制匿名使用者上傳檔案的預設許可權

系統使用者,預設既可以通過控制台登入系統。又可以通過網路(ftp)訪問伺服器。

為了安全起見,可以降低ftp使用者許可權。(只允許該使用者zhao網路通過ftp訪問伺服器,不能通過控制台登入系統)

#usermod  -s     /sbin/nologin   zhao 

在伺服器上掛載centos映象

#yum  -y  install   vsftpd

#systemctl   start  vsftpd

#systemctl  stop  firewalld

#mkdir  /var/ftp/centos7

#mount  /dev/sr0   /var/ftp/centos7

#df -ht----檢視掛載

注意:檢視匿名使用者的預設訪問目錄是否是預設的/var/ftp,

# vim   /etc/vsftpd/vsftpd.conf

anon_root=/var/ftp   ----預設不需要自己手動新增這一條

#mv    /etc/yum.repos.d/*   /tmp  -----清空已存在的yum源

#vim   /etc/yum.repos.d/centos7.repo

[my-centos7]

name=my-centos7

baseurl=ftp://伺服器ip/centos7

gpgcheck=0

#yum repolist    ----檢視可用的yum 倉庫

nfs:network file system 網路檔案系統,linux/unix系統之間共享檔案的一種協議

nfs 的客戶端主要為linux

支援多節點同時掛載以及併發寫入

提供檔案共享服務

為集群中的 web server 配置後端儲存

配置ip:

nas伺服器:10.18.41.22

web伺服器1:10.18.41.100

web伺服器2:10.18.41.100

web伺服器3:10.18.41.100

全部關閉防火牆:

#systemctl  stop  firewalld

#systemctl  disable  firewalld

全部關閉內部防火牆

#setenforce  0  -----檢視命令:getenforce

#vim  /etc/sysconfig/selinux

selinux=disabled

#yum   -y   install  nfs-utils     -----安裝nfs服務需要的軟體

#mkdir  /webdata     -----建立乙個儲存****的資料夾

#echo  wangzhanceshi    >  /webdata/index.html  -----把**重定向到新建的網頁主頁中

#vim   /etc/exports   ----nfs輸出檔案系統表

/webdata                       10.18.41.0/24(rw,sync,no_root_squash)----這個網段的可以收到這個分享的目錄

##解釋##

no_root_squash

//不壓制root(當client端使用root掛載時,也有root許可權)

//預設是壓制root,及時你用root登入,也沒有root許可權,因為被壓制,為了安全##

#systemctl  start  nfs-server

#systemctl  enable  nfs-server

#exportfs  -v   -----檢視nfs輸出的檔案

/webdata 10.18.41.0/24(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

以web1為例:

查詢nfs伺服器可用的目錄

#showmount  -e  10.18.41.22   

export list for 10.18.41.22:

/webdata 10.18.41..0/24

手動掛載 [可選][root@web1 ~]# mount   -t   nfs   10.18.41.22:/webdata     /var/www/html/

[root@web1 ~]# umount    /var/www/html/

自動掛載到**主目錄

[root@web1 ~]# vim   /etc/fstab

10.18.41.22:/webdata    /var/www/html    nfs    defaults  0   0

[root@web1 ~]# mount -a

檢視掛載

#df  -ht

web2  和  web3操作同上 

第16章 Debug Shell指令碼

本章主要介紹一些方便的 有效的 更好的輸出除錯資訊的方法。本章要學習的知識點 1 看懂指令碼輸出的錯誤資訊,並逐步定位到真正的錯誤 2 如何堅持shell指令碼的語法是否有錯誤 3 如何通過track模式找到程式的錯誤 4 分析指令碼錯誤的一般步驟 5 如何在指令碼程式中新增debug支援。當我們執...

第16章 網路程式設計

網路通訊協議 計算機網路中實現通訊必須有一些約定,即通訊協議,對速率 傳輸 結構 傳輸控制步驟 出錯控制等制定標準。通訊協議分層的思想 由於結點之間聯絡很複雜,在制定協議時,把複雜成份分解成一些簡單的成份,再將它們復合起來。最常用的復合方式是層次方式,即同層間可以通訊 上一層可以呼叫下一層,而與再下...

第16章 網路程式設計

利用套接字 socket 開發網路應用程式早已被廣泛的採用,以至於成為事實上的標準。通訊的兩端都要有socket,是兩台機器間通訊的端點 網路通訊其實就是socket間的通訊。socket允許程式把網路連線當成乙個流,資料在兩個socket間通過io傳輸。一般主動發起通訊的應用程式屬客戶端,等待通訊...