关于ntfs权限的问题


文件的权限:

  1. [-dcbps][u:rwx][g:rwx][a:rwx]

当中: r=4, w=2, x=1,  u=owner, g=group, a=all user

           d=dir, -=file, l=symbolic link, p=pipe,

c=character device, b=block device,  d=door, s = socket

linux下,文件夹的r——可列文件夹,w——可写/删/改名,x——可进入訪问;

文件r——可读。w——可写/删/改名,x——运行

权限的组合可汇合成一个数字: rwx = 4+2+1 = 7

因此:-rwxrwxrwx = 777, -rw-rw-rw=666, -rwx-r-x-r-x=755

一般通过chmod的參数进行设置:

  1. chmod 777 /dir/file 设置文件为读写运行
  2. chmod -x /dir/file 删除文件uga的可运行
  3. chmod ga-w /dir/file 删除文件ga的可写权限
  4. chmod u=rx /dir/file 重设置文件u为读和运行
  5. chmod +x /dir/file 添加文件uga为可运行

umask & fmask & dmask的使用

umask —— 设置文件夹和文件的权限过滤

fmask —— 设置文件的权限过滤

dmask —— 设置文件夹的权限过滤

dmask和fmask是mount的选项。针对fat/ntfs文件系统。适用于fstab配置

不同于chmod/chown的权限值,它们三个是有mask——过滤的意思 。下面是它们的对文件的读写权限:

  1. 0 1 2 3 4 5 6 7
  2. r + + + + - - - -
  3. w + + - - + + - -
  4. x + - + - + - + -

事实上这个结果是通过 mask = rwx - 文件权限

如设置文件为0755权限,那么mask值则需为0022,即:0755=0777-0022

fstab实例

  1. <file system> <mount point> <type> <options> <dump> <pass>
  2. /dev/hda1 /media/win ntfs defaults,utf8,umask=111 0 0

当中:umask=111==>(777-111)=666=rw-rw-rw, 即文件拥有读写权限

能够又一次设计更更严格的权限关系:

dmask=022,fmask=133 即:f=755=rwxr-xr-x, d=644=rw-r--r--

注意:事实上umask可理解为关闭某些权限。能够使用umask命令改变一个文件的权限:

  1. umask 查看当前文件夹的权限mask
  2. umask <mask> 设置当前

文件权限进阶—— 文件的组和用户继承关系suid和sgid

当文件设置了suid后,该文件执行时以拥有者身份执行

  1. chmod 755 file (owner)
  2. chmod u+s file ==> -rwsr-xr-x (user)
  3. (即当使用user运行时。它以owner的身份运行)
  4. (suid经常使用于文件上,文件夹一般没有运行权限)

当文件夹设置了sgid后。其它人要是有r/x/w权限时,其它人创建的子文件夹的组为当前拥有的组

  1. chmod 757 dir (owner)
  2. chmod g+s dir ==> drwxr-srwx ower)
  3. mkdir dir/newidr (user)
  4. (即当user创建子文件夹时。它的组是owner,它的拥有者则是user)
  5. (sgid经常使用于文件夹上)

当文件夹设置了sticky后,防止别人删除文件夹的资料

  1. chmod 757 dir (owner组)
  2. chmod o+t dir ==> drwxr-srwt (owner)
  3. rm -r dir (user) ==> error
  4. (user无法删除。尽管开放了删除权限。但还是仅仅有owner可删除)

样例:

  1. chmod u=rwxs,o=rx file
  2. chmod g+s,o=wrx test/
  3. chmod o=rwxt test/
  4. chmod 1775 test/

0755也就是755, 而1755前面的1则与suid/sgid/sticky相关。看下表:

(能够理解为suid=4,sgid=2,sticky=1)

  1. suid sgid sticky 模式数字
  2. on on on 7
  3. on on off 6
  4. on off on 5
  5. on off off 4
  6. off on on 3
  7. off on off 2
  8. off off on 1
  9. off off off 0

文件的拥有者

一般通过chown进行设置

  1. 查看当前登录 w或者who
  2. 查看当前username whoami
  3. 查看当前用户组id id <u> 或者 finger <u>
  4. 查看用户登录记录 last
  5. lastb
  6. 查看全部用户 cut -d : -f 1 /etc/passwd
  7. cat /etc/passwd |awk -F \: '{print $1}'
  8. 查看当前组 groups
  9. 查看指定组 groups
  10. 改变拥有者 chown /dir/file
  11. 改变组 chgrp /dir/file
  12. 改变组及拥有者 chown : /dir/file
  13. 其它 groupadd/groupmod/groupdel
  14. useradd/usermod/userdel

最后进阶理解fstab配置

  1. <file system> <mount point> <type> <options> <dump> <pass>
  2. /dev/hda1 /media/win ntfs defaults,utf8,uid=1000,gid=1000,fmask=133,dmask=022 0 0

參考文章

http://www.itlearner.com/article/4594

http://askubuntu.com/questions/429848/dmask-and-fmask-mount-options

http://blog.sina.com.cn/s/blog_70545bad0100xdnp.html

