Linux   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了5.Linux用户组管理及用户权限大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

5.1Linux运维高级系统应用-glob通配及IO重定向   bash的基础特性:     globbing:文件名通配     匹配模式:元字符         *:匹配任意长度的任意字符         ?:匹配任意单个字符         []:匹配指定范围内的任意单个字符           有几种特殊格式:           [a-z],[A-Z],[0-9]
@H_673_15@

5.1Linux运维高级系统应用-glob通配及IO重定向

  bash的基础特性:

    globbing:文件通配    

匹配模式:元字符
        *:匹配任意长度的任意字符
        ?:匹配任意单个字符
         []:匹配指定范围内的任意单个字符
             有几种特殊格式:
             [a-z],[A-Z],[0-9],[a-z0-9]
          [[:upper:]]:所有大写字母
          [[:lower:]]:所有小写字母
          [[:alpha:]]:所有字母
          [[:digit:]]:所有数字
          [[:alnum:]]:所有的字母数字
          [[:space:]]:所有空白字符
          [[:punct:]]:所有标点符号
        [^]:匹配指定范围外的任意单个字符
                    [^[:upper:]]
                    [^0-9]
                    [^[:alnum:]]

  IO 重定向及管道

    程序:指令+数据
        程序:IO
        
        可用于输入的设备:文件
            键盘设备、文件系统上的常规文件,网卡等;
        可用于输出的设备:文件
            显示器、文件系统上的常规文件、网卡等:
            
        程序的数据流有三种:
            输入的数据流:<-- 标准输入(stdin),键盘 
            输出的数据流;--> 标准输出(stdout),显示错误输出流: --> 错误输出(stderr),显示器 
        
        fd: file descriptor,文件描述符
            标准输入:
            标准输出
            错误输出
            
    IO重定向
    
        输出重定向>    覆盖输出
            >>    追加输出
        
        set -C
            @L_673_33@覆盖输出已存在的文件
            [[email protected] ~]# cat res.log > f1 
                -bash: f1: cAnnot overwrite exisTing file|强制覆盖
            [[email protected] ~]# cat res.log >| f1
            
        错误输出重定向2> 2>>
        合并正常输出流和错误输出:
            (1)&>,&>>
            (2)COMMAND > /PATH 2>&1
               COMMAND >> /PATH 2>&1
               
            特殊设备:/dev/null
               
        输入重定向<
        
        tr命令:
            tr [OPTION]... SET1 [SET2]
                 把输入的数据当中的字符,凡是在SET1定义范围内出现的,通通对应转换为SET2出现的字符
                 
            用法tr SET1 SET2 </PATH/FILE
            用法tr -d SET1 </PATH/FILE
            注意:操作不修改文件
        Here Document: <<
            cat << EOF
            cat > /PATH/FILE << EOF
                            [[email protected]11 ~]# cat > C.txt << EOF
                                        > 123
                                        > cafad
                                        > EOF
                            [[email protected]11 ~]# 

        管道:连接程序,实现将前一个命令的输出直接定向后一个程序当作输入数据流
            COMMAND1 | COMMAND2 | COMMAND3 | ...
            
            tee命令:
                COMMAND | tee /PATH/FILE

 

5.2 Linux系统用户和组全面讲解

