Linux云計(jì)算架構(gòu)師:搭建FTP服務(wù)器實(shí)現(xiàn)文件共享和NFS服務(wù)器配置

全套學(xué)習(xí)資料移步至公眾號【學(xué)神來啦】

本節(jié)所講內(nèi)容:

?4.1 ?VSFTP服務(wù)器概述

?4.2 ?安裝配置VSFTP

?4.3 ?實(shí)戰(zhàn):匿名訪問VSFTP

?4.4 ?實(shí)戰(zhàn):用戶名密碼方式訪問VSFTP

?4.5 ?NFS概述-配置NFS服務(wù)器并實(shí)現(xiàn)開機(jī)自動掛載

服務(wù)器信息:

FTP服務(wù)端:xuegod63 ??IP:192.168.1.63

FTP客戶端:xuegod64???IP:192.168.1.64

4.1 ?VSFTP服務(wù)器概述

4.1.1??FTP服務(wù)概述

FTP服務(wù)器(File Transfer Protocol Server)是在互聯(lián)網(wǎng)上提供文件存儲和訪問服務(wù)的計(jì)算機(jī),它們依照FTP協(xié)議提供服務(wù)。

FTP(File Transfer Protocol: 文件傳輸協(xié)議)作用:Internet 上用來傳送文件的協(xié)議。

常見FTP服務(wù)器:

Windows:Serv-U?、FTP Server、filezilla_server

Linux:ProFTPD:(Professional FTP daemon)一個Unix平臺上或是類Unix平臺上(如Linux, FreeBSD等)的FTP服務(wù)器程序。

4.1.2??本節(jié)主講:VSFTP

VSFTP是一個基于GPL發(fā)布的類Unix系統(tǒng)上使用的FTP服務(wù)器軟件,它的全稱是Very Secure FTP 從此名稱可以看出來,編制者的初衷是代碼的安全。

特點(diǎn):

它是一個安全、高速、穩(wěn)定的FTP服務(wù)器。

VSFTP模式: C/S 模式

監(jiān)聽端口:20、21

[root@xuegod64 ~]# vim /etc/services? #查看services文件,如圖 4-1 所示。

圖 4-1 FTP端口

FTP監(jiān)聽的端口有兩個:

端口20:用于傳輸數(shù)據(jù)

端口21:用于傳輸指令

4.1.3??工作流程(原理)分為兩種模式:

主動和被動模式:

FTP會話包含了兩個通道,控制通道和數(shù)據(jù)傳輸通道,F(xiàn)TP的工作有兩種模式,一種是主動模式,一種是被動模式,以FTP Server為參照,主動模式,服務(wù)器主動連接客戶端傳輸,被動模式,等待客戶的連接。

主動模式(PORT)的工作原理:

FTP客戶端連接到FTP服務(wù)器的21號端口,發(fā)送用戶名和密碼,客戶端隨機(jī)開放一個端口(1024以上),發(fā)送PORT命令到FTP服務(wù)器,告知服務(wù)器客戶端采用主動模式并開放端口,F(xiàn)TP服務(wù)器收到PORT主動模式命令和端口后,通過服務(wù)器的20號端口和客戶端開放的端口連接,發(fā)送數(shù)據(jù),原理如圖 4-2 所示,(無論是主動還是被動模式,首先的控制通道都是先建立起來,只是在數(shù)據(jù)傳輸模式上的區(qū)別)

圖 4-2 FTP主動模式工作原理圖

被動模式的工作原理:

PASV是Passive的縮寫,中文成為被動模式,工作原理:FTP客戶端連接到FTP服務(wù)器所監(jiān)聽的21號端口,發(fā)送用戶名和密碼,發(fā)送PASV命令到FTP服務(wù)器,服務(wù)器在本地隨機(jī)開放一個端口(1024以上),然后把開放的端口告知客戶端,而后客戶端再連接到服務(wù)器開放的端口進(jìn)行數(shù)據(jù)傳輸,原理如圖 4-3 所示。

圖 4-3 FTP被動模式工作原理圖

主 ???21 ??20

被 ???21 ??1024以上 ?

