note_5.4_用户权限管理

权限管理

进程安全上下文:

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

    • 进程的属主与文件的属主是否相同;如果相同,则应用属主权限;
      否则,则检查进程的属主是否属于文件的属组;如果是,则应用属组权限;
      否则,就只能应用other的权限;
  • 权限:

    • r:read,读
    • w:write,写
    • x:excute,执行
    • 文件:
      • r:可获取文件的数据
      • w:可修改文件数据
      • x:可将此文件运行为进程
    • 目录:
      • r:可使用ls命令获取其下的所有文件列表;
      • w:可修改此目录下的文件列表;即创建或删除文件;
      • x:可cd至此目录中,且可使用ls -l来获取所有文件的详细属性信息;

mode:rwxrwxrwx
ownership:user,group

权限组合机制 binary octonary
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7

练习:rw-rw-r--, rwxrwxr-x, rwxr-x---, rw------, rwxr-xr-x

664,775,750,600,755


权限管理命令

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表示法:
                    赋权表示法:直接操作一类用户的所有权限位rwx;
                        u=
                        g=
                        o=
                        a=

                    授权表示法:直接操作一类用户的一个权限位r,w,x;
                        u+, u-
                        g+, g-
                        o+, o-
                        a+, a-

一般a+,a-可以省略a,但是+w 因为全局写太危险,所以只给属主+w

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

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

     选项:
                -R, --recursive:递归修改

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


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

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

            选项:
                -R:递归修改

        chgrp命令:

            chgrp [OPTION]... GROUP FILE...
            chgrp [OPTION]... --reference=RFILE FILE...

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


思考:用户对目录有写权限,但对目录下的文件没有写权限时,能否修改此文件内容?能否删除此文件?

note_5.4_用户权限管理_第1张图片
模拟

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

  • 文件:
    666-umask
  • 目录:
    777-umask

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

umask: 023

  • 666-023=644

  • 777-023=754

       umask命令:
           umask:查看当前umask
           umask MASK: 设置umask
    

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


install命令:

install - copy files and set attributes

    单源复制:
        install [OPTION]... [-T] SOURCE DEST
    多源复制:
        install [OPTION]... SOURCE... DIRECTORY
        install [OPTION]... -t DIRECTORY SOURCE...
    创建目录:
        install [OPTION]... -d DIRECTORY...

    常用选项:
        -m, --mode=MODE:设定目标文件权限,默认为755;
        -o, --owner=OWNER:设定目标文件属主;
        -g, --group=GROUP:设定目标文件属组;

mktemp命令:

    mktemp - create a temporary file or directory

    mktemp [OPTION]... [TEMPLATE]

        常用选项:
            -d:创建临时目录

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

练习:完成以下任务

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


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

note_5.4_用户权限管理_第2张图片
2
  1. 新建用户fedora,其家目录为/users/fedora,密码同用户名;
3
  1. 新建用户www, 其家目录为/users/www;删除www用户,但保留其家目录;
4
  1. 为用户gentoo和fedora新增附加组edu;
5

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


    note_5.4_用户权限管理_第3张图片
    6

    6

你可能感兴趣的:(note_5.4_用户权限管理)