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