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分區裏面的文件是沒有權限這個概念的,所以要手動指定默認權限,於是,指定umask爲000,就是不排除任何,即具有所有權限,例如:
/dev/hda1 /media/hda1 ntfs defaults,utf8,umask=000 0 0
就可以了,但是這樣即使一個文本文件也具有可執行權限,在文件管理器裏面雙擊也要選擇是查看還是執行,很不方便,於是想屏蔽掉可執行權限: /dev/hda1 /media/hda1 ntfs defaults,utf8,umask=111 0 0
這樣問題又來了,對於目錄來說,可執行權限又有另外的意義,沒有該權限根本無法進入該目錄(但是可以讀,即列出目錄下的文件列表,也可以寫,即可以在該目錄下增加和刪除文件,和重命名文件。哈哈!Linux的文件權限真是奇怪呀),於是就使用fmask和dmask參數,他們分別是對應文件和目錄的"umask",於是,將目錄設爲可執行,文件不可執行(一般Windows分區下都不會有可以直接在Linux下執行的文件吧?): dmask=022,fmask=133
關於權限的8進製表示就不需要多說了吧?上邊的意思是
對目錄:所有用戶可執行(進入),其他人可讀可執行(進入),只有自己可寫(修改、添加、刪除裏面的文件(名))
對文件:所有用戶可讀,自己可寫,其他人不可寫。
之後在uid和gid爲自己的就好了,可以用 id username
來查看username的gid和uid,例如: 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
|
ubuntu開機自動掛載的ntfs硬盤
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.