L015-linux系统文件权限体系手把手详解小结

2016-5-24

今天星期二,昨天和今天利用一些闲散时间把第15节课学完了,最近有点懒散哈,还得努力才是。、

这节课内容不多,扩展的也少,主要就是3个命令

chmod

chown

umask

本来到umask换算感觉有点儿迷糊,结果最后老师来一句,用处太少,那就主要了解把,下节课会有更难的权限问题,提前有个心里准备,然后打好基础!!

下面进入正题:

到了权限还是从命令ll开始吧,直观

[root@moban ~]# ll oldboy
-rwxr-xr-x root root Apr : oldboy

上面标黄的自然是权限了,3个一组,总共3组,他么他们分别对谁起作用呢?

属主:标黄前三位+绿色root

用户组:标黄4-6位+蓝色root

其他用户:标黄7-9

 rwx-对应的数字权限是4 2 1 0

计算后

属主权限:7

用户组:5

其他用户:5

由此可以看出权限最高也就是7

一、更改权限(chmod)

比如我想更改文件或者文件夹的权限,这时就要使用到chmod

使用方法也很简单

[root@moban ~]# chmod  we.txt     //777代表最高权限rwxrwxrwx
[root@moban ~]# ll we.txt
-rwxrwxrwx root root Apr : we.txt

确实不难,知道命令套用一下就成了,那么我现在如果想把一个目录中的所有文件都更改成某一权限呢?

说到这里,就不得不提man的重要性,如果对于一个陌生的命令,或者长时间不用的命令一定要man一下,看看对应的命令都有什么参数,这样才能少走弯路啊。

因为对chmod不了解,我是用的find

[root@moban ~]# find ./lkjiop/ -type f -exec chmod  {} \;
[root@moban ~]# ll lkjiop
total
-rwxr-xr-x oldboy oldboy May : .txt
-rwxr-xr-x oldboy oldboy May : .txt
-rwxr-xr-x oldboy oldboy May : .txt
-rwxr-xr-x oldboy oldboy May : .txt
-rwxr-xr-x oldboy oldboy May : .txt
-rwxr-xr-x oldboy oldboy May : .txt

成功了!如果不往下听课的话我会非常满足。

[root@moban lkjiop]# chmod -R  oldboy    //-R参数可以更改目录所有文件的权限
total
-rwxr-xr-x oldboy oldboy May : .txt
-rwxr-xr-x oldboy oldboy May : .txt
-rwxr-xr-x oldboy oldboy May : .txt
-rwxr-xr-x oldboy oldboy May : .txt
-rwxr-xr-x oldboy oldboy May : .txt
-rwxr-xr-x oldboy oldboy May : .txt
-rwxr-xr-x oldboy oldboy May : .txt

更为简便,so  man man man,重要的事情不光要说3遍,更要记三遍。

二、用chmod字符式权限表示法

有些人可能对数字形式的权限不感冒,那么可以试试这种办法:

用户加权限:

[root@moban ~]# ll oldboy
---x-wxrw- root root Apr : oldboy
[root@moban ~]# chmod u+rw oldboy //属主加上读写权限rw
[root@moban ~]# ll oldboy
-rwx-wxrw- root root Apr : oldboy

用户组加权限:

[root@moban ~]# chmod g=rx oldboy       //用户组设置成只有读和执行权限rx
[root@moban ~]# ll oldboy
-rwxr-xrw- root root Apr : oldboy

注意这个“=”,他是把现有的替换成rx权限,也就是覆盖。

对文件多个权限位做处理:

[root@moban ~]# chmod u=x,g=rwx,o=w oldboy      //用逗号间隔
[root@moban ~]# ll oldboy
---xrwx-w- root root Apr : oldboy

剪掉每个权限为的w(write)权限:

[root@moban ~]# chmod ugo-w oldboy        //ugo代表全
[root@moban ~]# ll oldboy
---xr-x--- root root Apr : oldboy

等同于

[root@moban ~]# chmod a-w oldboy        //a也代表全,更简便
[root@moban ~]# ll oldboy
---xr-x--- root root Apr : oldboy

综上,还是数字方便。o(∩_∩)o

三、修改文件和文件夹的用户和用户组属性 (chown)

修改用户组属性:

[root@moban ~]# ll oldboy
---xr-x--- oldboy oldboy Apr : oldboy
[root@moban ~]# chown .root oldboy //修改用户组属性 “.”后面接用户组,如果没有“.”就是用户属性
[root@moban ~]# ll oldboy
---xr-x--- oldboy root Apr : oldboy

