在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修复一下)

]ubuntu开机自动挂载的ntfs硬盘的权限问题的更多相关文章

  1. ubuntu开机自动挂载硬盘

    1. 查看硬盘信息 df -h 命令找到目标硬盘(可根据 磁盘分区(路径).分区大小.挂载点  确认/定位 目标) sudo blkid 命令找到目标硬盘的UUID,(关注一下分区的格式化类型,如ex ...

  2. Ubuntu 开机自动挂载硬盘

    1.查看Linux硬盘信息: $ sudo fdisk -l 2.格式化硬盘(根据需要确定文件系统): sudo mkfs.xfs /dev/sdb 3.创建/data目录 sudo mkdir /d ...

  3. ubuntu 开机自动挂载分区

    转载: http://blog.sina.com.cn/s/blog_142e95b170102vx2a.html 我的计算机是双硬盘,一个是windows系统,一个是Fedora和ubuntu系统. ...

  4. Ubuntu 开机自动挂载磁盘

    Ubuntu 磁盘挂载 1.使用命令查看分区 sudo fdisk -l 1 可以根据上图提供的磁盘信息确定想挂载的磁盘,以及确定挂载的位置. 我此次的目的是将/dev/sda2 磁盘挂载到/mnt/ ...

  5. Ubuntu开机自动挂载Windows分区

    转自Ubuntu 12.04开机自动挂载Windows分区 1.查看系统磁盘号 sd2,sd5,sd7分别对应我windows的C,D,F盘,也是本次要添加到开机挂载的,E盘为wubi安装盘. 2.查 ...

  6. Ubuntu 开机自动挂载NTFS分区

    先安装两个软件,ntfs-3g 和 ntfs-config,前面那个最新版本的Ubuntu已经自带了,所以只需要安装ntfs-config. 输入 sudo apt-get install ntfs- ...

  7. ubuntu 开机自动挂载nfs服务器上的home分区

    通过‘fstab’也可以配置 NFS 和 SMB 的共享目录.由于涉及到的可选项很重要,并且需要了解一些协议的工作情况,您得先阅读 Samba 和 NFS . 基本语法和本地介质相差不是很多.条目中的 ...

  8. Ubuntu开机自动挂载分区

    虽然我基本上都是使用Linux的,但是仍然有些时候需要切换到Windows(双系统),如果所有的分区都使用ext4等Linux分区格式,则在Windows下访问十分不方便. 因此,我一般会将一些两个系 ...

  9. 解决Ubuntu开机自动挂载硬盘回收站不可用等权限问题

    1.修改fstab sudo gedit /etc/fstab 2.添加如下代码 #Entry for /dev/sdb7 : UUID=78A675EB46D703C4 /media/anseey/ ...

随机推荐

  1. 简单描述如何安装配置一个apache开源版hadoop,只描述即可,无需列出完整步骤,能列出步骤更好

    1 ) 安装JDK并配置环境变量(/etc/profile) 2) 关闭防火墙 3) 配置hosts文件,方便hadoop通过主机名访问(/etc/hosts) 4) 设置ssh免密码登录 5) 解压 ...

  2. CF 848C

    听说,一个好的oier是题目喂出来的. 题目 给定长度为n的数组, 定义数字X在[l,r]内的值为数字X在[l,r]内最后一次出现位置的下标减去第一次出现位置的下标 给定m次询问, 每次询问有三个整数 ...

  3. C# dataGridView_CellValueChanged事件

    C# 输入完以后立即更新缓冲区(DataGridView CheckBox列checked变化后就触发CellValueChanged事件) 在DataGridView添加如下的事件( Current ...

  4. JZOJ 5455 拆网线

    Time Limits: 1000 ms Memory Limits: 65536 KB Detailed Limits Description 企鹅国的网吧们之间由网线互相连接,形成一棵树的结构.现 ...

  5. JavaScript异步

    JavaScript异步类型 延迟类型:setTimeout.setInterval.setImmediate 监听事件:监听new Image加载状态.监听script加载状态.监听iframe加载 ...

  6. python 结构化的数据

  7. BMDP为常规的统计分析提供了大量的完备的函数系统,如:方差分析(ANOVA)、回归分析(Regression)、非参数分析(Nonparametric Analysis)、时间序列(Times Series)等等。此外,BMDP特别擅于进行出色的生存分析(Survival Analysis )。许多年来,一大批世界范围内顶级的统计学家都曾今参与过BMDP的开发工作。这不仅使得BMDP的权威性得到

        BMDP是Bio Medical Data Processing的缩写,是世界级的统计工具软件,至今已经有40多年的历史.目前在国际上与SAS.SPSS被并称为三大统计软件包.BMDP是一个大 ...

  8. Mysql主从安装配置

    Mysql主从安装配置   环境: 主从服务器上的MySQL数据库版本同为5.1.34 主机IP:192.168.0.1 从机IP:192.168.0.2  一. MySQL主服务器配置 1.编辑配置 ...

  9. android GUI 流程记录

    ViewRootImpl 与 wms ViewRootImple里的 WindowSeesion是WindowManagerService的proxy, 通过这个句柄来调用WMS的功能而W是 wms用 ...

  10. JavaScript--关于变量提升思考

    下面例子仅仅是思考变量提升使用: 在实际开发中并不推荐使用相同名字的变量和函数! // 如果变量和函数同名的话,函数优先提升 console.log(a); function a() { consol ...