分页: 1 / 1

[原创,分享]关于挂载windows分区的权限的问题

发表于 : 2005-11-14 18:35
pluskid
Ubuntu自动挂载的Windows分区无法正常显示中文,在etc/fstab里面加上utf8就可以了,例如:

代码: 全选

/dev/hda1       /media/hda1     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/hda17      /media/hda17    vfat    defaults,utf8,uid=1000,gid=1000,dmask=022,fmask=133     0       0
就OK了!
最后,提醒大家,不要改错了,改到非Windows分区上了,我实验的时候就不小心改到root分区了,提供了不能识别的参数,用于Windows分区的参数ext3分区当然不能识别罗,于是root分区在出现错误的情况下被挂载成只读了,连root也无法修改里面的文件,而fstab又是放在root分区的,哈哈!当时真是好不容易才弄好呀!所以我正在考虑装两个linux。

发表于 : 2006-01-09 10:18
ywjoan
好帖!解决了我多时的迷惑阿!

发表于 : 2006-01-09 10:23
ywjoan
“最后,提醒大家,不要改错了,改到非Windows分区上了,我实验的时候就不小心改到root分区了,提供了不能识别的参数,用于Windows分区的参数ext3分区当然不能识别罗,于是root分区在出现错误的情况下被挂载成只读了,连root也无法修改里面的文件,而fstab又是放在root分区的,哈哈!当时真是好不容易才弄好呀!所以我正在考虑装两个linux。”


能否详细说说你好不容易弄好的是用什么妙法阿?

发表于 : 2006-01-09 16:51
wd
使用livecd启动之后挂载上之后就可以修改。

发表于 : 2006-01-11 23:37
ywjoan
哦,明白了,谢谢~

发表于 : 2008-06-24 10:50
bingmou
好贴!我之前一直很讨厌在windows分区下的文本文件打开的时候总是询问我是运行还是显示,因为在windows下不会有可运行程序的,但是改umask又会导致连文件夹也进不去。昨天看到一个国外的帖子才发现了fmask 和dmask的用途,今天刚想把它发上来,发现是我too old……

发表于 : 2008-07-11 22:45
hcd007
很好的帖子,不多说了
顶上去

Re: [原创,分享]关于挂载windows分区的权限的问题

发表于 : 2010-05-20 17:08
yl19870518
留个脚印,备用

Re: [原创,分享]关于挂载windows分区的权限的问题

发表于 : 2010-10-08 14:17
walker4
挖坟马克好贴

Re: [原创,分享]关于挂载windows分区的权限的问题

发表于 : 2010-12-25 8:54
132811
不知道针对MOUNT的umask在那里设置?
# /etc/bashrc

# System wide functions and aliases
# Environment stuff goes in /etc/profile

# by default, we want this to get set.
# Even for non-interactive, non-login shells.
if [ "`id -gn`" = "`id -un`" -a `id -u` -gt 99 ]; then
umask 002
else
umask 022
fi

代码: 全选

mount /dev/hda1 /windows/c -t ntfs -o nls=utf-8,umask=000,uid=1000,gid=1000

Re: [原创,分享]关于挂载windows分区的权限的问题

发表于 : 2011-01-28 8:55
xc1427
说的很清楚 :em11

Re: [原创,分享]关于挂载windows分区的权限的问题

发表于 : 2011-01-28 13:36
0o永远的菜鸟o0
很好的东西,可惜现在我是单系统,没法实验了... :em06

Re: [原创,分享]关于挂载windows分区的权限的问题

发表于 : 2011-05-14 23:38
rufen
谢谢!!!此贴方便了几茬人啊~~~~~

Re: [原创,分享]关于挂载windows分区的权限的问题

发表于 : 2011-06-05 15:34
phoenixzz
:em11 顶之,解决了偶的问题

Re: [原创,分享]关于挂载windows分区的权限的问题

发表于 : 2011-10-16 0:28
benshan
谢谢啊