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

全套學(xué)習(xí)資料移步至公眾號(hào)【學(xué)神來(lái)啦】

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

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

?4.2 ?安裝配置VSFTP

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

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

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

服務(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)上提供文件存儲(chǔ)和訪問(wèn)服務(wù)的計(jì)算機(jī),它們依照FTP協(xié)議提供服務(wù)。

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

常見(jiàn)FTP服務(wù)器:

Windows:Serv-U?、FTP Server肖方、filezilla_server

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

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

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

特點(diǎn):

它是一個(gè)安全比吭、高速、穩(wěn)定的FTP服務(wù)器姨涡。

VSFTP模式: C/S 模式

監(jiān)聽(tīng)端口:20衩藤、21

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

圖 4-1 FTP端口

FTP監(jiān)聽(tīng)的端口有兩個(gè):

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

端口21:用于傳輸指令

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

主動(dòng)和被動(dòng)模式:

FTP會(huì)話包含了兩個(gè)通道赏表,控制通道和數(shù)據(jù)傳輸通道,F(xiàn)TP的工作有兩種模式匈仗,一種是主動(dòng)模式瓢剿,一種是被動(dòng)模式,以FTP Server為參照锚沸,主動(dòng)模式跋选,服務(wù)器主動(dòng)連接客戶端傳輸,被動(dòng)模式哗蜈,等待客戶的連接前标。

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

FTP客戶端連接到FTP服務(wù)器的21號(hào)端口,發(fā)送用戶名和密碼距潘,客戶端隨機(jī)開(kāi)放一個(gè)端口(1024以上)炼列,發(fā)送PORT命令到FTP服務(wù)器,告知服務(wù)器客戶端采用主動(dòng)模式并開(kāi)放端口音比,F(xiàn)TP服務(wù)器收到PORT主動(dòng)模式命令和端口后俭尖,通過(guò)服務(wù)器的20號(hào)端口和客戶端開(kāi)放的端口連接,發(fā)送數(shù)據(jù)洞翩,原理如圖 4-2 所示稽犁,(無(wú)論是主動(dòng)還是被動(dòng)模式,首先的控制通道都是先建立起來(lái)骚亿,只是在數(shù)據(jù)傳輸模式上的區(qū)別)

圖 4-2 FTP主動(dòng)模式工作原理圖

被動(dòng)模式的工作原理:

PASV是Passive的縮寫已亥,中文成為被動(dòng)模式,工作原理:FTP客戶端連接到FTP服務(wù)器所監(jiān)聽(tīng)的21號(hào)端口来屠,發(fā)送用戶名和密碼虑椎,發(fā)送PASV命令到FTP服務(wù)器震鹉,服務(wù)器在本地隨機(jī)開(kāi)放一個(gè)端口(1024以上),然后把開(kāi)放的端口告知客戶端捆姜,而后客戶端再連接到服務(wù)器開(kāi)放的端口進(jìn)行數(shù)據(jù)傳輸传趾,原理如圖 4-3 所示。

圖 4-3 FTP被動(dòng)模式工作原理圖

主 ???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 是一個(gè)功能強(qiáng)大的下載工具珊豹,它支持訪問(wèn)文件的協(xié)議: ftp镊讼、ftps、http平夜、https、hftp(其中ftps和https需要在編譯的時(shí)候包含openssl庫(kù))卸亮,lftp的界面非常類似一個(gè)Shell忽妒,有命令補(bǔ)全、歷史記錄兼贸、允許多個(gè)后臺(tái)任務(wù)執(zhí)行等功能段直,使用起來(lái)非常方便。它還有書簽溶诞、排隊(duì)鸯檬、鏡像、斷點(diǎn)續(xù)傳螺垢、多進(jìn)程下載喧务、等功能。

4.2.2??配置文件位置:

vsftpd 相關(guān)文檔:

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

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

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

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

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

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

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

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

4.2.3?啟動(dòng)服務(wù)

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

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

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

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

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

思考:以上內(nèi)容中說(shuō)明FTP監(jiān)聽(tīng)兩個(gè)端口隙袁,但目前FTP已經(jīng)啟動(dòng)了痰娱,但經(jīng)過(guò)查看,只查看到21號(hào)端口菩收,還有20號(hào)端口沒(méi)有查看到梨睁?