4.2??安裝vsftp服務(wù)器端、客戶端

使用rpm安裝本地光盤中的vsftp程序包:

[root@xuegod63?~]# rpm -ivh /mnt/cd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

或:

使用yum直接安裝(兩種安裝方法,選取其中一種即可):

[root@xuegod63 ~]#?yum -y install vsftpd

4.2.1??安裝客戶端:

[root@xuegod64 ~]# yum install -y lftp? #使用yum安裝ftp客戶端。

lftp

Linux客戶端:

lftp 是一個功能強(qiáng)大的下載工具,它支持訪問文件的協(xié)議: ftp、ftps、http、https、hftp(其中ftps和https需要在編譯的時候包含openssl庫),lftp的界面非常類似一個Shell,有命令補(bǔ)全、歷史記錄、允許多個后臺任務(wù)執(zhí)行等功能,使用起來非常方便。它還有書簽、排隊(duì)、鏡像、斷點(diǎn)續(xù)傳、多進(jìn)程下載、等功能。

4.2.2??配置文件位置:

vsftpd 相關(guān)文檔:

/etc/vsftpd/vsftpd.conf#vsftpd 的核心配置文件。

/etc/vsftpd/ftpusers? #用于指定哪些用戶不能訪問FTP 服務(wù)器,即黑名單。

/etc/vsftpd/user_list? #指定允許使用VSFTP的用戶列表文件,即白名單。

[root@xuegod63 ~]#?vim /etc/vsftpd/user_list? #查看user_list文件,如圖 4-4 所示。

圖 4-4 VSFTP的用戶列表文件

圖4-4中的說明:如果userlist_deny= YES(默認(rèn)),絕不允許在這個文件中的用戶登錄ftp,甚至不提示輸入密碼。

/etc/vsftpd/vsftpd_conf_migrate.sh? #是vsftpd 操作的一些變量和設(shè)置腳本

/var/ftp/#默認(rèn)情況下匿名用戶的根目錄

4.2.3?啟動服務(wù)

[root@xuegod63 vsftpd]# systemctl start vsftpd? #啟動FTP服務(wù)。

[root@xuegod63 vsftpd]# systemctl enable vsftpd #設(shè)置開啟自動啟動FTP服務(wù)。

#注意關(guān)閉iptables 和SElinux

[root@xuegod63 ~]# netstat -antup | grep ftp? #查看FTP服務(wù)監(jiān)聽的端口。

tcp ???0 ????0 0.0.0.0:210.0.0.0:* ?????????LISTEN ??????11725/vsftpd

思考:以上內(nèi)容中說明FTP監(jiān)聽兩個端口,但目前FTP已經(jīng)啟動了,但經(jīng)過查看,只查看到21號端口,還有20號端口沒有查看到?

是因?yàn)闆]有數(shù)據(jù)傳輸,20號端口是用于傳輸數(shù)據(jù)的,所以20號端口是尚未開啟,如有數(shù)據(jù)傳輸時,20號端口則會開啟。

4.2.4??FTP服務(wù)的使用方法

Linux系統(tǒng):以xuegod63主機(jī)示例(即服務(wù)端、客戶端為一臺主機(jī))

[root@xuegod63 ~]# rpm -ivh /mnt/Packages/lftp-4.4.8-8.el7_3.2.x86_64.rpm? #安裝FTP客戶端

[root@xuegod63?~]# lftp 192.168.1.63? #連接FTP服務(wù)器。

ctrl+d ?或 ?exit退出

? ?幫助

Windows系統(tǒng):

通過瀏覽器訪問或 打開文件夾,在地址欄輸入地址:ftp://192.168.1.63/,如圖4-5 所示。

圖 4-5 Windows系統(tǒng)FTP客戶端連接服務(wù)器

4.2.5??修改配置文件,實(shí)戰(zhàn)舉例匿名訪問

例4.1:公司技術(shù)部準(zhǔn)備搭建一臺功能簡單的FTP 服務(wù)器,允許所有員工上傳和下載文件,并允許創(chuàng)建用戶自己的目錄。

分析:

