天天看點

Linux基礎系列-Day7

NFS服務(基于CentOS 7.0)

NFS(Network File System),網絡檔案系統,是linux與linux之間進行檔案共享的服務,在NFS應用,本地NFS的用戶端可以透明地讀寫位于遠端NFS伺服器上的檔案,就像通路本地檔案一樣。

安裝服務

[[email protected] ~]# yum install nfs-utils rpcbind -y      

服務配置

NFS服務安裝後,并沒有任何共享配置,需要自己建立一個目錄進行共享

[[email protected] ~]# echo "/share *(sync,rw)"  >> /etc/exports  #/share是共享的目錄,*表示所有可通路該共享的ip,可以寫一個ip位址或者網絡,sync表示同步類型,rw表示通路權限
[[email protected] ~]# mkdir /share/    #建立目錄      

共享參數說明(綠色常用):

  ro                      隻讀通路

  rw                      讀寫通路 

  sync                    所有資料在請求時寫入共享 

  async                  在寫入資料前可以相應請求

  hide                    在NFS共享目錄中不共享其子目錄

  no_hide                 共享NFS目錄的子目錄 

  secure                  NFS通過1024以下的安全TCP/IP端口發送 

  insecure                NFS通過1024以上的端口發送 

  wdelay                  如果多個使用者要寫入NFS目錄,則歸組寫入(預設) 

  no_wdelay               如果多個使用者要寫入NFS目錄,則立即寫入,當使用async時,無需此設定。 

  subtree_check           如果共享/usr/bin之類的子目錄時,強制NFS檢查父目錄的權限(預設) 

  no_subtree_check        和上面相對,不檢查父目錄權限 

  all_squash              共享檔案的UID和GID映射匿名使用者anonymous,适合公用目錄

  no_all_squash           保留共享檔案的UID和GID(預設) 

  root_squash             root使用者的所有請求映射成如anonymous使用者一樣的權限(預設) 

  no_root_squas           root使用者具有根目錄的完全管理通路權限 

  anonuid=xxx             指定NFS伺服器/etc/passwd檔案中匿名使用者的UID 

  anongid=xxx             指定NFS伺服器/etc/passwd檔案中匿名使用者的GID 

啟動服務

nfs服務共享是通過rpc協定共享,是以需要同時開放nfs和rpc的防火牆通路

[[email protected] ~]# firewall-cmd --permanent --add-service=nfs 
success
[[email protected]-server ~]# firewall-cmd --reload 
success
[[email protected] ~]# firewall-cmd --permanent --add-service=rpc-bind
success
[[email protected] ~]# firewall-cmd  --reload 
success
[[email protected] ~]# systemctl start nfs-server
[[email protected] ~]# systemctl enable nfs-server
ln -s '/usr/lib/systemd/system/nfs-server.service' '/etc/systemd/system/nfs.target.wants/nfs-server.service'      

服務驗證

查詢服務端的共享點

[[email protected] ~]# showmount -e 192.168.1.10  #前提是伺服器端防火牆放行mountd服務
Export list for 192.168.1.10:
/share *      

用戶端挂載共享點

[[email protected] ~]# mount 192.168.1.10:/share /mnt      #挂載nfs共享的目錄
[[email protected] ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        48G  4.7G   44G  10% /
devtmpfs                devtmpfs  103M     0  103M   0% /dev
tmpfs                   tmpfs     112M     0  112M   0% /dev/shm
tmpfs                   tmpfs     112M  4.8M  108M   5% /run
tmpfs                   tmpfs     112M     0  112M   0% /sys/fs/cgroup
/dev/sda1               xfs       297M  109M  189M  37% /boot
192.168.1.10:/share     nfs4       48G  4.8G   44G  10% /mnt
      

寫入資料驗證

[[email protected] ~]# touch /mnt/abc.txt      #權限限制,匿名通路是用nobody使用者,因為該目錄本身對于其他使用者的權限是沒有寫入權限
touch: cannot touch ?.mnt/abc.txt?. Permission denied      

修改服務端共享點目錄的權限

[[email protected] ~]# chmod  777 /share/      

再次驗證寫入即可

[[email protected] ~]# touch /mnt/abc.txt
[[email protected] ~]# ls /mnt/abc.txt 
/mnt/abc.txt      

crond服務

在linux中用于設定周期性被執行的指令,在特定的時間點執行一項作業,并且在以後相同的時間點重複執行

crond由多個配置檔案和系統檔案控制,每個使用者對應一個配置檔案。

crontab管理工具

指令格式:

  crontab [選項] [參數]

選項說明:

  -l  列出目前使用者的計劃任務

  -r  删除目前使用者所有的計劃任務

  -e  編輯目前使用者的計劃任務

  -u  指定使用者

配置周期作業字段組成:

  示例:* * * * *  /usr/bin/echo "1111111" >> /root/aaa.txt

  說明:每分鐘向aaa.txt追加一行1111111

    第一個星号表示分鐘:0-59,*表所有,下同

    第二個星号表示小時:0-23

    第三個星号表示日期:1-31

    第四個星号表示月份:1-12

    第五個星号表示周幾:0-7(0和7表示周日)

    注:*表示始終,即每分鐘、每小時、每天、每月、每周幾,可以用數字表示

    注:x-y        表示範圍

                 x,y        表示一個類,清單

                 例:分鐘位  5,10-13,17         表示每小時5、10、11、12、13、17分鐘執行

                 */x        x表示時間間隔

    /usr/bin/echo "1111111" >> /root/aaa.txt  執行的指令,指令關鍵字必須是絕對路徑

計劃任務示例:

[[email protected] ~]# crontab -e
50 7 * * *  /sbin/service sshd start        #每天早上7:50自動開啟sshd服務,22點50時關閉
50 22 * * *  /sbin/service sshd stop        
0 * */5 * *  /bin/rm -rf /var/ftp/pub/*       #每隔5天清空一次FTP伺服器公共目錄/var/ftp/pub
30 7 * * 6  /sbin/service httpd restart        #每周六的7:30時,重新啟動httpd服務
30 17 * * 1,3,5  /bin/tar jcvf httpdconf.tar.bz2 /etc/httpd        #每周一、三、五的17:30時,打包備份/etc/httpd目錄
[[email protected] ~]# crontab -e -u jerry     
55 23 * * 7  /bin/cp /etc/passwd /home/jerry/pwd.txt     #jerry使用者每周日晚上23:55時将“/etc/passwd”檔案的内容複制到宿主目錄中,儲存為pwd.txt檔案      

   

轉載于:https://www.cnblogs.com/zero527/p/6927752.html

繼續閱讀