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:设置目标文件属组

posted @ 2020-03-27 08:32  ASQW234  阅读(156)  评论(0编辑  收藏  举报