代码: 全选
/dev/hda1 /media/hda1 ntfs defaults,utf8 0 0
用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
上边的意思是
对目录:
所有用户可执行(进入),其他人可读可执行(进入),只有自己可写(修改、添加、删除里面的文件(名))
对文件:
所有用户可读,自己可写,其他人不可写。
之后在uid和gid为自己的就好了,可以用
代码: 全选
id username
代码: 全选
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/hda17 /media/hda17 vfat defaults,utf8,uid=1000,gid=1000,dmask=022,fmask=133 0 0
最后,提醒大家,不要改错了,改到非Windows分区上了,我实验的时候就不小心改到root分区了,提供了不能识别的参数,用于Windows分区的参数ext3分区当然不能识别罗,于是root分区在出现错误的情况下被挂载成只读了,连root也无法修改里面的文件,而fstab又是放在root分区的,哈哈!当时真是好不容易才弄好呀!所以我正在考虑装两个linux。