或者使用chgrp命令

当只想更改用户属性的时候可以使用chgrp

[root@moban ~]# chgrp oldboy oldboy
[root@moban ~]# ll oldboy
---xr-x--- root oldboy Apr : oldboy

修改用户和用户组属性:

[root@moban ~]# chown root.root oldboy           //把oldboy用户和oldboy用户组属性改为root用户和root用户组属性
[root@moban ~]# ll oldboy
---xr-x--- root root Apr : oldboy

用户和用户组属性同时修改是中间加“.”相隔

更改文件夹内的所有文件的用户和用户组属性:

[root@moban ~]# chown -R oldboy.oldboy lkjiop/
[root@moban ~]# ll lkjiop/
total
-rwxr-xr-x oldboy oldboy May : .txt
-rwxr-xr-x oldboy oldboy May : .txt

跟chmod同样是使用参数-R

四、测试目录和文件权限的问题

其实也就是rwx权限对各用户组的影响,rwx对文件和目录的权限是什么。

首先生产演示环境:

一个家庭(用户组)inca:成员有 oldboy,olgirl

[root@moban ~]# groupadd incahome        //创建一个名字叫incahome的组
[root@moban ~]# useradd oldgirl -g incahome //创建一个名字胶oldgirl的用户并加入到incahome组
[root@moban ~]# useradd oldsister -g incahome //同上 [root@moban ~]# id oldgirl //查看是否创建成功,所属用户组也是否正确
uid=(oldgirl) gid=(incahome) groups=(incahome)
[root@moban ~]# id oldsister
uid=(oldsister) gid=(incahome) groups=(incahome)

总结测试结论:Linux普通文件的读、写、执行权限说明:
可读r:表示具有读取阅读文件内容的权限;
可写w:表示具有新增、修改文件内容的权限
##重要##:删除文件(修改文件名等)的权限是受父目录的权限控制,和文件本身权限无关。
可执行x:表示具有执行文件的权限(文件本身要能够执行,普通用户时还需要r的权限,root用户不用r的权限也能执行,当然文件本身也需要能够执行)。

总结测试结论:Linux目录的读、写、执行权限说明:
可读r:表示具有浏览目录下面文件及目录的权限,即ls dir (不能进到目录里,即无法cd dir);如果没有x权限,列表时也是有问题的。如加-l列表属性会有问号,提示没有权限。但是可以看到文件名。
可写w:表示具有增加/删除或修改目录内文件名(一般指文件名)的权限(需要x权限配合);
可执行x:表示具有进入目录的权限;例如:cd dir

Linux文件与目录权限对比说明:
r(read, 读取权限):
对文件(如,oldboy)而言,表示具有读取阅读文件内容的权限。
对目录(如/etiantian)来说,表示具有浏览目录的权限(注意:与进入目录的权限不同),也许要x权限配合。
如果没有x权限配合,那么看不到目录内文件的属性。(会显示一堆问号)

w(write,写入权限):
对文件而言,表示具有新增/修改文件内容的权限(注意:删除和移动文件和文件本身属性无关,看上级目录)。
对目录来说,表示具有新增/删除/移动目录内文件的权限(需要x权限配合)。

x(execute,执行权限):
对文件而言,表示具有执行文件的权限。(普通用户同时还需要r的权限,root用户不用r也能执行,文件本身也要能执行才行,否则公鸡不能下蛋)。
对于目录来说,表示具有进入目录的权限。

-(无任何权限):
若对应位置权限位为为字符“-”,表示对应用用户没有读、写、执行的任何权限。

五、默认权限分配命令(umask)

参考:http://oldboy.blog.51cto.com/2561410/1060032

linux系统默认的目录权限为755,文件权限是644,但是这是一个相对(相对于用户root以及用户组root)的安全权限。

网站目录安全权限(推荐):目录755 文件644 并且用户为root用户组也为root

linux系统默认权限的方针:允许浏览,查看,但是禁止创建和修改,增加文件及内容。

文件权限的一般算法:
root下默认文件权限计算方法

)假设umask值为:(所有位为偶数)
==>文件的其实权限值
==>umask的值
----------- )假设umask值为:(其他用户组位为奇数)
==>文件的起始权限值
==>umask的值
--------
==>计算出来的权限。由于umask的最后一位数字是5,所以,在其他用户组位再加1。(只要有数位是奇数,那么最后都要在奇数位加1)
+
--------
==>真实权限

默认目录权限计算方法

      ==>目录的其实权限值
- ==>umask的值
--------

