ubuntu開機自動掛載的ntfs硬盤

ubuntu開機自動掛載的FTFS

ps:實際中,我在ubuntu11.xx - ubuntu 14.10中實際應用都沒有這麼複雜很簡單的就搞定了,這麼多權限控制,可能有點多餘,或者說安全性我還是知道的不多

linux操作系統中, 掛載是一個非常重要的功能,使用非常頻繁。 它指將一個設備(通常是存儲設備)掛接到一個已存在的目錄上。 (這個目錄可以不爲空,但掛載後這個目錄下以前的內容將不可用。) 需要理解的是, linux操作系統將所有的設備都看作文件, 它將整個計算機的資源都整合成一個大的文件目錄。 我們要訪問存儲設備中的文件,必須將文件所在的分區掛載到一個已存在的目錄上, 然後通過訪問這個目錄來訪問存儲設備。

掛載條件:

  1、掛載點必須是一個目錄。

  2、一個分區掛載在一個已存在的目錄上,這個目錄可以不爲空,但掛載後這個目錄下以前的內容將不可用。對於其他操作系統建立的文件系統的掛載也是這樣。

Ctrl + Alt + T 打開終端,輸入以下命令:sudo fdisk -l

查看硬盤的分區情況,如下(本人的,僅作爲實例)

Disk /dev/sda: 320.1 GB, 320072933376 bytes

255 heads, 63 sectors/track, 38913 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x624aa2e0

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1        2612    20980858+   7  HPFS/NTFS

/dev/sda2            2613        7834    41945715    7  HPFS/NTFS

/dev/sda3            7835       12795    39849232+   7  HPFS/NTFS

/dev/sda4           12796       38913   209792835    7  HPFS/NTFS

使用 sudo gedit /etc/fstab 打開fstab文件,編輯fatab文件,加入相關代碼。

Ubuntu自動掛載的Windows分區無法正常顯示中文,在etc/fstab裏面加上utf8就可以了,例如:

代碼:

/dev/sda3       /media/program     ntfs    defaults,utf8        0       0

但是掛載的分區默認是沒有寫權限的,必須有root權限才能寫,如何更改這個設置呢?

man mount查看手冊頁,發現裏面有幾個有用的選項:

umask, fmask, dmask, uid, gid

首先看umask, 這個是用來指定掛載windows分區後文件的默認權限(事實上,是默認沒有的權限,即umask參數指出的值掛載後的文件將不具有),因爲Windows分區裏面的文件是沒有權限這個概念的,所以要手動指定默認權限,於是,指定umask000,就是不排除任何,即具有所有權限,例如:

/dev/hda1       /media/hda1     ntfs    defaults,utf8,umask=000        0       0

就可以了,但是這樣即使一個文本文件也具有可執行權限,在文件管理器裏面雙擊也要選擇是查看還是執行,很不方便,於是想屏蔽掉可執行權限:

/dev/hda1       /media/hda1     ntfs    defaults,utf8,umask=111        0       0

這樣問題又來了,對於目錄來說,可執行權限又有另外的意義,沒有該權限根本無法進入該目錄(但是可以讀,即列出目錄下的文件列表,也可以寫,即可以在該目錄下增加和刪除文件,和重命名文件。哈哈!Linux的文件權限真是奇怪呀),於是就使用fmaskdmask參數,他們分別是對應文件和目錄的"umask",於是,將目錄設爲可執行,文件不可執行(一般Windows分區下都不會有可以直接在Linux下執行的文件吧?):

dmask=022,fmask=133

關於權限的8進製表示就不需要多說了吧?上邊的意思是

對目錄:所有用戶可執行(進入),其他人可讀可執行(進入),只有自己可寫(修改、添加、刪除裏面的文件(名))

對文件:所有用戶可讀,自己可寫,其他人不可寫。

之後在uidgid爲自己的就好了,可以用

id username

來查看usernamegiduid,例如:

id pluskid

uid=1000(pluskid) gid=1000(pluskid) groups=4(adm),20(dialout),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),104(lpadmin),105(scanner),106(admin),1000(pluskid)

如果不設的話,上面的“自己可寫”那個“自己”就不是你羅。於是,最後就變成了這樣:

/dev/sda3      /media/program    ntfs    defaults,utf8,uid=1000,gid=1000,dmask=022,fmask=133     0       0

OK了!最後,提醒大家,不要改錯了,改到非Windows分區上了,我實驗的時候就不小心改到root分區了,提供了不能識別的參數,用於 Windows分區的參數ext3分區當然不能識別羅,於是root分區在出現錯誤的情況下被掛載成只讀了,連root也無法修改裏面的文件,而fstab又是放在root分區的,就是個悲劇。(能用livecd修復一下)



補充:

創建一個掛載點(目錄),你將通過這個掛載點訪問windows分區。Ubuntu缺省在/media目錄下創建所有文件系統的掛載點。

mkdir /media/$(foldername)

手動掛載ntfs分區sudo mount /dev/hda1 /media/partitionname -t ntfs -o nls=utf8,umask=0222


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章