文件和目录权限

1、Linux权限介绍
2、Linux文件属性
3、如何改变Linux文件属性权限
4、新建文件默认权限

1、Linux权限介绍

Linux是个多人多任务系统。而为了让各个用户具有较保密的文件数据,因此文件的权限管理就比较重要了。
  Linux一般将文件存储的身份分为三个类别,分别是owner/group/other,而且三种身份各有read/write/excude等权限。

Linux系统中,默认情况下:
  用户相关信息存放在/etc/passwd;密码存放在/etc/shadow;组名都存放在/etc/group。

文件权限:
  r:可使用文件查看类工具获取其内容
  w:可修改其内容
  x:可以把此文件提请内核启动为一个进程

目录权限:
  r:可以使用ls查看此目录中文件列表
  w:可在此目录中创建文件,也可删除此目录中的文件
  x:可以cd进入此目录,也可以执行目录里面的文件。执行是基础权限。

目录的执行权限是基础权限:
  - ls命令需要r和x权限,否则看不了文件的元数据,只能看到文件明名,也无法读目录里面的文件
  - 创建和删除目录的文件必须同时有目录的w和x权限

X(x权限特殊形式)
  对于目录,给目录执行权限。
  对于文件如果文件任意一种角色有执行权限,那么文件会被加上执行权限;如果文件三种角色都没有执行权限,那么X不会给该文件执行权限

我们想给某个目录下所有子目录执行权限,而不给目录下的文件执行权限,就用到X。
  例子:chmod -R o+X /app

注意:判断一个用户能否删除文件,是看该用户对于文件所在的目录的权限,而不是用户对于文件的权限。因为删除某个文件,本质上是删除文件所在目录上的文件名数据。

2、Linux文件属性

 [root@CentOS7 ~]#ls -al                  
          dr-xr-x---. 14 root root 4096 May 18 10:18 .
          dr-xr-xr-x. 18 root root  244 May 17 14:50 ..
          -rw-------.  1 root root 1758 May 17 14:51 anaconda-ks.cfg
          -rw-------.  1 root root  962 May 18 10:18 .bash_history
          -rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
          -rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
          -rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
          drwx------. 11 root root  222 May 17 15:05 .cache
          drwx------. 17 root root 4096 May 17 16:34 .config

文件的属性有七个字段,其中第一个字段分别代表文件的类型以及owner/group/other三种身份的read/write/execude权限。

系统判断某个用户的权限时,匹配的顺序是:是否文件所有者>是否属于文件所属组>other。
  假如用户已经匹配上某种身份,不会再去看其他身份的权限。
  例如这个文件
  ----r--r--. 1 luo luo 176 Dec 29 2013 lizi
  这个文件中,luo用户没有任何读写执行权限。 因为luo用户是文件的owner,权限是---,因此系统不会看组的权限,也不会看other的权限。

root帐号有所有文件的读写权限。
  一个文件如果所有角色都没有执行权限,那么root也没有执行权限。
  一个文件如果某个角色有执行权限,那么root也有执行权限。(root可以蹭权限)

3、如何改变Linux文件属性权限

chgrp
  改变文件所属群组(普通用可以把属于自己的文件改成自己所在的组)
  chgrp [OPTION]... GROUP FILE...
  chgrp [OPTION]... --reference=RFILE FILE...
  -R 递归

chown
  改变文件拥有者(普通用户无权限把属于自己的文件权限改成他人的)
  chown [OPTION]... [OWNER][:[GROUP]] FILE...
  用法:
  OWNER
  OWNER:GROUP
  :GROUP
  命令中的冒号可用.替换
  -R: 递归
  chown [OPTION]... --reference=RFILE FILE...

chmod
  改变文件的权限
  改变文件权限的方法有两种:分别可以用数字或者符号进行权限的变更。

   (1)数字类型改变文件权限
       权限分数对照如下:
       r:4
       w:2
       x:1
       每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累
       加的,例如当权限为[-rwxrwx---] 分数则是:
       owner = rwx = 4+2+1 = 7
       group = rwx = 4+2+1 = 7
       others= --- = 0+0+0 = 0
       例子:chmod 777 .config   
      //把.config文件的owner/group/other的权限改为rwxrwxrwx

   (2) 符号类型改变文件权限
    u、g、o分别代表user、group、other,此外a代表all即全部身份而    
    rwx分别带表读写执行权限。-表示去除,+表示增加,=表示赋予。
    例子:chmod g-wr .config      //e.config的group增加w和r权限

4、新建文件默认权限

我们创建一个文件,系统会默认设置文件的权限值,umask就是用来设置新文件权限的掩码命令。
umask [选项] [掩码]
  当新目录或者文件被创建时,其最初的权限由umask决定。用户每次注册进入系统时,umask命令都被执行,并自动设置掩码改变默认值,新的权限将会把旧的覆盖。

umask:从777(目录)或者666(文件)中,将文件对应的权限位去掉,得到默认权限。
  算法:将umask取二进制反码,和777或者666进行与运算。

例子:umask为021的时候,系统创建新文件的权限计算如下:
  021---->000010001
  反码--->111101110
  666---->110110110
  权限--->110100110--->646--->rw-r--wr

umask: 查看
  umask #: 设定
  umask 002
  umask –S 模式方式显示
  umask –p 输出可被调用
  全局设置: /etc/bashrc 用户设置: ~/.bashrc

5、linux文件的特殊权限SUID、SGID、Sticky

(1) 任何一个可执行程序文件能不能启动为进程,取决发起者对程序文件是否拥有执行权限
  (2) 启动为进程之后,其进程的属主为发起者,进程的属组为发起者所属的组
  (3) 进程访问文件时的权限,取决于进程的发起者
   - 进程的发起者,同文件的属主:则应用文件属主权限
   - 进程的发起者,属于文件属组;则应用文件属组权限
   - 应用文件“其它”权限

SUID和GUID作用在可执行的二进制程序文件上

SUID:让本来没有执行该文件的用户运行这个程序时,继承了程序所有者的权限,从而可以访问没有权限访问的资源。
权限设定:
  chmod u+s FILE
  chmod u-s FILE
  例如普通用户是没有对shadow的读写权限的,但当普通用户使用passwd时,继承了passwd这个程序的所有者root的权限,从而有了对shadow文件修改的权限。(当然,普通用户只能修改自己的密码)

GUID:让本来没有执行该文件的用户运行这个程序时,继承了程序所属组的权限,从而可以访问没有权限访问的资源。

当SUID作用在目录下的作用另有含义:新建文件的所属组自动继承父目录所属组。

Sticky:作用在目录下,只有文件所有者和root才能删除该文件。
sticky 设置在文件上无意义
权限设定:
chmod o+t DIR
chmod o-t DIR

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,440评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,814评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,427评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,710评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,625评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,014评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,511评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,162评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,311评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,262评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,278评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,989评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,583评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,664评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,904评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,274评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,856评论 2 339

推荐阅读更多精彩内容