允許所有員工上傳和下載文件需要設(shè)置成允許匿名用戶登錄并且需要將允許匿名用戶上傳功能開啟。

4.3??允許匿名用戶訪問

anon_mkdir_write_enable 字段可以控制是否允許匿名用戶創(chuàng)建目錄。

[root@xuegod63 ~]# cd /etc/vsftpd/? #切換工作目錄至FTP工作目錄下。

[root@xuegod63 vsftpd]# cp vsftpd.conf{,.bak} #使用命令展開式,F(xiàn)TP配置文件備份,便于后期恢復(fù)還原。

[root@xuegod63 vsftpd]#?vim ?vsftpd.conf?? #編輯FTP配置文件,修改以下內(nèi)容。

anonymous_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

允許匿名用戶上傳文件并可以創(chuàng)建目錄,如圖 4-6、4-7 所示。

圖 4-6 允許匿名用戶上傳文件并可以創(chuàng)建目錄

圖 4-7 允許匿名用戶上傳文件并可以創(chuàng)建目錄

重啟FTP服務(wù),使配置文件生效:

[root@xuegod63 vsftpd]#?systemctl restart vsftpd

測試:提示不能寫,如圖 4-8所示。

圖 4-8 測試連接FTP服務(wù)器

[root@xuegod63 vsftpd]# chownftp.ftp/var/ftp/pub/? #修改FTP共享目錄屬主、屬組為ftp用戶。

再次測試,結(jié)果:可以新建文件夾,但是不能重命名,不能刪除!

[root@xuegod63 vsftpd]# vim vsftpd.conf? #編輯FTP配置文件,修改以下內(nèi)容。

anon_other_write_enable=YES??? #默認(rèn)沒有,需要手動添加下這行(匿名帳號可以有寫的權(quán)限)。

重啟FTP服務(wù),使配置文件生效:

[root@xuegod63 vsftpd]#?systemctl restart vsftpd

可以刪除文件夾了,這個參數(shù)對匿名用戶來說權(quán)限太大,不安全,使用這個參數(shù)需要考慮安全性。

注意,默認(rèn)匿名用戶家目錄的權(quán)限是755,這個權(quán)限是不能改變的。切記!

4.4??用戶名密碼方式訪問VSFTP

例4.2:

公司內(nèi)部現(xiàn)在有一臺FTP 和WEB 服務(wù)器,F(xiàn)TP 的功能主要用于維護(hù)公司的網(wǎng)站內(nèi)容,包括上傳文

件、創(chuàng)建目錄、更新網(wǎng)頁等等。公司現(xiàn)有兩個部門負(fù)責(zé)維護(hù)任務(wù),他們分別使用team1和team2

帳號進(jìn)行管理。先要求僅允許team1 和team2 帳號登錄FTP 服務(wù)器,但不能登錄本地系統(tǒng),并將兩個帳號的根目錄限制為/var/www/html,不能進(jìn)入該目錄以外的任何目錄。

ftp 和www web服務(wù)器相結(jié)合。

www web服務(wù)器根目錄:/var/www/html

只允許:team1和team2兩用戶 可以上傳,vsftp禁止匿名。

分析:

將FTP 和WEB 服務(wù)器做在一起是企業(yè)經(jīng)常采用的方法,這樣方便實(shí)現(xiàn)對網(wǎng)站的維護(hù),為了增強(qiáng)安全性,首先需要使用僅允許本地用戶訪問,并禁止匿名用戶登錄。其次使用chroot 功能將team1和team2 鎖定在/var/www/html 目錄下。如果需要刪除文件則還需要注意本地權(quán)限。

解決方案:

建立維護(hù)網(wǎng)站內(nèi)容的ftp 帳號team1 和team2 并禁止本地登錄,然后設(shè)置其密碼。

[root@xuegod63 ~]# useradd -s /sbin/nologin team1 ????#創(chuàng)建team1用戶,并禁止登錄系統(tǒng)。

[root@xuegod63 ~]# useradd -s /sbin/nologin team2?????#創(chuàng)建team2用戶,并禁止登錄系統(tǒng)。

[root@xuegod63 ~]# echo "123456" | passwd --stdin team1 #設(shè)置team1用戶密碼。