是因?yàn)闆](méi)有數(shù)據(jù)傳輸,20號(hào)端口是用于傳輸數(shù)據(jù)的娜饵,所以20號(hào)端口是尚未開(kāi)啟坡贺,如有數(shù)據(jù)傳輸時(shí),20號(hào)端口則會(huì)開(kāi)啟箱舞。

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

Linux系統(tǒng):以xuegod63主機(jī)示例(即服務(wù)端遍坟、客戶端為一臺(tái)主機(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):

通過(guò)瀏覽器訪問(wèn)或 打開(kāi)文件夾愿伴,在地址欄輸入地址:ftp://192.168.1.63/,如圖4-5 所示电湘。

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

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

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

分析:

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

4.3??允許匿名用戶訪問(wèn)

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

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

[root@xuegod63 vsftpd]# cp vsftpd.conf{,.bak} #使用命令展開(kāi)式,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

測(cè)試:提示不能寫,如圖 4-8所示分俯。

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

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

再次測(cè)試缸剪,結(jié)果:可以新建文件夾吗铐,但是不能重命名,不能刪除杏节!

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

anon_other_write_enable=YES??? #默認(rèn)沒(méi)有,需要手動(dòng)添加下這行(匿名帳號(hào)可以有寫的權(quán)限)镊逝。

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

[root@xuegod63 vsftpd]#?systemctl restart vsftpd

可以刪除文件夾了,這個(gè)參數(shù)對(duì)匿名用戶來(lái)說(shuō)權(quán)限太大撑蒜,不安全歹啼,使用這個(gè)參數(shù)需要考慮安全性。

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

4.4??用戶名密碼方式訪問(wèn)VSFTP

例4.2:

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

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

帳號(hào)進(jìn)行管理。先要求僅允許team1 和team2 帳號(hào)登錄FTP 服務(wù)器囚霸,但不能登錄本地系統(tǒng)腰根,并將兩個(gè)帳號(hào)的根目錄限制為/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)對(duì)網(wǎng)站的維護(hù),為了增強(qiáng)安全性压固,首先需要使用僅允許本地用戶訪問(wèn)球拦,并禁止匿名用戶登錄。其次使用chroot 功能將team1和team2 鎖定在/var/www/html 目錄下帐我。如果需要?jiǎng)h除文件則還需要注意本地權(quán)限坎炼。

解決方案:

建立維護(hù)網(wǎng)站內(nèi)容的ftp 帳號(hào)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? ? ? #開(kāi)啟chroot 功能梅掠。

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

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

修改完成后保存并退出酪我。

建立/etc/vsftpd/chroot_list 文件,添加team1 和team2 帳號(hào)

[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)容都哭,一行一個(gè)用戶名。

team1

team2

修改本地權(quán)限

[root@xuegod63 vsftpd]# ll -d /var/www/html/? #以長(zhǎng)格式查看/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/

測(cè)試

客戶端用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:/> 穆趴?(查看幫助信息)

或通過(guò)filezilla測(cè)試連接及創(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 簡(jiǎn)單參數(shù)解釋:

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

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

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

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

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

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

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

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

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

[root@xuegod63 vsftpd]# mv?vsftpd.pem .sslkey/? #移動(dòng)證書文件到.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會(huì)話,安全配置項(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?文件最后也不要加注釋抬探,否則啟動(dòng)報(bào)錯(cuò)。而且配置后不能有多余的空格帆赢。

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

[root@xuegod63 vsftpd]# systemctl restart vsftpd

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

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

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

圖 4-16 未知證書

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

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

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

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

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

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

NFS的模式: C/S 模式

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

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

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

當(dāng)NFS服務(wù)啟動(dòng)時(shí)椰弊,會(huì)隨機(jī)選取數(shù)個(gè)端口许溅,并向RPC注冊(cè),因此RPC就可以知道每個(gè)端口對(duì)應(yīng)的NFS功能秉版。

RPC最主要的功能就是指定每個(gè)NFS功能所對(duì)應(yīng)的端口號(hào)贤重,并告知客戶端。以便客戶端連接至正確的端口號(hào)清焕。

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

圖 4-19 NFS監(jiān)聽(tīng)端口號(hào)

4.5.2 ?安裝NFS:

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

1. 配置文件位置:

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

/etc/exports

2. 啟動(dòng)NFS服務(wù)

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

[root@xuegod63 ~]# systemctl start rpcbind? #啟動(dòng)rpcbind?筛峭。

[root@xuegod63 ~]# systemctl start nfs-server.service? #啟動(dòng)NFS铐刘。

#在啟動(dòng)NFS之前要先啟動(dòng)RPC,否則NFS就無(wú)法向RPC進(jìn)行注冊(cè)影晓。另外如果RPC重新啟動(dòng)镰吵,原來(lái)的注冊(cè)數(shù)據(jù)就會(huì)消失。所以挂签,在重啟RPC之后疤祭,它所管理的服務(wù)都要重啟以重新向RPC注冊(cè)。

[root@xuegod63 ~]# netstat -antpu | grep 2049? ? #再次查看端口監(jiān)聽(tīng)狀態(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開(kāi)機(jī)自動(dòng)啟動(dòng)饵婆。

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)檫€沒(méi)有共享

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

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