用户、组和权限管理
    Multi-tasks,multi-Users
    
    每个使用者:
        用户标识、密码:
            Authentication
            Authorization
            Audition
        组:用户组,用户容器
    
    用户类别:
        管理员
        普通用户
            系统用户    
            登录用户
        
        用户标识:UserID,ID
            16bits二进制数字:0-65535
                管理员0
                普通用户1-65535
                    系统用户1-499(v6),1-999(v7)
                    登录用户500-60000(v6),1000-60000(v7)
            名称解析:名称转换
                username <--> UID
                根据名称解析库进行: /etc/passwd
    组:
        组类别1:
            管理组
            普通用户组
                系统组    
                登录组
            
        组标识:GroupID,GID
            16bits二进制数字:0-65535
            管理组:0
            普通用户组:1-65535
                系统组:1-499(v6),1-999(v7)
                登录组:500-60000(v6),1000-60000(v7)
            名称解析:名称转换
                groupname <--> GID
                根据名称解析库进行: /etc/group
        组类别2:
            用户的基本组
            用户的附加组
        组类别3: 
            私有组:组名同用户名,且只包含一个用户
            公共组:组内包含了多个用户
        
    认证信息:
        通过比对事先存储的,与登录时提供的信息是否一致
            password:
                /etc/shadow
                /etc/gshadow
                
            密码的使用策略
                、使用随即密码
                、最短长度不要低于8位
                、应该使用大写字母、小写字母、数字和标点符号四类字符中的至少三类
                、定期更换
            加密算法:
                对称加密:加密和解密使用同一个密码
                非对称加密:加密和解密使用的一对儿密钥
                    密钥对儿:
                     公钥:public key
                     私钥:private key
                单向加密:只能加密,不能解密:提取数据特征码:
                    定长输出
                    雪崩效应
                    
                    算法:
                        md5: 
                        sha:
                        sha256
                        sha384
            在计算之时加salt,添加随机

      /etc/passwd:用户信息库
        name:password:UID:GID:GECOS:directory:sHell

          name:用户名
          password:
          UID:
          GID:用户所属的主组的ID号
          GECOS:注释信息
          directory:用户的家目录
          sHell:用户认sHell,登录认sHell程序

 
 

     /etc/shadow
      用户名:加密的密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告期限:有限期限:保留

    /etc/group
      group_name:password:GID:user_list
        user_list:该组的成员,以此组为附加组的用户用户列表
    相关命令: useradd,userdel,usermod,passwd,groupadd,groupdel,groupmod,gpasswd,chage,chsh,id,su

 5.3Linux用户和组管理命令演练和实战应用

Linux用户和组管理

    安全上下文:
        进程以其发起者的身份运行
            进行对文件的访问权限,取决于发起此进程的用户的权限

    为了能够让那些后台进行或服务类进程以非管理员的身份进行,通常需要为此创建多个普通用户:这些用户从不登录系统

    groupadd命令:添加组
        group [OPTION] group_name
            -g GID:指定GID:认是上一个组的GID+1
            -r:创建系统组

    groupmod命令:修改属性
        groupmod
            -g GID:修改组ID
            -n newname:修改组名

    groupdel命令:删除组

    useradd命令:添加用户
        -u UID:指定UID
        -g GID:指定基本组ID,次组必须存在
        -G group1,group2:添加用户的附加组
        -c comment:用户描述
        -d:创建新用户并指定其家目录,通过复制/etc/skel此目录并重命名实现:指定的家目录路径如果事先存在,则不会为用户复制环境配置文件
        -s:指定用户认sHell,可用的sHell--/etc/sHells
        -r:创建系统用户
        
        注意:创建用户时的诸多认设定配置文件/etc/login.defs

        -D:创建用户认的配置列表
        -D 选项: 修改认选项的值:

            修改的结果保存于/etc/default/useradd文件中;

    usermod命令:修改用户属性
        -u:修改UID
        -g:修改用户所属的基本组:
        -G:修改用户所属的附加组,如果已有则覆盖原有的
        -a:与-G一起使用,用于为用户追加新的附加组
        -c comment:修改注释信息
        -d HOME_DIR:修改用户家目录
        -m:只能与-d选项一同使用,用于将原来的目录移动到新的家目录
        -l NEW_LOGIN:修改用户名
        -s:修改用户认sHell

        -l: 锁定用户密码,即在用户原来的密码字符串之前添加-U:解锁用户的密码

    userdel命令:删除用户

        userdel[option] user
            -r:删除用户时一并删除其家目录 

    passwd命令:
        (1)passwd:修改用户自己的密码:
        (2)passwd USERNAME:修改指定用户的密码,root执行

            -l,-u:锁定和解锁用户
            -d:
            -e DATE:过期期限,日期
            -i DAYS:非活动期限
            -n DAYS:密码的最短使用期限
            -x DAYS:密码的最长使用期限
            -w DAYS:警告期限

            --stdin 
                echo "passworD" | passwd --stdin USERNAME

    gpasswd命令:

        gpasswd [OPTION] group
            -a USERNAME:向组中添加用户
            -d USERNAME:从组中移除用户

    newgrp命令:临时切换指定的组为基本组

    chage命令:更改用户密码过期信息
        -d:
        -E:
        -W:
        -@H_551_28@m:
        -@H_551_28@m:

    id命令:显示用户真的和有效的用户信息
        id [OPTION]...USER
            -u:仅显示用户有效UID
            -g:仅显示用户的基本组ID
            -G:仅显示用户所属的附加组ID
            -n:显示名字而非ID

    su命令:switch user
        登录式切换:读取用户配置文件来进行重新初始化
            su - USERNAME
        非登录式切换:不会读取用户配置文件进行初始化
            su USERNAME

        注意:管理员可无密码切换至其它任何用户

        -c COMMAND:仅以指定用户的身份运行此处指定的命令

    其它几个命令:chsh,chfn,finger,whoami,pwck
   命令总结:groupadd,useradd,newgrp,su,chage

 5.4Linux系统下用户权限管理

