天天看點

linux下挂載window下共享目錄

    還記得以前裝雙系統時用ubuntu,系統是自動挂載windows下的盤符的,後來一直用RHEL,系統不自動挂載windows盤符了,因為裝的是虛拟機,一直用ssh進行檔案傳輸,卻從未想過如何在linux下挂載windows目錄, 隻知道用samba是可以的,慚愧啊。。。

    好了,不多說了,下面是如何在linux下挂載windows的共享目錄:

    首先我的虛拟機是Centos5.5,IP位址是192.168.2.100,關閉了iptables和selinux

    真實主機是WindowsXP,IP位址是192.168.2.1,共享目錄為/centos,關閉了防火牆。

    linux下共享使用的檔案系統是nfs,而windows下共享使用的檔案系統是cifs,mount指令是支援這兩種系統的,隻不過預設是nfs,而如果你要挂載windows下目錄就必須指定挂載的檔案系統為cifs

   linux下的mount指令有很多選項,其中-t 指定挂載的檔案系統。   

   mount的文法:

    mount [ -f ] [ -n Node ] [ -o Options ] [ -p ] [ -r ] [ -v VfsName ] [ -t Type | [ Device | Node:Directory ] Directory | all | -a ] [-V [generic_options] special_mount_points ]

參數:

  source:将要挂上的檔案系統,通常是一個裝置名。

  target:檔案系統所要挂在的目标目錄。

  filesystemtype:檔案系統的類型,可以是ext  ntfs  fat32 等等

        mountflags:指定檔案系統的讀寫通路标志,可能值有以下

  MS_BIND:執行bind挂載,使檔案或者子目錄樹在檔案系統内的另一個點上可視。

  MS_DIRSYNC:同步目錄的更新。

  MS_MANDLOCK:允許在檔案上執行強制鎖。

  MS_MOVE:移動子目錄樹。

  MS_NOATIME:不要更新檔案上的通路時間。

  MS_NODEV:不允許通路裝置檔案。

  MS_NODIRATIME:不允許更新目錄上的通路時間。

  MS_NOEXEC:不允許在挂上的檔案系統上執行程式。

  MS_NOSUID:執行程式時,不遵照set-user-ID和set-group-ID位。

  MS_RDONLY:指定檔案系統為隻讀。

  MS_REMOUNT:重新加載檔案系統。這允許你改變現存檔案系統的mountflag和資料,而無需使用先解除安裝,再挂上檔案系統的方式。

  MS_SYNCHRONOUS:同步檔案的更新。

  MNT_FORCE:強制解除安裝,即使檔案系統處于忙狀态。

  MNT_EXPIRE:将挂載點标志為過時。data:檔案系統特有的參數。傳回說明:成功執行時,傳回0。失敗傳回-1,errno被設為以下的某個值EACCES:權能不足,可能原因是,路徑的一部分不可搜尋,或者挂載隻讀的檔案系統時,沒有指定MS_RDONLY标志。

  EAGAIN:成功地将不處于忙狀态的檔案系統标志為過時。

  EBUSY:一.源檔案系統已被挂上。或者不可以以隻讀的方式重新挂載,因為它還擁有以寫方式打開的檔案。二.目标處于忙狀态。

  EFAULT:記憶體空間通路出錯。

  EINVAL:操作無效,可能是源檔案系統超級塊無效。

  ELOOP:路徑解析的過程中存在太多的符号連接配接。

  EMFILE:無需塊裝置要求的情況下,無用裝置表已滿。

  ENAMETOOLONG:路徑名超出可允許的長度。

  ENODEV:核心不支援某中檔案系統。

  ENOENT:路徑名部分内容表示的目錄不存在。

  ENOMEM:核心記憶體不足。

  ENOTBLK:source不是塊裝置。

  ENOTDIR:路徑名的部分内容不是目錄。

  EPERM:調用者權能不足。

  ENXIO:塊主裝置号超出所允許的範圍。

       mount的具體選項就不贅述了。下面舉例如何挂載windows下/centos目錄

    首先打開nfs服務和portmap服務

    #service nfs start

    #service portmap start

    然後挂載(隻有root才能挂載)

繼續閱讀