zoukankan      html  css  js  c++  java
  • <实训|第九天>掌握linux中普通的权限控制和三种特殊的权限(sst),做合格的运维工程师

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

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


     开班第九天:

      今天的课程大纲:

    1. linux系统中文件目录的基本权限控制
    2. 如何来修改默认的生成权限
    3. 三种特殊的权限(s,s,t)

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

    详细讲解:

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

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

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

      

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

      

      首先我们应该了解一下权限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

       

      rwx对于目录来说,意义是不一样的:r表示列出目录的内容ls,w表示在目录中创建,删除,重命名文件,x表示cd到目录里。要看一个用户是否对文件有写的权限,要看这个用户对文件所在目录是否有x(cd)权限。chmod从文件或者目录层面上改变用户或者组对它的权限,chown和chgrp从用户或者组的层面上改变对它的权限(chown和chgrp只有root用户才能执行)。
    • 如何来修改默认的生成权限

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

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

      

      可以看到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。

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

    总结:

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

    博客园:爱家人爱老婆的IT男

    QQ群:145252709,我会上传资源,同时会有很多大神跟你们讨论学习分享 

    微信公众号:程序猿的野生香蕉【获取文章中出现的工具】

    博客园:爱家人爱老婆的IT男 QQ群:145252709,我会上传资源,同时会有很多大神跟你们讨论学习分享 微信公众号:程序猿的野生香蕉【获取文章中出现的工具】
  • 相关阅读:
    bootstap 折叠
    AtCoder AGC019E Shuffle and Swap (DP、FFT、多项式求逆、多项式快速幂)
    Codeforces Gym 101630J Journey from Petersburg to Moscow (最短路)
    BZOJ 4042 Luogu P4757 [CERC2014]Parades (树形DP、状压DP)
    BZOJ 2734 [HNOI2012]集合选数 (状压DP、时间复杂度分析)
    BZOJ 2759 一个动态树好题 (LCT)
    Codeforces 1205C Palindromic Paths (交互题、DP)
    getopt实现传参自动识别
    powershell笔记
    bat语法需要注意的地方
  • 原文地址:https://www.cnblogs.com/bokeyuanlibin/p/5725451.html
Copyright © 2011-2022 走看看