权限管理:

    进程安全上下文:
        进程对文件的访问权限应用模型
            进程的属主与文件的属主是否相同:如果相同,则应用属主权限
            否则,则检查进程的属主是否属于文件的属组,如果是,则应用属组权限
            否则,就只能应用other的权限
    权限:
        r: read   可获取文件的数据
        w: write修改文件的数据
        x: excute 可将此文件运行为进程

        文件:
            r: read   可获取文件的数据
            w: write修改文件的数据
            x: excute 可将此文件运行为进程

        目录:
            r: 可使用ls命令获取其下的所有文件列表
            w: 可修改此目录下的文件列表,即创建或删除文件
            x: 可cd至此目录中,且可使用ls -l来获取所有文件的详细属性信息上

    权限管理命令:
        chmod命令:
            (1)chmod [OPTION]... MODE FILE
                MODE表示法:
                    赋权表示法:
                        u=
                         g=
                         o=
                         a=

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

            (2)chmod [OPTION]... OCTAL-@H_551_28@mODE FILE...
            (3)chmod [OPTION]... --reference=RFILE FILE...

            选项:
                -R: 递归修改

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

        chown命令:
            chown  [OPTION]... [owneR][:[GROUP]] FILE...
            chown  [OPTION]... --reference=RFILE FILE...
            选项:
                -R:

        chgrp命令:
            chgrp  [OPTION]... [owneR][:[GROUP]] FILE...
            chgrp [OPTION]... --reference=RFILE 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,新建系统@L_354_54@mariadb
        属于mariadb组,要求其没有家目录,且sHell为/sbin/nologin:尝试root切换至用户,查看其命令提示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

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

    常用选项:
        -m,--mode=@H_551_28@mODE:设定目录文件权限,认为755
        -o,--owner=owneR:设定目标文件属主
        -g,--group=GROUP:设定目标文件属组

    mktemp命令:
        @H_154_66@mktemp - create a temporary file or directory
           
           @H_154_66@mktemp [OPTION]... [TEMPLATE]
               常用选项:
                   -d:创建临时目录
           例子:
           [[email protected] ~]# @H_154_66@mktemp /tmp/myTemp.XXXX
        /tmp/myTemp.jQBI

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

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

大佬总结

以上是大佬教程为你收集整理的5.Linux用户组管理及用户权限全部内容,希望文章能够帮你解决5.Linux用户组管理及用户权限所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。