5.4Linux系统下用户权限管理

权限管理:

  ls -l

    rwxrwxrwx:

      左三位:定义user(owner)的权限

      中三位:定义group的权限

      右三位:定义other的权限

  进程安全上下文:

    进程对文件的访问权限应用模型:

      进程的属主与文件的属主是否相同;如果相同,则应用属主权限;

      否则,则检查进程的属主是否属于文件的属主;如果是,则应用于属组权限;

      否则,只能应用其它的权限;

  权限:

    r:readable,读,

    w:writable,写

    x:excutable,执行

    文件:

      r:可获取文件的数据

      w:可修改文件的数据

      x:可将此文件发起运行为进程

    目录:

      r:可使用ls命令获取其下的所有文件列表

      w:可修改此目录下的文件列表;即创建或删除文件也包括子目录

      x:可cd至此目录中,且可使用 ls -l来获取 所有文件的详细属性信息

    mode:rwxrwxrwx

    ownership:user,group

  权限组合机制:二进制

    --- 000 0

    --x 001 1

    -w- 010 2

    -wx 011 3

    -r   100 4

    r-x  101 5

    rw- 110 6

    rwx 111 7

  权限管理命令:

    chmod命令:

      chmod [OPTION]... MODE[,MODE]... FILE...
      chmod [OPTION]... OCTAL-MODE FILE...
      chmod [OPTION]... --reference=RFILE FILE...

      三类用户:

        u:属主

        g:属组

        o:其它

        a:所有

      (1)chmod [OPTION]... MODE[,MODE]... FILE...

         MODE表示法:

            赋权表示法:直接操作一类用户的所有权限位

              u=,g=,o=;(ugo=;可以合并)

            授权表示法:直接操作一类用户的一个权限位也可以是多位r,w,x

              u+,u-

              g+,g-

              o+,o-

              a+,a-

              chmod +w file

              注意w权限只给属主其它rx是给所有都给的权限

      (2)chmod [OPTION]... OCTAL-MODE FILE...

          777

          000

          八进制权限位

      (3)chmod [OPTION]... --reference=RFILE FILE...

       选项:

        -R:递归修改权限(用之于修改目录权限,同时递归把目录下的子目录或者文件的权限也修改了)

    注意:用户仅能修改属主为自己的那些文件的权限

    从属关系管理命令:chown,chgrp

      chown命令:

        chown [OPTION]... [OWNER][:[GROUP]] FILE...
        chown [OPTION]... --reference=RFILE FILE...

        选项:

          -R:递归修改

          --reference=/path/file:以某个文件或目录修改另一个目录的所属组或所属主

      注意:仅管理员可修改文件的属主和属组

    umask:文件的权限反向掩码,遮罩码

      文件:

        666-umask

      目录:

        777-umask

      注意:之所以文件用666去减,表示文件默认不能拥有执行权限;如果减得的结果中有执行权限,则需要将其加1

        umask:023

          666-023=644

          777-023=754

      umask命令:

        umask:查看当前umask

        umask MASK:设置umask

      注意:此类设定仅对当前shell进程有效

    练习:完成以下任务

      1.新建系统组mariadb,新建系统用户mariadb,属于mariadb组,要求其没有家目录,且shell为/sbin/nologin;尝试roo切换至用户,查看其命令提示符

      2.新建GID为5000的组mageedu,新建用户gentoo,要求其家目录为/users/gentoo,密码同用户名

      3.新建用户fedora,其家目录为/users/fedora,密码同用户名

      4.新建用户www,其家目录为/users/www;删除www用户,但保留其家目录

      5.为用户gentoo和fedora新增附加组mageedu

      6.复制目录/var/log至/tmp目录,修改/tmp/log及其内部的所有文件的属组为mageedu,并让属组对目录本身拥有写权限

   install命令:

      install - copy files and set attributes

      单源复制:

        nstall [OPTION]... [-T] SOURCE DEST
      多源复制  

        install [OPTION]... SOURCE... DIRECTORY
        install [OPTION]... -t DIRECTORY SOURCE...
      创建目录:   

        install [OPTION]... -d DIRECTORY...

      常用选项:

        -m:设定目标文件权限,默认为755

        -o:设定目标文件属主

        -g:设定目标文件属组

        -d:用来创建目录

    

    mktemp命令:创建临时文件或目录

      mktemp [OPTION]... [TEMPLATE]

        常用选项:

          -d:创建临时目录

      注意:mktemp会将创建的临时文件名直接返回,因此,可直接通过命令引用保存起来

  博客作业:用户及权限管理

猜你喜欢

转载自www.cnblogs.com/self-discipline-xxc/p/10259870.html