Changing password for user team1.

passwd: all authentication tokens updated successfully.

[root@xuegod63 ~]# echo "123456" | passwd --stdin team2 #設(shè)置team2用戶密碼。

。。。同上

#vsftp判定是否是有效用戶還要判定是否為系統(tǒng)用戶。所以要在此文件中添加創(chuàng)建用戶的shell類型。

配置vsftpd.conf 主配置文件并作相應(yīng)修改

[root@xuegod63 vsftpd]# cp vsftpd.conf.bak vsftpd.conf? #恢復(fù)此前備份的FTP配置文件覆蓋當(dāng)前的FTP配置文件。

cp:是否覆蓋"vsftpd.conf"? y? #輸入y確認(rèn)覆蓋當(dāng)前配置文件。

[root@xuegod63 vsftpd]#?vim /etc/vsftpd/vsftpd.conf? #編輯FTP配置文件,修改如圖 1-11 所示內(nèi)容。

anonymous_enable=NO? #禁止匿名用戶登錄

local_enable=YES? #允許本地用戶登錄

圖 4-11 禁止匿名用戶、允許本地用戶登錄

修改如圖 4-12 所示的內(nèi)容為如圖 4-13 所示內(nèi)容:

圖 4-12

圖 4-13

local_root=/var/www/html? ? #設(shè)置本地用戶的根目錄為/var/www/html。

chroot_list_enable=YES? ? ? #開啟chroot 功能。

chroot_list_file=/etc/vsftpd/chroot_list? #設(shè)置鎖定用戶在根目錄中的列表文件。此文件存放要鎖定的用戶名。

allow_writeable_chroot=YES?? ? #允許鎖定的用戶有寫的權(quán)限。

修改完成后保存并退出。

建立/etc/vsftpd/chroot_list 文件,添加team1 和team2 帳號

[root@xuegod63 vsftpd]# touch /etc/vsftpd/chroot_list? #創(chuàng)建chroot_list文件。

[root@xuegod63 vsftpd]# ll !$

ll /etc/vsftpd/chroot_list

-rw-r--r-- 1 root root 0 Nov 10 17:08 /etc/vsftpd/chroot_list

[root@xuegod63 vsftpd]# vim?/etc/vsftpd/chroot_list?? #寫入以下內(nèi)容,一行一個用戶名。

team1

team2

修改本地權(quán)限

[root@xuegod63 vsftpd]# ll -d /var/www/html/? #以長格式查看/var/www/html/目錄,-d選項(xiàng)用于查看目錄本身,不包含目錄下的文件。

drwxr-xr-x. 2 root root 4096 Oct ?6 ?2011 /var/www/html/

[root@xuegod63 vsftpd]# chmod -R o+w /var/www/html/? #賦予/var/www/html/目錄和該目錄下所有文件的寫權(quán)限。

[root@xuegod63 vsftpd]# ll -d /var/www/html/

drwxr-xrwx. 2 root root 4096 Oct ?6 ?2011 /var/www/html/

重啟vsftpd 服務(wù)使配置生效

[root@xuegod63 vsftpd]#?systemctl restart vsftpd

[root@xuegod63 vsftpd]# cp /etc/passwd /var/www/html/

測試

客戶端用lftp登陸查看:

root@xuegod64 ~]# lftp 192.168.1.63 -u team1,123456

lftp team1@192.168.0.63:~> ls

-rw-r--r-- ???1 0 ???????0 ???????????1384 Jul 30 01:56 passwd

lftpteam1@192.168.0.63:/> ?(查看幫助信息)

或通過filezilla測試連接及創(chuàng)建上傳文件等 ?

擴(kuò)展: 配置vsftpd,使用SSL證書加密數(shù)據(jù)傳輸

FTP與HTTP一樣缺省狀態(tài)都是基于明文傳輸,希望FTP服務(wù)器端與客戶端傳輸保證安全,可以為FTP配置SSL

4.4.1 ?使用OpenSSL生成自簽證書

[root@xuegod63?vsftpd]# openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem?-days 3650

Generating a 2048 bit RSA private key

..........................................................................................+++

