Ⅰ linux搭建NFS伺服器
作者:SpookZanG
linux搭建NFS伺服器
一、什麼是NFS服務
NFS是Network
File
System的簡寫,即網路文件系統.
網路文件系統是FreeBSD支持的文件系統中的一種,也被稱為NFS.
NFS允許一個系統在網路上與它人共享目錄和文件。通過使用NFS,用戶和程序可以象訪問本地文件一樣訪問遠端系統上的文件。
二、NFS的優勢
1.本地工作站使用更少的磁碟空間,因為通常的數據可以存放在一台機器上而且可以通過網路訪問到。
2.用戶不必在每個網路上機器里頭都有一個home目錄。Home目錄
可以被放在NFS伺服器上並且在網路上處處可用。
3.諸如軟碟機,CDROM,和
Zip®
之類的存儲設備可以在網路上面被別的機器使用。這可以減少整個網路上的可移動介質設備的數量。
NFS至少有兩個主要部分:一台伺服器和一台(或者更多)客戶機。客戶機遠程訪問存放在伺服器上的數據。為了正常工作,一些進程需要被配置並運行。
三、NFS的搭建
1、伺服器端
安裝NFS的服務程序
yum
install
-y
nfs-utils
寫配置文件
寫入
/music
192.168.0.0/255.255.255.0(rw,sync)
格式是:
要共享的目錄
共享的IP及掩碼或者域名(許可權,同步更新)
啟動服務
/etc/init.d/portmap
restart
/etc/init.d/nfs
restart
chkconfig
nfs
on
chkconfig
portmap
on
然後關閉防火牆以及更改Selinux關於NIS的選項
/etc/init.d/iptables
stop
(防護牆服務關閉)
chkconfig
iptables
off
system-config-selinux
(設置selinux)
2、客戶端
編輯fstab文件,實現開機自動掛載
mount
-t
nfs
IP:/目錄
掛載到的目錄
(此為臨時掛載)
如:mount
-t
nfs
192.168.0.9:/doce
/doc
編輯FSTAB文件
vim
/etc/init.d/fstab
IP:/目錄
掛載到的目錄
nfs
defaults
0
0
然後關閉防火牆以及更改Selinux關於NIS的選項
/etc/init.d/iptables
stop
(防護牆服務關閉)
chkconfig
iptables
off
system-config-selinux
(設置selinux)
至此,搭建完畢。
Ⅱ 誰有下linux在ubantu下nfs,tftp,minicon的安裝配置啟動和測試的步驟,求幫助
配置tftp
配置tftp服務的步驟:
1、安裝相關軟體包:tftpd(服務端),tftp(客戶端),xinetd
sudo apt-get install tftpd tftp xinetd
2、建立配置文件
在/etc/xinetd.d/下建立一個配置文件tftp
sudo vi tftp
在文件中輸入以下內容:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
保存退出
3、建立tftp服務文件目錄(上傳文件與下載文件的位置),
並且更改其許可權
sudo mkdir /tftpboot
sudo chmod 777 /tftpboot -R
4、重新啟動服務
sudo /etc/init.d/xinetd restart
至此tftp服務已經安裝完成了,下面可以對其進行一下測試。
(假設在當前目錄下有一個測試文件test.txt)
$tftp 127.0.0.1
tftp> put test.txt
Sent 1018 bytes in 0.0 seconds
tftp> get test.txt
Received 1018 bytes in 0.1 seconds
tftp> quit
$
通過get命令,可以把當前目錄下的test.txt文件,
通過tftp上傳到它的服務文件目錄。
這時,在/tftpboot下面會出現test.txt文件。
通過put命令,可以從/tftpboot下,下載test.txt文件。
這樣就驗證了tftp服務配置的正確性。
當文件上傳與下載結束後,可以通過quit命令退出。
嚴格按照以上步驟配置tftp服務,一般都可以成功。
如果出現無法get或者put的時候,可以查看一下防火牆是否關閉。
配置nfs伺服器
在ubuntu下安裝、配置nfs服務的步驟如下:
1、安裝nfs
Ubuntu上默認是沒有安裝nfs伺服器的,因此我們首先安裝nfs伺服器端:
$sudo apt-get install nfs-kernel-server
在一些文檔中,提出還需要使用apt-get來手動安裝nfs的客戶端nfs-common,
以及埠映射器portmap,
但其實這是沒有必要的,因為在安裝nfs-kernel-server時,
apt會自動為我們把它們安裝好。
2、配置/etc/exports
nfs允許掛載的目錄及許可權在文件/etc/exports中進行了定義。
例如,我們要將根目錄下的rootfs目錄共享出來,
那麼我們需要在/etc/exports文件末尾添加如下一行:
/rootfs *(rw,sync,no_root_squash)
其中:/rootfs是要共享的目錄,
*代表允許所有的網路段訪問,
rw是可讀寫許可權,
sync是資料同步寫入內存和硬碟,
no_root_squash是nfs客戶端分享目錄使用者的許可權,
如果客戶端使用的是root用戶,那麼對於該共享目錄而言,
該客戶端就具有root許可權。
其它nfs常用的參數有:
ro 只讀訪問
rw 讀寫訪問sync 所有數據在請求時寫入共享
async nfs在寫入數據前可以響應請求
secure nfs通過1024以下的安全TCP/IP埠發送
insecure nfs通過1024以上的埠發送
wdelay 如果多個用戶要寫入nfs目錄,則歸組寫入(默認)
no_wdelay 如果多個用戶要寫入nfs目錄,則立即寫入,
當使用async時,無需此設置。
hide 在nfs共享目錄中不共享其子目錄
no_hide 共享nfs目錄的子目錄
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
3、重啟服務
$sudo /etc/init.d/portmap restart
$sudo /etc/init.d/nfs-kernel-server restart
4、測試nfs
此時可以運行以下命令來顯示一下共享出來的目錄:
$showmount -e
或者可以使用以下命令把它掛載在本地磁碟上,例如將/rootfs掛載到/mnt下:
$ sudo mount -t nfs localhost:/rootfs /mnt
可以運行df命令查看是否掛載成功。查看後可以使用以下命令卸載:
$ sudo umount /mnt
用指令"rpm -qa | grep minicom"來確認是否安裝了minicom,回車後會顯示minicom 的版本信息
#minicom -s
啟動
出現配置菜單:選serial port setup
進入串口配置
輸入A配置串口驅動為/dev/ttyS0
輸入E配置速率為115200 8N1
輸入F將 Hardware Flow Control 設 為 NO
回車 退出
在配置菜單 選Save setup as df1保存(一定要記得這一步)
選Exit退出
下次在輸入minicon 即可直接進入。
命令minicom是進入串口超級終端畫面,而minicom -s為配置minicom。
說明/dev/ttyS0 對應為串口0 為你連接開發板的埠。
注意:非正常關閉minicom,會在/var/lock下創建幾個文件LCK*,這幾個文件阻止了minicom的運行,將它們刪除後即可恢復
Ⅲ linux下Samba服務和NFS服務配置的方法
linux下Samba服務和NFS服務配置
一、Samba服務配置過程
samba的功能很簡單,就是為了使linux和windows之間能夠實現共享。並且利用samba搭建文件伺服器,不僅比windows功能強大,而且訪問速度快、安全。首先說明,samba伺服器需要兩個守護進程:smbd和nmbd。smbd進程監聽139TCP埠,處理到來的SMB數據包;nmbd進程監聽137、138UDP埠,使其他主機能瀏覽linux伺服器。
1、安裝Samba服務
首先用命令測試rpm -qi samba看是否安裝了Samba軟體包,若沒有可以用yum install samba在線安裝(fedora 11環境下)。
2、啟動Samba服務
安裝完成後,使用service smb start 命令啟動samba服務。如果想讓samba服務開機自動載入,可使用ntsysv命令(或setup命令中的system service選項)打開開機自動載入的服務,並勾選smb,確定後即可實現開機載入samba服務。
3、關閉防火牆
默認情況下防火牆關閉了139 TCP埠,也關閉了nmbd進程所需要的137、138埠。所以我們使用命令service iptables stop命令關閉防火牆。也可對防火牆進行修改,放行TCP139 UDP 137、138埠。
4、配置samba服務
samba服務的配置文件是 /etc/samba/smb.conf,使用VI編輯器打開vi /etc/samba/smb.conf文件,對samba進行配置
smb.conf文件中包括4中結構,【Global】、【Homes】、【printers】、【Userdefined_shareName】,其中:
Globa用於定義全局參數和預設值
Homes用於用戶的home目錄共享
Printers用於定義列印機共享
Userdefined_ShareName用於自定義共享(可有多個)
說明:文件中開頭帶有「#」為說明文件,不執行。 開頭帶有「;」為舉例文件,不執行(若想讓其執行,去掉「;」)。
配置全局參數【Global】
◎基本全局參數
workgroup=MYGROUP 設置samba要加入的工作組
server string =Samba Service 指定瀏覽列表裡的機器描述
netbios name=fedora 設置samba的NetBIOS名字 (需要自己添加)
client code page=936 設置客戶字元編碼 936為簡體中文(需要自己添加)
◎日誌全局參數
log file 指定日誌文件的名稱
max log size=50 指定日誌文件的最大尺寸(KB)
◎安全全局參數
security 定義samba的安裝等級,share--用戶不需要用戶名和密碼即可登陸samba伺服器;user--由提供samba服務的samba伺服器負責檢查帳戶及口令;server--檢查帳戶及口令的工作指定由另一台WindowsNT/2000或samba伺服器負責;domain--指定windowsNT/2000域控制器來驗證用戶帳戶、密碼
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
這兩行用於設定是否對samba密碼進行加密,並指定加密文件存放路徑.
◎配置自定義共享
自定義共享,只需在文件最後加入【share】,名字隨便取。其中一的參數我們來依依介紹
comment 描述該共享的名稱
path 定義該共享的目錄
browseable 指定共享的目錄是否可瀏覽
writable 指定共享的目錄是否有寫入許可權
read only 指定共享的目錄為只讀許可權
public 指定是否可以允許Guest帳戶訪問
guest ok 通public相同,yes為允許guest訪問
only guest 指定只有guest用戶可以訪問
calid users 指定訪問該共享的用戶
如:comment =my share
path =/home/share
browseable =yes
read only =yes
public =yes
only guest =yes
◎配置完成後的工作
在配置完成後,我們只需新建path定義的共享目錄mkdir /home/share,
並使用chmod命令設置了其許可權為777,chmod 777 /home/share。
這樣在service smb restart重啟smb服務後客戶端就可以訪問該伺服器(我修改了全局參數中的security=share,所以進入伺服器不需要輸入用戶名和密碼)。在windows下運行中運行://192.168.1.6(linux的IP地址)即可。
二、NFS服務配置過程
1、NFS伺服器的安裝
檢查linux系統中是否安裝了nfs-utils和portmap兩個軟體包,#rpm –q nfs-utils(portmap)
2、查看NFS伺服器是否啟動
#service nfs status
#service portmap status
如果伺服器沒有啟動,則開啟服務(默認服務下nfs沒有完全開啟)
#service nfs start
#service portmap start
也可以在ntsysv命令下關閉iptable和開啟nfs讓其自啟動。
3、指定NFS伺服器的配置文件
NFS伺服器的配置文件保存「/etc/」目錄中,文件名稱是「exports」,該文件用於被指NFS伺服器提供的目錄共享
#vi /etc/exports
配置「exports」文件格式如下
/tftpboot *(sync,ro)
tftp:共享目錄名
* 表示所有主機
(sync,ro) 設置選項
exports文件中的「配置選項」欄位放置在括弧對(「( )」)中 ,多個選項間用逗號分隔
sync:設置NFS伺服器同步寫磁碟,這樣不會輕易丟失數據,建議所有的NFS共享目錄都使用該選項
ro:設置輸出的共享目錄只讀,與rw不能共同使用
rw:設置輸出的共享目錄可讀寫,與ro不能共同使用
4、重新輸出共享目錄
Exportfs管理工具可以對「exports」文件進行管理
#exportfs –rv 可以讓新設置的「exports」文件內容生效
顯示當前主機中NFS伺服器的輸出列表
# showmount -e
顯示當前主機NFS伺服器中已經被NFS客戶機掛載使用的共享目錄
# showmount -d
5、使用mount命令掛載NFS文件系統
#mount 192.168.1.6:/tftpboot /home/share
將主機IP地址為192.168.1.6中的/tftpboot目錄掛載到/home/share
卸載系統中已掛載的NFS共享目錄
# umount /home/share
卸載的時候不能在/home/share目錄下卸載,必須注銷系統後卸載。
PS:
如果portmap進程停止了運行或異常終止,那麼該系統上的所有RPC伺服器必須重新啟動。首先停止NFS伺服器上的所有NFS服務進程,然後啟動portmap進程,再啟動伺服器上的NFS進程。
但portmap只在第一次建立連接的時候起作用,幫助網路應用程序找到正確的通訊埠,但是一旦這個雙方正確連接,埠和應用就綁定,portmap也就不起作用了。但對其他任何第一次需要找到埠建立通訊的應用仍然有用。簡單的說,portmap就是應用和埠的婚姻介紹人,雙方成事了以後,媒婆就沒用了。
Ⅳ 如何從NFS啟動Linux及原理
首先我們要明確我們所指的程序,是放在有目錄級結構的文件系統里,為了尋找到所需要操作系統來運行的程序,我們必須告訴它,文件在哪個文件系統。一 般來說,PC機的文件就存儲在硬碟上;對於Live CD而言,文件系統就藏在光碟上面。也就是說,只要操作系統能找到並正確地認識了文件系統,就可以執行裡面的程序了!
設置目標機器上的NFS啟動
看完了第一節,明白啟動的過程了嗎? 簡單地說,就是內核載入 ,內核找到一個文件系統 ,內 核執行文件系統里的一個程序 。無論是從NFS啟動,還是從硬碟啟動,都是上述過程。只是NFS啟動,其文件系統是放在網路上的。只要我 們告訴內核,具體放在什麼地方,在網路的另一端我們設置好共享,自然可以從NFS啟動。
讓內核識別NFS並可從NFS啟動
編譯內核
在內核源代碼目錄樹下,配置內核:
$make menuconfig
依次進入 File Systems -> Network File System中選擇 NFS client support 以及 Root file system on NFS。如果找不到Root file system on NFS 選項,要打開第一級菜單下的Networking support -> Networking options -> TCP/IP networking -> IP: kernel level autoconfiguration。如果NFS要使用DHCP,還得選上 IP: DHCP support。
保存配置並重新編譯即可。
配置內核參數
進入ARM開發板的設置 linux_cmd_line的地方(mini2440則為開機按 s,輸入linux_cmd_line,並帶著引號輸入參數),或者進入PC的GRUB,設置類似參數
root=/dev/nfs rw nfsroot=192.168.1.1:/linux ip=192.168.1.5:::255.255.255.0:linux::off
該配置為靜態IP設置。各參數意義如下:
root=/dev/nfs :指定根文件系統為 /dev/nfs,即NFS 。這與/dev這個目錄並沒有什麼關系,在此僅為一個名字。
rw :根文件系統掛載為可讀寫。還可以有 ro 即只讀的選項。
nfsroot=192.168.1.1:/linux :指明掛載哪一個NFS上的哪一個目錄。這里指的是掛載IP 為192.168.1.1的電腦上導出的/linux目錄。
ip=192.168.1.5:::255.255.255.0:linux::off :設置本機的IP。此舉是為了 連接剛才設置的IP。這里是一個靜態的配置,配置的格式為 ip=本機的IP地址::網關地址:網路掩碼:本機的主機名:網路介面名:off 。一般情況下網關、網路介面名都不需要設置。如果是DHCP獲取IP,那很簡單,直接 ip=dhcp 即可。
設置NFS伺服器
Ubuntu下看鏈接:http://blog.mcuol.com/User/xiaoxiaopig/article/37324_1.htm
NFS伺服器可以是任意操作系統,只要能提供NFS服務即可(WINDOWS可以使用 WSU —— Windows Services for Unix來實現,具體請參考接下來本站要發表的文章)。在這里以Fedora為例,希望別的發行版的用戶觸類旁通。
對於Fedora來說,有圖形界面的工具進行設置,在管理-》伺服器設置-》NFS中添加一個共享即可。
更通用的作法,就是修改 /etc/exports文件,之後再啟動NFS伺服器。
/etc/exports文件格式如下
導出的文件夾 導出的網段(對該導出的網段的選項)
所謂導出的網段就是只向哪個網段導出,保證安全性。一個例子為:
/linux 192.168.1.0/24(rw,sync,no_root_squash)
就是將 /linux 導出到網段為192.168.1.0,子網掩碼為255.255.255.0 (即24)的網路。其中可用的選項為(翻譯自man文檔):
secure和insecure : secure選項下,所有連接的埠均小於1024。默認打開。
rw和ro : Read/Write和Read Only
async和sync async將使用非同步數據存取,數據並非馬上寫入伺服器的。sync則相反。使用async需要注意伺服器不能隨意不正常地關閉,否則可能導致數據丟失。
no_wdelay :不使用延遲寫入。NFS伺服器會將寫入寫入請求緩沖起來,可以提高性能。如果async已經打開那麼該選項無效。
no_subtree_check :不進行子樹檢查(使用該選項易引起安全問題)
root_squash和no_root_squash、all_squash :root_squash選項使得客戶端以root許可權訪問 文件系統時,轉換為伺服器端的匿名用戶。這選項打開一定要設置好伺服器的許可權。
之後再重新啟動NFS服務。Fedora下使用 /etc/init.d/nfs restart
使用 exports查看導出的文件。
Ⅳ 關於linux下nfs服務的/etc/exports的配置
將/nfsroot這個目錄共享給*(所有人),然後是許可權
第一個參數: rw: 可擦寫的許可權 ;ro: 只讀的許可權。
第二個參數: sync: 資料同步寫入到內存與硬碟當中 ;async: 資料會先暫存於內存當中,而非直接寫入硬碟。
第三個參數: 1、no_root_squash: 登入 NFS 主機使用分享目錄的使用者,如果是 root 的話,那麼對於這個分享的目錄來說,他就具有root 的許可權!這個項目極不安全,不建議使用!
2、root_squash: 在登入 NFS 主機使用分享之目錄的使用者如果是 root 時,那麼這個使用者的許可權將被壓縮成為匿名使用 者,通常他的 UID 與 GID 都會變成 nobody 那個身份。