关于ntfs权限的问题


文件的权限:

[-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的參数进行设置:

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

umask & fmask & dmask的使用

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

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

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

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

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

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

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

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

fstab实例

<file system> <mount point> <type>         <options>       <dump> <pass>
/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命令改变一个文件的权限:

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

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

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

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

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

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

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

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

样例:

chmod  u=rwxs,o=rx   file
chmod g+s,o=wrx test/
chmod o=rwxt test/
chmod 1775 test/

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

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

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

文件的拥有者

一般通过chown进行设置

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

最后进阶理解fstab配置

<file system> <mount point> <type>                    <options>               <dump> <pass>
/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. ImageIO.wtrie生成jpg图片质量损失方案:BufferedImage生成jpg图片文件流

    Iterator<ImageWriter> iterator = ImageIO.getImageWritersByFormatName("jpeg"); ImageW ...

  2. MySQL MyISAM/InnoDB高并发优化经验

    最近做的一个应用,功能要求非常简单,就是 key/value 形式的存储,简单的 INSERT/SELECT,没有任何复杂查询,唯一的问题是量非常大,如果目前投入使用,初期的单表 insert 频率约 ...

  3. Android开发手记(11) 滑动条SeekBar

    安卓滑动条的操作特别简单,通过getProgress()可以获得SeekBar的位置,通过setProgress(int progress)可以设置SeekBar的位置.要想动态获取用户对SeekBa ...

  4. String or binary data would be truncated

    在使用Typed Dataset进行数据的插入时,会报这样的错:String or binary data would be truncated. 我碰到的原因是 数据库中字段的长度过段,插入时内容被 ...

  5. Win7启动修复MBR(Win7+Linux删除Linux后进入grub rescue的情况)

    事因:我的笔记本原先同时安装了Win7+Linux,昨天发现硬盘实在不够用(才60G,虽然还有个500G的移动硬盘),就想把里面的Ubuntu格了.都是用虚拟机做测试的多.后来就格了Ubuntu所在的 ...

  6. Objective-C 笔记 字符串操作

    这次总结下OC里一些对字符串的一些操作. 创建字符串对象时,会创建一个内容不可更改的对象,称为不可变对象.可以使用NSString类处理不可变字符串.你经常需要处理字符串并更改字符串中的字符.例如,可 ...

  7. VC Windows系统服务创建代码

    Windows系统服务创建步骤,常用类封装,废话不多说,直接上代码 // ServceDemo.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" ...

  8. BeanUtils--内省加强

    BeanUtils就是一个处理Bean的工具包.内部也是使用内省.但对内省做了加强. Bean的set |get不用再成对出现 核心类: BeanUtils. 1.导包

  9. 研究一下uucode编码

    uucode编码是把任意二进制数据转换为ascii字符的编码用于在一些只能传递文本的地方传送二进制数据uu模块提供了encode()和decode()用于将一个文件转换为uucode编码的字符文件,文 ...

  10. win7下搭建nginx+php的开发环境

    本来在win7下用的是IIS做web服务器,但近来因项目需求的原因,需要在服务器遇到404错误的时候自动做转向(不是在客户端的跳转,而是在服务器收到客户端请求去某目录下读取文件返回时,如果发现目录或目 ...