/media ?*(rw)

注意:

/media 表示共享的目錄。

* 表示對(duì)所有網(wǎng)段開(kāi)放權(quán)限侨核,也可以設(shè)置指定特定的網(wǎng)段草穆。

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

NFS支持動(dòng)態(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)開(kāi)機(jī)自動(dòng)掛載NFS服務(wù)共享設(shè)備:

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

圖 4-20 開(kāi)機(jī)自動(dòng)掛載

可以重啟驗(yàn)證

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

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

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

9. 解決方法:

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

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

目錄訪問(wè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??????????????????? #只讀訪問(wèn)些己。

? rw?????????????????? #讀寫訪問(wèn)豌鸡。

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

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

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

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

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

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

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

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

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

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

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

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

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

? no_root_squash??????? #root用戶具有根目錄的完全管理訪問(wèn)權(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í)資料請(qǐng)移步至公眾號(hào)【學(xué)神來(lái)啦】

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市脂男,隨后出現(xiàn)的幾起案子养叛,更是在濱河造成了極大的恐慌,老刑警劉巖宰翅,帶你破解...
    沈念sama閱讀 216,324評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弃甥,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡汁讼,警方通過(guò)查閱死者的電腦和手機(jī)淆攻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)嘿架,“玉大人瓶珊,你說(shuō)我怎么就攤上這事∷时耄” “怎么了伞芹?”我有些...
    開(kāi)封第一講書人閱讀 162,328評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)搜囱。 經(jīng)常有香客問(wèn)我丑瞧,道長(zhǎng)柑土,這世上最難降的妖魔是什么蜀肘? 我笑而不...
    開(kāi)封第一講書人閱讀 58,147評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮稽屏,結(jié)果婚禮上扮宠,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好坛增,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布获雕。 她就那樣靜靜地躺著,像睡著了一般收捣。 火紅的嫁衣襯著肌膚如雪届案。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,115評(píng)論 1 296
  • 那天罢艾,我揣著相機(jī)與錄音楣颠,去河邊找鬼。 笑死咐蚯,一個(gè)胖子當(dāng)著我的面吹牛童漩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播春锋,決...
    沈念sama閱讀 40,025評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼矫膨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了期奔?” 一聲冷哼從身側(cè)響起侧馅,我...
    開(kāi)封第一講書人閱讀 38,867評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎能庆,沒(méi)想到半個(gè)月后施禾,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,307評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡搁胆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評(píng)論 2 332
  • 正文 我和宋清朗相戀三年弥搞,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渠旁。...
    茶點(diǎn)故事閱讀 39,688評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡攀例,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出顾腊,到底是詐尸還是另有隱情粤铭,我是刑警寧澤,帶...
    沈念sama閱讀 35,409評(píng)論 5 343
  • 正文 年R本政府宣布杂靶,位于F島的核電站梆惯,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏吗垮。R本人自食惡果不足惜垛吗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望烁登。 院中可真熱鬧怯屉,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,657評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至羡儿,卻和暖如春礼患,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背掠归。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,811評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工讶泰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拂到。 一個(gè)月前我還...
    沈念sama閱讀 47,685評(píng)論 2 368
  • 正文 我出身青樓痪署,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親兄旬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子狼犯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容