.....................+++

writing new private key to 'vsftpd.pem'

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [XX]:ZH

State or Province Name (full name) []:JS

Locality Name (eg, city) [Default City]:NJ

Organization Name (eg, company) [Default Company Ltd]:XS

Organizational Unit Name (eg, section) []:XS

Common Name (eg, your name or your server's hostname) []:XS.COM

Email Address []:XS@163.COM

OpenSSL 簡單參數(shù)解釋:

req? #是 X.509 Certificate Signing Request (CSR,證書簽名請求)管理的一個命令。

x509? #X.509 證書數(shù)據(jù)管理。

days? #定義證書的有效日期。

newkey? #指定證書密鑰處理器。

keyout? #設(shè)置密鑰存儲文件。

out? #設(shè)置證書存儲文件,注意證書和密鑰都保存在一個相同的文件

4.4.2 ?創(chuàng)建證書文件存放目錄

[root@xuegod63?~]# cd /etc/vsftpd

[root@xuegod63 vsftpd]# mkdir .sslkey? #創(chuàng)建隱藏目錄存放證書文件。

[root@xuegod63 vsftpd]# mv?vsftpd.pem .sslkey/? #移動證書文件到.sslkey目錄下。

[root@xuegod63 vsftpd]#chmod 400 .sslkey/vsftpd.pem#賦予證書文件400權(quán)限。

4.4.3 ?修改配置文件,支持SSL

[root@xuegod63 vsftpd]# vim vsftpd.conf #編輯配置文件,添加配置如圖 4-14 所示。

圖 4-14 添加支持ssl配置

ssl_enable=YES????? ?#啟用SSL支持。

allow_anon_ssl=NO?

force_local_data_ssl=YES???

force_local_logins_ssl=YES

force_anon_logins_ssl=YES

force_anon_data_ssl=YES

#上面四行force 表示強(qiáng)制匿名用戶使用加密登陸和數(shù)據(jù)傳輸。

ssl_tlsv1=YES??? #指定vsftpd支持TLS v1。

ssl_sslv2=YES ?? #指定vsftpd支持SSL v2。

ssl_sslv3=YES ?? #指定vsftpd支持SSL v3。

require_ssl_reuse=NO??? #不重用SSL會話,安全配置項(xiàng)?。

ssl_ciphers=HIGH????? #允許用于加密 SSL 連接的 SSL 算法。這可以極大地限制那些嘗試發(fā)現(xiàn)使用存在缺陷的特定算法的攻擊者。

rsa_cert_file=/etc/vsftpd/.sslkey/vsftpd.pem?

rsa_private_key_file=/etc/vsftpd/.sslkey/vsftpd.pem

#定義 SSL 證書和密鑰文件的位置。

注意:上面的配置項(xiàng)不要添加到vsftpd.conf?文件最后也不要加注釋,否則啟動報(bào)錯。而且配置后不能有多余的空格。

修改完配置文件后,重啟服務(wù):

[root@xuegod63 vsftpd]# systemctl restart vsftpd

4.4.4 ?配置FileZilla客戶端驗(yàn)證

圖 4-15 配置FileZilla客戶端驗(yàn)證

提示證書認(rèn)證,點(diǎn)擊“在以后的會話中始終信任該證書”---》點(diǎn)擊“確定”如圖 4-16 所示。

圖 4-16 未知證書

連接成功,可以使用TLS加密傳輸了,如圖 4-17 所示。

如圖 4-17 使用TLS加密傳輸

4.5??NFS概述-配置NFS服務(wù)器并實(shí)現(xiàn)開機(jī)自動掛載

4.5.1??NFS服務(wù)端概述:

NFS,是Network File System的簡寫,即網(wǎng)絡(luò)文件系統(tǒng)。網(wǎng)絡(luò)文件系統(tǒng)是FreeBSD支持的文件系統(tǒng)中的一種,也被稱為NFS.NFS允許一個系統(tǒng)在網(wǎng)絡(luò)上與他人共享目錄和文件。通過使用NFS,用戶和程序可以像訪問本地文件一樣訪問遠(yuǎn)端系統(tǒng)上的文件,如圖 4-18 所示。

圖 4-18 NFS網(wǎng)絡(luò)文件系統(tǒng)拓?fù)鋱D