linux权限及ntfs文件系统权限的知识的更多相关文章

  1. 默认权限umask、文件系统权限、特殊权限

    第1章 权限相关错误 1.1 普通用户 ls /root/ /root  属于root 普通用户没有任何权限,所以无法查看 [oldboy@znix ~]$ ls /root/ ls: cannot ...

  2. Linux系统挂载NTFS文件系统

     今天尝试并成功的将一块500G的移动硬盘挂载到了RHEL5的系统上,甚感欣慰.想到也许以后自己或其他同学们会有类似经历,于是尽量细致的记录于此.     无论是一块安装了Windows/Linu ...

  3. Linux系统挂载NTFS文件系统(转载)

    转自:http://hermesbox.blogbus.com/logs/47386987.html 今天尝试并成功的将一块500G的移动硬盘挂载到了RHEL5的系统上,甚感欣慰.想到也许以后自己或其 ...

  4. Linux操作系统内核编译之NTFS文件系统模块支持案例

    Linux操作系统内核编译之NTFS文件系统模块支持案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.内核编译概述 单内核体系设计.但充分借鉴了微内核设计体系的优点,为内核引 ...

  5. linux权限和ntfs知识文件系统权限

    左右ntfs权限的问题 文件权限: [-dcbps][u:rwx][g:rwx][a:rwx] 当中: r=4, w=2, x=1,  u=owner, g=group, a=all user     ...

  6. 十一、linux文件系统权限详解

    对于文件系统权限,我们前面已经讲解了一部分,这里就不在重复了. 1.修改文件权限有两种,一种是数字.一种是字母 (chmod 的修改只能是属主或者root) 数字: 修改目录权限和目录内所有文件的权限 ...

  7. 使用QFileInfo类获取文件信息(在NTFS文件系统上,出于性能考虑,文件的所有权和权限检查在默认情况下是被禁用的,通过qt_ntfs_permission_lookup开启和操作。absolutePath()必须查询文件系统。而path()函数,可以直接作用于文件名本身,所以,path() 函数的运行会更快)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Amnes1a/article/details/65444966QFileInfo类为我们提供了系统无 ...

  8. Linux系列教程(十七)——Linux权限管理之文件系统系统属性chattr权限和sudo命令

    上篇博客我们介绍了权限管理的ACL权限,通过设定 ACL 权限,我们为某个用户指定某个文件的特定权限.这篇博客我们将介绍权限管理中用的比较多的两个命令 chattr 和 sudo . 1.设定文件系统 ...

  9. Linux 文件系统权限

    文件权限管理 文件系统上的权限是指文件和目录的权限,权限主要针对三类对象(访问者)定义   owner   group   other  属主    属组    其它 每个文件对每类访问者都定义了三种 ...

随机推荐

  1. 使用SQL Server CONVERT() 函数

    语法 CONVERT(data_type(length),data_to_be_converted,style) data_type(length) 规定目标数据类型(带有可选的长度).data_to ...

  2. JQuery图片轮换 nivoSlider图片轮换

    效果图: 第一步:添加引用 <script src="jquery-ui-1.9.2.custom.min.js" type="text/javascript&qu ...

  3. 自制Javascript分页插件,支持AJAX加载和URL带参跳转两种初始化方式,可用于同一页面的多个分页和不同页面的调用

    闲话部分 最近闲着实在无聊,就做了点小东西练练手,由于原来一直在用AspNetPager进行分页,而且也进行了深度的定制与原有系统整合的也不错,不过毕竟是用别人的,想着看自己能试着做出来不能,后台的分 ...

  4. (转)PHP 的 __FILE__ 常量

    今天碰到了PHP的常量__FILE__的问题了. 在网上查了一下.总结了以下规律. dirname(__FILE___) 函数返回的是脚本所在在的路径. 比如文件 b.php 包含如下内容: < ...

  5. github修改自己的昵称

    由于刚接触github,不会用,就随便写了个昵称,后来想改,却不知道从哪里改,到百度搜结果都是说不能修改的(这里就不吐槽百度了),还是直接上图吧. 点击Settings,然后跳转到下面界面,点击Acc ...

  6. iOS用心学 UI基础之UIView

    一.引入UI 在实际开发中,基本的流程大致如下图所示: UI(User Interface)作为最基本的要点,也是非常重要的一部分,UI界面的美观直接决定着着用户的体验,苹果官方给开发中提供了非常强大 ...

  7. 对于没有Command属性时,怎么来达到相同的效果

    控件是第三方Telerik控件  CellEditEnded事件想写成Command{Binding CellEditEndedCommand}  这样的效果如下代码 需要引用 System.Wind ...

  8. Ajax--JavaScript实现

    Ajax:一种不用刷新整个页面便可与服务器通讯的办法 Ajax实现的步骤: 1.创建XMLHttpRequest对象 2.服务器向浏览器响应请求(注册监听) 3.浏览器与服务器建立连接 4.浏览器向服 ...

  9. 【C++学习之路】派生类的构造函数(三)

    三.多层继承的派生类 1.多层继承的派生类只需在构造函数的初始化列表中写出直接基类的构造函数即可 class student { public: student(int n, string nam) ...

  10. 跟我学android-搭建Android开发环境(一)

    Android官网地址:http://developer.android.com/,下载和安装 AndroidSDK请按如下步骤进行: 下载ADT 和SDK:http://developer.andr ...