关于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. 关于HttpServlet和Servlet以及doPost和doGet关系

    这两天在看Servlet和Jsp,spring太难了,还是先看看基础,只怪自己太弱了. Servlet是一个接口,本身定义的是一种网络服务,HttpServlet是已经实现了Servlet接口,也就是 ...

  2. 国内使用google地图的初级使用

    <!DOCTYPE html><html><head><title>Simple Map</title><meta name=&quo ...

  3. charAt(i) 函数

    charAt(i) 函数 是获取字符串中i位置的字符 str.charAt(i)的意思是第i个字符在字符串str中所占的位置,输出的是数字 for (var i = 0; i < str.len ...

  4. 汉字转拼音(pinyin4j-2.5.0.jar)

    import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCase ...

  5. new关键字在虚方法的动态调用中的阻断作用

    关于new关键字在虚方法动态调用中的阻断作用,也有了更明确的理论基础.在子类方法中,如果标记 new 关键字,则意味着隐藏基类实现,其实就是创建了与父类同名的另一个方法,在编译中这两个方法处于动态方法 ...

  6. Wpf解决TextBox文件拖入问题、拖放问题

    在WPF中,当我们尝试向TextBox中拖放文件,从而获取其路径时,往往无法成功(拖放文字可以成功).造成这种原因关键是WPF的TextBox对拖放事件处理机制的不同, 解放方法如下: 使用Previ ...

  7. JAVA为什么会空指针异常

    1.所谓的指针,就是java中的对象的引用.比如String s;这个s就是指针. 2.所谓的空指针,就是指针的内容为空,比如上面的s,如果令它指向null,就是空指针. 3.所谓的空指针异常,就是一 ...

  8. Windows下查看端口被程序占用的方法

      有时安装程序时,会出现XX端口被占用的情况,可以通过CMD命令查看什么程序占用 1. netstat -ano 查看相应端口对应程序的PID 例如:   C:\>netstat -ano A ...

  9. PHP Filesystem

    Runtime 配置 Filesystem 函数的行为受到 php.ini 中设置的影响. Filesystem 配置选项: 名称 默认 描述 可改变 allow_url_fopen "1& ...

  10. Eclipse关闭XML文件验证的方法,解决xml警告

    XML的编写是否符合规范,可以通过XML Schema或DTD进行验证,但有时候电脑本来就很卡,而且XML的某些错误并未导致程序无法运行的情况下,暂时关闭XML的验证也算不错的选择. 如web.xml ...