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 nfs 重启后 需要重新挂载
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:nas和应用服务器交互架构图
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章