zoukankan      html  css  js  c++  java
  • Linux学习总结(14)——Linux权限控制

    linux中,权限的学习是必不可少的,不论是作为一名运维工程师或者是单一的管理者,学习好linux中的权限控制,你就可以保护好自己的隐私同时规划好你所管理的一切。

    权限的学习是很多的,不要认为自己已经把自己的隐私保护的很好,漏洞总是有的,侧面的攻击往往是难以防守的。所以大家跟我一起学习一下基础的权限控制,在后面也会有更多关于权限控制的知识点分享出来。谢谢各位的关注和支持!

    《第9天》掌握linux中权限控制,做一名高逼格的运维工程师

    《第9天》掌握linux中权限控制,做一名高逼格的运维工程师

    开班第九天:

    今天的课程大纲:

    1. linux系统中文件目录的基本权限控制

    2. 如何来修改默认的生成权限

    3. 三种特殊的权限(s,s,t)

    里面我基本讲了一些概念性问题,还有特殊的一些,应用方面很多,我不可能讲完,这些都还是需要在实践中慢慢充实的。

    详细讲解:

    • linux系统中文件目录的基本权限控制

    提到权限问题,我们最先需要知道的是什么,没错就是如何查看权限。这里讲两个方法:

    ①stat+文件名,其中我们看到的644就是该文件的权限

    《第9天》掌握linux中权限控制,做一名高逼格的运维工程师

    ②ls -l +文件名,这个显示的信息就包括文件的权限

    《第9天》掌握linux中权限控制,做一名高逼格的运维工程师首先我们应该了解一下权限rwx代表什么意思,r表示read,读;w表示write,写;r表示execute,执行

    其次我们要了解一下权限的构成:使用ls -l来得到的,第一位"-"先不看,直接看后面的九位,rw-r--r--,分成三个三个的看,分别是rw-,r--,r--。分别代表这个文件的拥有者、所属组和其他对这个文件的权限,统称UGO权限,另外我们把rwx分别以421表示,常见的权限有777、755、644等。

    我们知道linux系统中有文件的权限和目录的权限,

    1.文件的权限

    对于文件的权限,我们首先要知道的是如何改变这个文件的权限,使用命令chmod u/g/0+r/w/x 文件名,表示对文件增加或减少r/w/x权限针对于拥有者、所属组、其他。如果是想对所有的都赋权限,那么使用chmod a=rwx 文件名,来改变权限。不过我们常用chmod 777 文件,以数字的形式来进行赋权限。这里说一下文件被执行x的前提是拥有读的权限r。

    2.目录的权限

    对于目录的权限,我们使用ls -ld 目录名,来查看目录的权限。可以看到第一位变成了d,表示目录:dir

    《第9天》掌握linux中权限控制,做一名高逼格的运维工程师rwx对于目录来说,意义是不一样的:r表示列出目录的内容ls,w表示在目录中创建,删除,重命名文件,x表示cd到目录里。要看一个用户是否对文件有写的权限,要看这个用户对文件所在目录是否有x(cd)权限。

    chmod从文件或者目录层面上改变用户或者组对它的权限,chown和chgrp从用户或者组的层面上改变对它的权限(chown和chgrp只有root用户才能执行)。

    • 如何来修改默认的生成权限

    什么时候生成的默认权限?我们创建一个文件和创建一个目录,都会有一个初始的权限,那么这个权限是怎么设置的。

    umask限制了用户创建文件或者目录的默认权限。我们执行umask。

    《第9天》掌握linux中权限控制,做一名高逼格的运维工程师可以看到root用户的umask为0022,第一位不看,为002。002三个分别表示user,group,other没有的权限,2表示other没有w写的权限,0表示都有。

    此外还要了解的是,针对文件,初始的权限:666-022=644权限,即rw-r--r--。针对于目录,初始的权限:777-022=755,即rwxr-xr-x。
    我们可以直接执行umask+数字来改变umask的值,来控制初始的权限。

    • 三种特殊的权限(s,s,t)

    linux中有三种特殊的权限,sst,分别代表setuid,setgid,stick bit。满权限为rwxrwxrwx,第一个s代表user对应rwx中的x,第二个s代表group对应rwx中的x,第三个t代表other对应rwx中的x。

    《第9天》掌握linux中权限控制,做一名高逼格的运维工程师

    ①setuid 给一个二进制程序 passwd之类的添加一个s权限,chmod u+s /usr/bin/passwd 表示其他用户可以以root(拥有者)的身份去执行passwd命令,本来passwd是修改/etc/passwd文件的,其他用户是修改不了,现在可以

    ②setgid要针对于二进制程序和目录dir来说。setgid 给一个二进制程序 效果跟setuid一样,以root(所属组)身份去执行touch mkdir之类的命令,这样创建的文件所属组就是root了,chmod g+s /bin/touch。setgid给dir添加s权限,表示A用户在B目录中创建的文件的所属组会变成B目录的所属组,继承。 chmod g+s /dir

    总结:
    权限的控制有很多应用,这个要灵活运用,三种特殊权限需要理解,用的方面不多,但是要要知道这一点。

  • 相关阅读:
    使用 Dockerfile 定制镜像
    UVA 10298 Power Strings 字符串的幂(KMP,最小循环节)
    UVA 11090 Going in Cycle!! 环平均权值(bellman-ford,spfa,二分)
    LeetCode Best Time to Buy and Sell Stock 买卖股票的最佳时机 (DP)
    LeetCode Number of Islands 岛的数量(DFS,BFS)
    LeetCode Triangle 三角形(最短路)
    LeetCode Swap Nodes in Pairs 交换结点对(单链表)
    LeetCode Find Minimum in Rotated Sorted Array 旋转序列找最小值(二分查找)
    HDU 5312 Sequence (规律题)
    LeetCode Letter Combinations of a Phone Number 电话号码组合
  • 原文地址:https://www.cnblogs.com/zhanghaiyang/p/7212935.html
Copyright © 2011-2022 走看看