note_5.4_用户权限管理

2019-01-30  本文已影响0人  人間失格_430b

权限管理

进程安全上下文:

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...

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


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

模拟

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

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

umask: 023

注意:此类设定仅对当前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,密码同用户名;

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,并让属组对目录本身拥有写权限;


    6
    6
上一篇下一篇

猜你喜欢

热点阅读