注意:更改umask的值只能在当次生效,所以想永久生效,需要更改profile文件

[root@moban ~]# cat /etc/profile
[root@moban ~]# vi /etc/login.defs    //家目录默认权限的umask 077

L015-linux系统文件权限体系手把手详解小结的更多相关文章

  1. Linux文件权限与属性详解 之 chattr & lsattr

    Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...

  2. Linux文件权限与属性详解 之 SUID、SGID & SBIT

    Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...

  3. Linux文件权限与属性详解 之 一般权限

    目录 一般属性 1. iNode: 3152621 2. 文件类型 3.文件访问权限 4. 链接数目: 5. 文件所有者 6. 文件所属组 7. 文件大小 8. 修改时间 9. 文件名称 Linux文 ...

  4. Linux文件权限与属性详解 之 ACL

    Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...

  5. Linux文件权限与属性详解 之 su & sudo

    Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...

  6. Linux系统文件权限体系详解

    准备工作:先简单了解Linux文件权限 在Linux系统中,ls -l 命令可以查看文件的权限,如 [zhaohuizhen@localhost Test]$ ls -l a -rw-rw-r--. ...

  7. Linux文件权限与属性详解 之 SUID、SGID&SBIT

    一.SetUID 1.Linux普通用户可以修改自己的密码,这个是一个合情合理的设置; 修改密码其实修改的是/etc/shadow这个文件,这个文件的属性: ----------. 1 root ro ...

  8. L016-linux系统文件权限体系实战深入讲解小节

    L016-linux系统文件权限体系实战深入讲解小节 不知道今天能不能写完哈,能写完发出来就是这周发两次小结了,有进步哦,不过L015和L016两节课内容也确实不多,进入正题 上一课学到了chmod. ...

  9. linux:SUID、SGID详解

    linux:SUID.SGID详解 文章转载至:http://tech.ccidnet.com/art/2583/20071030/1258885_1.html 如果你对SUID.SGID仍有迷惑可以 ...

随机推荐

  1. 【[ZJOI2012]灾难】

    好像很久之前就看过这道题,大概是刚学\(LCA\)的时候 之后当时肯定是不会的呀 现在发现这道题并不是非常难 首先我们发现这个灭绝的关系非常像一棵树,我们建出这个灭绝树求一个前缀和就可以啦 那么应该怎 ...

  2. 【js】五子棋-UI学习

    http://www.imooc.com/learn/639 棋盘用canvas实现

  3. 软件分享:将应用一键打包成dmg文件

    简介 苹果软件开发完成后,都要打包成dmg文件.通常的做法也许是到系统自带的磁盘工具里制作dmg文件,但这样做比较繁琐,尤其是要打包多个应用时,每次只能制作一个dmg文件很麻烦.分享一个很好用很方便的 ...

  4. Web | JavaScript的引用数据类型强制转换类型

    我在这里主要的想提下的是JavaScript中的引用类型进行强制转换类型.因为对于基本数据类型的变换大多都是雷同的,很容易熟知,但是引用数据类型有一点小插曲. JavaScript的引用类型主要为对象 ...

  5. Java并发编程(十)死锁

    哲学家进餐问题 并发执行带来的最棘手的问题莫过于死锁了,死锁问题中最经典的案例就是哲学家进餐问题:5个哲学家坐在一个桌子上,桌子上有5根筷子,每个哲学家的左手边和右手边各有一根筷子.示意图如下: 哲学 ...

  6. Java并发编程(七)终结线程

    线程的状态 一个线程会有如下五个状态 1.新建:线程在被创建时会暂时处于这种状态,此时系统为线程分配资源并对其进行初始化 2.就绪:此时线程已经可以运行,只是系统没有为其分配CPU时间. 3.运行:系 ...

  7. 编译安装 Hue

    # 安装前的准备 useradd huedev wget https://github.com/cloudera/hue/archive/release-4.2.0.tar.gz -O /home/h ...

  8. vue-cli3 使用mint-ui

    关于vue-cli3.x按需引入mint-ui问题记录: 按需引入 借助 babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的. 首先,安装 babel-p ...

  9. 1010 一元多项式求导(用while接收输入)

    题目: 知识点for me: 该题的输入并非是按回车后数据输入完毕也不是给定数据长度,而是输入到文件末尾.可以有以下三种写法: (1)while(cin>>a)  (2)while(sca ...

  10. mysql面试常见题目

    第一题 某班学生和考试成绩信息如下表Student所示: Student表 ID SName Mark 1 Jack 90 2 Marry 96 3 Rose 88 4 Bob 86 5 John 8 ...