NFS的模式: C/S 模式

NFS監(jiān)聽的端口:?2049

CentOS7是以NFSv4作為默認(rèn)版本,NFSv4使用TCP協(xié)議(端口號是2049)和NFS服務(wù)器建立連接。

NFS是通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸?shù)?,傳輸?shù)據(jù)的端口為2049。但是由于文件系統(tǒng)非常復(fù)雜,因此NFS還有其他程序去啟動額外的端口。NFS默認(rèn)使用傳輸?shù)亩丝谑请S機(jī)選擇的小于1024的端口。將端口告知客戶端是需要依賴于RPC(remote procedure call,RPC)協(xié)議。

當(dāng)NFS服務(wù)啟動時,會隨機(jī)選取數(shù)個端口,并向RPC注冊,因此RPC就可以知道每個端口對應(yīng)的NFS功能。

RPC最主要的功能就是指定每個NFS功能所對應(yīng)的端口號,并告知客戶端。以便客戶端連接至正確的端口號。

[root@xuegod63 ~]# vim /etc/services#查看services文件,如圖 4-19 所示。

圖 4-19 NFS監(jiān)聽端口號

4.5.2 ?安裝NFS:

[root@xuegod63 ~]# yum -y install rpcbind?nfs-utils? #使用yum安裝NFS。

1. 配置文件位置:

[root@xuegod63 ~]# ls /etc/exports? #NFS的共享主目錄。

/etc/exports

2. 啟動NFS服務(wù)

[root@xuegod63 ~]# netstat -antpu | grep 2049? #先查看2049端口是否開放。

[root@xuegod63 ~]# systemctl start rpcbind? #啟動rpcbind?。

[root@xuegod63 ~]# systemctl start nfs-server.service? #啟動NFS。

#在啟動NFS之前要先啟動RPC,否則NFS就無法向RPC進(jìn)行注冊。另外如果RPC重新啟動,原來的注冊數(shù)據(jù)就會消失。所以,在重啟RPC之后,它所管理的服務(wù)都要重啟以重新向RPC注冊。

[root@xuegod63 ~]# netstat -antpu | grep 2049? ? #再次查看端口監(jiān)聽狀態(tài)

tcp ???????0 ?????0 0.0.0.0:2049 ??????????0.0.0.0:* ????????LISTEN ????-

tcp ???????0 ?????0 :::2049 ???????????????:::* ?????????????LISTEN ????+

[root@xuegod63 ~]# systemctl enable nfs-server.service? #設(shè)置NFS開機(jī)自動啟動。

3. 服務(wù)的使用方法

showmount?-e NFS服務(wù)器IP

例:

[root@xuegod64 ~]# showmount -e 192.168.1.63

Export list for 192.168.1.63:

4. 客戶端嘗試掛載:

[root@xuegod64 ~]# mount 192.168.1.63:/tmp?/opt

mount.nfs: access denied by server while mounting 192.168.1.202:/tmp

因?yàn)檫€沒有共享

5. 修改配置文件,舉例:

[root@xuegod63 ~]# vim /etc/exports

/media ?*(rw)

注意:

/media 表示共享的目錄。

* 表示對所有網(wǎng)段開放權(quán)限,也可以設(shè)置指定特定的網(wǎng)段。

(rw) 表示訪問權(quán)限。

NFS支持動態(tài)裝載配置文件:

[root@xuegod63 ~]# exportfs -rv???? #重新讀取配置文件不中斷服務(wù)。

客戶端查看:

[root@xuegod64 ~]# showmount -e 192.168.1.63

Export list for 192.168.1.63:

/media *

6. 客戶端掛載NFS服務(wù)的共享設(shè)備:

[root@xuegod64 ~]# mount -t nfs 192.168.1.63:/media/ /opt/

[root@xuegod64 ~]# df -h

Filesystem ???????????Size ?Used Avail Use% Mounted on

/dev/sda2 ????????????9.7G ?4.0G ?5.2G ?44% /

