关于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. VS2015编译器问题简单记录

    问题:VS2015community 无法查找或打开 pdb 文件 解决办法: 1.点击工具->选项, 在选项窗口中展开左侧菜单: 2.展开调试->常规,然后在右边的窗格中勾选“启用服务器 ...

  2. sql Server 常用存储过程的优化

    优化存储过程有很多种方法,下面介绍最常用的7种. 1.使用SET NOCOUNT ON选项 我们使用SELECT语句时,除了返回对应的结果集外,还会返回相应的影响行数.使用SET NOCOUNT ON ...

  3. 《CSS网站布局实录》学习笔记(五)

    第五章 CSS内容排版 5.1 文字排版 5.1.1 通栏排版 进行网页通栏排版时,只要直接将段落文字放置于p或者其他对象中,再对段落文字应用间距.行距.字号等样式控制,便形成了排版雏形. 5.1.2 ...

  4. java静态代码块 类加载顺序问题。

    class B extends Object { static {System.out.println("Load B");} public B(){System.out.prin ...

  5. PHP Math

    PHP Math 简介 Math 函数能处理 integer 和 float 范围内的值. 安装 PHP Math 函数是 PHP 核心的组成部分.无需安装即可使用这些函数. PHP 5 Math 函 ...

  6. PHP set_error_handler() 函数

    定义和用法 set_error_handler() 函数设置用户自定义的错误处理函数. 该函数用于创建运行时期间的用户自己的错误处理方法. 该函数会返回旧的错误处理程序,若失败,则返回 null. 语 ...

  7. windows下安装mysql笔记

    接着上几篇文章再来看下windows下安装mysql. 我这里是windows7 64位, 安装过程中还是遇到一些坑,这里记录下. 一.下载安装包 打开mysql官网下载页面:http://dev.m ...

  8. 《Linux内核分析》 week2作业-时间片轮转

    一.基于时间片轮转调度代码的解读 代码结构主要由三个文件组成: 1.mypcb.h 2.myinterrupt.c 3.mymain.c 1.进程控制块(mypcb.h) /* CPU-specifi ...

  9. POJ2955:Brackets(区间DP)

    Description We give the following inductive definition of a “regular brackets” sequence: the empty s ...

  10. python内置函数(4)

    12.pow:      >>> 2**10 1024 >>> pow(2,10) 1024 13.repr():忽略.. 14.reversed():反转.. 1 ...