linux操作系統基礎篇(七)
NFS服務(基於CentOS 7.0)
NFS(Network File System),網絡文件系統,是linux與linux之間進行文件共享的服務,在NFS應用,本地NFS的客戶端可以透明地讀寫位於遠端NFS服務器上的文件,就像訪問本地文件一樣。
安裝服務
[[email protected] ~]# yum install nfs-utils rpcbind -
服務配置
NFS服務安裝後,並沒有任何共享配置,需要自己新建一個目錄進行共享
[[email protected] ~]# echo "/share *(sync,rw)" >> /etc/exports #/share是共享的目錄,*表示所有可訪問該共享的ip,可以寫一個ip地址或者網絡,sync表示同步類型,rw表示訪問權限 [[email protected]
共享參數說明(綠色常用):
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] ~]# 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
crontd服務
在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 7 * * * /sbin/service sshd start #每天早上7:50自動開啟sshd服務,22點50時關閉 22 * * * /sbin/service sshd stop * */5 * * /bin/rm -rf /var/ftp/pub/* #每隔5天清空一次FTP服務器公共目錄/var/ftp/pub 7 * * 6 /sbin/service httpd restart #每周六的7:30時,重新啟動httpd服務 17 * * 1,3,5 /bin/tar jcvf httpdconf.tar.bz2 /etc/httpd #每周一、三、五的17:30時,打包備份/etc/httpd目錄 [[email protected] ~]# crontab -e -u jerry 23 * * 7 /bin/cp /etc/passwd /home/jerry/pwd.txt #jerry用戶每周日晚上23:55時將“/etc/passwd”文件的內容復制到宿主目錄中,保存為pwd.txt文件
linux操作系統基礎篇(七)