Linux三大共享文件的方法
1. Samba
Samba 用於Linux 和windows之間的共享,ubuntu里面默認沒有安裝samba
在安裝好samba之后,就用開始配置samba服務:
Samba服務器主要配置文件為/etc/samba/smb.conf,並且可以將NetBIOS名與主機的對應關系寫在/etc/samba /lmhosts文件中。
在Windows系統中不用輸入密碼訪問Linux共享目錄
在Linux共享一個目錄,將建立好的目錄的設置信息寫入/etc/smb.conf文件即可。如:若共享/home/myth/share目錄,要在 Windows系統中訪問這個共享的目錄,假設Windows主機的IP為192.168.0.11,Linux主機的IP為192.168.0.10,進行 如下操作:
#mkdir /home/myth/share
#sudo vim /etc/samba/smb.conf
或者使用 sudo gedit /etc/samba/smb.conf 打開配置文件
將文件中的內容做如下相應修改:
#security=user 后面添加:
security=share
在文件結尾添加如下行:
[share]
comment=this is Linux share directory
path=/home/myth/share
public=yes
writable=yes
保存退出,啟動Samba服務:
#/etc/init.d/samba start
設置完成!
在Windows 下訪問共享目錄,可點擊運行,輸入
\\192.168.0.10\share
這樣就能以匿名用戶訪問共享目錄share了。
關於windows下無寫權限:chmod -R go+rwx share/
(圖形化設置為:系統 -> 管理 -> samba 進行設置)
2. NFS (Network File Service)
NFS用於Linux系統之間的文件共享
(1) 實驗環境,主機Ubuntu 9.04,VMware 6.5,虛擬機Ubuntu 9.04
(2) 在主機上安裝nfs服務軟件,因為Ubuntu默認是沒有安裝的
$sudo aptitude install nfs-kernel-server
或使用新立德包管理器安裝
(3) 在虛擬機上安裝nfs客戶端
$sudo apt-get install nfs-common
(4) 假設虛擬機使用的是橋接,IP地址為10.1.60.34即和主機在一個網段內。
(5) 修改nfs配置文件/etc/exports,添加如下一行
/home/yourname/sharedir 10.1.60.34(rw,sync,no_root_squash)
第一個參數是你要讓客戶機訪問的目錄,第二個是你允許的主機IP,最后的()內是訪問控制方式。
(6) 注意,上面的主機IP不能使用*來通配,否則在客戶機上會出現訪問拒絕,但是如果我們要設置局域網訪問呢?怎么辦,使用子網掩碼例如:10.1.60.0/255.255.254.0即可讓10.1.60.*和10.1.61.*都可以訪問,還可以使用10.1.60/23這種方式類確定子網。
(7) 在主機上啟動NFS服務
測試配置文件
$ sudo exportfs -r
$sudo /etc/init.d/portmap start
$sudo /etc/init.d/nfs-kernel-server start
(8) 在客戶端連接主機
$sudo mount 主機IP:/home/yourname/sharedir ~/nfsshare
注意,nfsshare必須先存在。
(9) 我們還可以設置允許的主機
修改/etc/hosts.allow即可,其實不用修改,只要在/etc/exports中指明了主機就可以了
啟動nfs出現以下錯誤,前提防火牆已經關閉,其他機器有mount要先umount掉
# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [FAILED]
出現后需要重啟nfs
/etc/init.d/portmap stop
/etc/init.d/nfs stop
查看進程依然存在
# ps -ef | grep nfs
root 13282 177 0 17:10 ? 00:00:00 [nfsd4]
root 13290 1 0 17:10 ? 00:00:00 [nfsd]
root 13291 1 0 17:10 ? 00:00:00 [nfsd]
root 13392 177 0 17:10 ? 00:00:00 [nfsiod]......
手動kill掉所有進程,一定要確認kill掉全部
kill -9 13282 && kill -9 13290 && kill -9 13291 && .....
再次確認沒有了進程
# ps -ef | grep nfs
開啟nfs服務ok
/etc/init.d/portmap start
/etc/init.d/nfs start (也可以用: service nfs start 命令)
3.tftp形式進行共享
首先查看是否已經安裝好了tftp服務器:rmp -qa | grep tftp-server
配置文件:vim /etc/xinetd.d/ftfp
修改 server_args -s 為 -s /tftpboot
disable 為 no
啟動tftp服務:
service xinetd restart 或者/etc/init.d/xinetd restart 重啟服務
netstat -a | grep tftp 查看tftp是否啟動,啟動的結果為:udp 0 0 *:tftp *:*