zoukankan      html  css  js  c++  java
  • linux之用户、组及权限管理

    用户、组和权限管理
        每个使用者:
            用户标识、密码
            组:用户组,用户容器
        用户类别:
            管理员
            普通用户
                系统用户
                登录用户

            用户标识: UserID,UID
                16bits二级制数字:0-65535
                    管理员:0
                    普通用户:1-65535
                        系统用户:1-499(Centos6),1-999(Centos7)
                        登录用户:500-60000(Centos6),1000-60000(Centos7)
                    名称解析:名称转换
                        Username <--> UID
                        根据名称解析库进行:/etc/passwd
        组类别1:
            管理员组
            普通用户组
                系统组
                登录组

            组标识:GroupID, GID
                管理员组: θ
                普通用户组: 1-65635
                    系统用户组:1-499(Centos6), 1-999(Centos7)
                    登录用户组:500- 60000(Centos6),1000- 60000(Centos7)
                名称解析:Groupname <--> GID
                    解析库:/etc/group
        组类别2:
            用户的基本组
            用户的附加组
        组类别3:
            私有组:组名同用户名,且只包含一个用户
            公共组:组内包含了多个用户
        认证信息:
            通过比对事先存储的,与登录时提供的信息是否一致:
            password:
                /etc/shadow
                /etc/gshadow
        加密算法:
            对称加密:加密和解密使用同一个密码:
            非对称加密:加密和解密使用的一对儿密钥:
                密钥对儿:
                    公钥: public key
                    私钢: private
            单向加密:只能加密,不能解密:提取数据特征码
                定长输出
                雪崩效应

                算法:md5...

        /etc/passwd:用户的信息库
            name : password:UID:GID:GECOS: directory : shell
                name:用户名
                password:可以是加密的密码,也可是占位符x
                UID:
                GID:用户所属的主组的ID号
                ECOS:注释信
                directory:用户的家日录
                shell
    ll:用户的默认shell,登录时默认shel1程 序
        /etc/shadow:用户密码
            用户名:加密的密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告期段:过期期限:保留字段
        /etc/group:组的信息库
            group_name:password:GID:user list
                user_list: 该组的用户成员:以此组为附加组的用户的用户列表
    Linux用户和组管理

        安全上下文:
            进程以发起者的身份运行
                进程对文件的访问权限,取决于发起此进程的用户的权限
        系统用户:为了能够让那后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户,这类用户从不用登录系统


        groupadd:添加组
            -g:指定GID:默认是上一个组的GID加一
            -r:创建系统组

        groupmod:修改组属性
            -g:修改GID
            -n:new_name,修改组名

        groupdel:删除组

        useradd:创建用户

            -u:指定UID
            -g:指定基本组ID, 此组得事先存在
            -G:指明用户所属的附加组,多个组之间用迅号分隔
            -c: 指明注释信息
            -d:以指定的路径为用户的家目录:通过复制/etc/skel此目录并重命名实现:指定的家目录路径如果事先存在,则不会为用户复制环境配置文件
            -s:指定用户的默认shell, 可用的所有shell列表存储在/etc/shells文件中
            -r:创建系统用户
            注意:创建用户时的诸多默认设定配置文件为/etc/login.defs

            useradd -D: 显 示创建用户的默认配置
            useradd -D 选项:修改默认选项的值
                修改的结果保存于/etc/default/useradd文件中

        usermod命令:修改用户属性

            usermod [选项]登陆
                -u:修改用户的ID为此处指定的新UID
                -g:修改用户所属的基本组
                -G:修改用户所属的附加组:原来的附加组会被覆盖;
                -a:与-G-同使用,用于为用户追加新的附加组
                -c:修改注释信息
                -d:修改用户的家日录:用户原有的文件不会被转移至新位置
                -m:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录
                -1:修改用户名
                -s:修改用户的默认shell
                -L:愤定用户密码:即在用户原来的密码字符串之前添加一个"!"
                -U:解锁用户的密码

        userdel命令:删除用户
            -r:删除用户时一并删除其家目录


        passwd命令:
            passwd:修改用户自己的密码
            passwd USERNAME:修改指定用户的密码,但仅root有此权限

        gpasswd命令:
            组密码文件:/etc/gshawod
                -a USERNAME:向组中添加用户
                -d USERNAME:从组中移除用户

        newgrp命令:临时切换指定的组为基本组
            newgrp [-] [group]
                -:会模拟用户重新登陆以实现初始化其工作环境

        chage命令:更改用户密码过期信息

        id命令:显示用户的真和有效ID

        su命令:
            登陆式切换:会通过读取目标用户的配置文件来重新初始化
                su - USERNAME
                su -l USERNAME
            非登录式切换:不会读取目标用户的配置文件进行初始化
                su USERNAME

            注意:管理员可无密码切换至其他任何用户
    linux权限管理
        ls -l
            rwxrwxrwx:
                左三位:定义user的权限
                中三位:定义group的权限
                右三位:定义other的权限
        进程安全上下文:
            进程对文件的访问权限应用模型:
                进程的属主与文件的属主是否相同:如果相同,则应用属主权限
                否则,则检查进程的属主是否属于文件的属主:如果是,则应用属组权限
                否则,就只能应用other权
        权限:
            r:read,读权限
            w:write,写权限
            x:excute,执行权限

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

            目录:
                r:可使用ls命令获取其下的所有文件列表
                W:可修改此日录下的文件列表:即创建或删除文件
                x:可cd至此目录中,且可使用1s -l来获取所有文件的详细属性信息
            注:-为没有读权限

        权限组合机制(八进制权限组合法):
            --- 000 0
            --x 001 1
            -w- 010 2
            -wx 011 3
            r-- 100 4
            r-x 101 5
            rw- 110 6
            rwx 110 7
        权限管理命令:(u属主 g属组 o其他 a所有)
            chmod命令:
                chmod u=rwx g=rwx o=rwx 文件(直接操作一类用户的所有权限位rwx)
                chmod(u- g+ g- o+ o- a+ a-)文件(直接操作一类用户的一个权限位)
            选项:
                -R:递归修改
            chown命令:
                chown(修改属主和属组)
            chgrp命令:
                chgrp group file
        umask:文件的反向掩码,遮罩码:
            文件:
                666-umask
            目录:
                777-umask
            注:之所以文件用666去减,表示文件默认不能拥有执行权限:如果减得的结果有执行权限,则需要将其加一
            unask: 023
                666- 023=644
                777- 023=754
            umask命令:
                umask:查看当前umask
                umask MASK:设置umask
            注意:此类设定仅对当对shell进程有效
        install命令:
            单源复制:
                install 源 目
                将某个文件复制到某个目录下
            多源复制:
            创建目录:
                install -d 123 :创建文件123
            常用选项:
                -m:设置文件权限,默认为755
                -o:设置目标文件属主
                -g:设置目标文件属组

  • 相关阅读:
    Java开发环境搭建(一)
    Android随笔之——Android广播机制Broadcast详解
    Ubuntu 14.04 LTS中怎样安装fcitx中文输入法
    Jenkins:容器化微服务持续集成-高配版
    Jenkins:容器化微服务持续集成-低配版
    JVM(1):JVM与Java体系结构
    RocketMQ:集群搭建
    RocketMQ:单机搭建
    Spring Cloud OAuth2:分布式认证授权
    Spring Security OAuth2:SSO单点登录
  • 原文地址:https://www.cnblogs.com/tianyao2020/p/12790024.html
Copyright © 2011-2022 走看看