tmpfs ????????????????996M ??80K ?996M ??1% /dev/shm

/dev/sda1 ????????????485M ??39M ?421M ??9% /boot

/dev/sr0 ?????????????3.7G ?3.7G ????0 100% /mnt

192.168.0.63:/media/ ?9.7G ?4.0G ?5.3G ?43% /opt

7. 實(shí)現(xiàn)開機(jī)自動掛載NFS服務(wù)共享設(shè)備:

[root@xuegod64 ~]# vim /etc/fstab? #編輯/etc/fstab文件,在文件最后添加自動掛載的信息如圖 4-20 所示。

圖 4-20 開機(jī)自動掛載

可以重啟驗(yàn)證

8. 驗(yàn)證寫入權(quán)限:

[root@xuegod64 ~]# touch /opt/a.txt? #在NFS共享設(shè)備上創(chuàng)建文件。

touch: 無法創(chuàng)建"/opt/a.txt": 權(quán)限不夠

9. 解決方法:

設(shè)置訪問權(quán)限一般包含2部分

服務(wù)本身權(quán)限

目錄訪問權(quán)限

nfs默認(rèn)使用nfsnobody用戶

[root@xuegod63 ~]# grep nfs /etc/passwd

rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin

nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

10. 修改權(quán)限

[root@xuegod63 ~]# chmod 777 -R /media/ ??不建議

[root@xuegod63 ~]# chown nfsnobody.nfsnobody -R /media/

11. 再次驗(yàn)證寫入權(quán)限:

[root@xuegod64 ~]# touch /opt/a.txt

[root@xuegod64 ~]# ll !$

ll /opt/a.txt

-rw-r--r-- 1 nfsnobody nfsnobody 0 5月 ?24 2016 /opt/a.txt

擴(kuò)展:

以下是一些NFS共享的常用參數(shù):?

? ro??????????????????? #只讀訪問。

? rw?????????????????? #讀寫訪問。

sync????????????????#資料同步寫入到內(nèi)存與硬盤當(dāng)中。

? async??????????????#資料會先暫存于內(nèi)存當(dāng)中,而非直接寫入硬盤。

?secure???????????? #NFS通過1024以下的安全TCP/IP端口發(fā)送。

? insecure????????? #NFS通過1024以上的端口發(fā)送。

? wdelay??????????? #如果多個用戶要寫入NFS目錄,則歸組寫入(默認(rèn))。

? no_wdelay????? #如果多個用戶要寫入NFS目錄,則立即寫入,當(dāng)使用async時,無需此設(shè)置。?

? hide??????????????? #在NFS共享目錄中不共享其子目錄。

? no_hide?????????? #共享NFS目錄的子目錄。

? subtree_check?? #如果共享/usr/bin之類的子目錄時,強(qiáng)制NFS檢查父目錄的權(quán)限(默認(rèn))。?

? no_subtree_check?? #和上面相對,不檢查父目錄權(quán)限。

? all_squash?????????????? #共享文件的UID和GID映射匿名用戶anonymous,適合公用目錄。?

? no_all_squash???????? ?#保留共享文件的UID和GID(默認(rèn))。

? root_squash???????????? #root用戶的所有請求映射成如anonymous用戶一樣的權(quán)限(默認(rèn))。

? no_root_squash??????? #root用戶具有根目錄的完全管理訪問權(quán)限。

選項(xiàng)使用方法示例:

[root@xuegod63 ~]# cat /etc/exports

/tmp/a/no_root_squash??????*(rw,no_root_squash)

/tmp/a/sync???????????????192.168.0.0/24(rw,sync)

/tmp/a/ro??????????????????192.168.1.64(ro)

/tmp/a/all_squash?????????????192.168.0.0/24(rw,all_squash,anonuid=500,anongid=500)

/tmp/a/async????????????????????192.168.3.0/255.255.255.0(async)

/tmp/a/rw??????????192.168.3.0/255.255.255.0(rw)????192.168.4.0/255.255.255.0(rw)

/tmp/a/root_squash???*(rw,root_squash)????

更多學(xué)習(xí)資料請移步至公眾號【學(xué)神來啦】

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容