美文网首页
Day10权限管理

Day10权限管理

作者: a幕城 | 来源:发表于2019-08-19 18:58 被阅读0次

    昨日回顾

    系统中的用户有什么用
    程序运行需要一个用户身份,可以是不能登录系统(傀儡身份)
    多个人操作一个系统时,需要创建多个用户,这样互相不影响(默认初始环境一致)

    创建用户,会操作哪几个配置文件

    /etc/passwd     用户属性
    /etc/shadow     用户密码属性
    /etc/group      组
    /etc/gshadow    组密码
    

    如何创建修改删除用户

    useradd username    创建用户
        -u UID
        -g [GID|GroupName]基本组
        -G [GID|GroupName]附加组
        -c 注释
        -s 指定登录shell /bin/bash 正常登录系统 /sbin/nologin 不允许登录
        -d 指定用户的家目录
        -M 不指定用户的家目录
        -r 系统用户[通常201-999]并且没有家目录
    usermod username    修改用户
        -l 修改用户名称
    userdel username    删除用户
        -r 会删除用户的家目录,以及用户的邮箱
    

    为用户添加密码

    注意密码的复杂度要高,密码需要三月一修改
    passwd Username 只能是root操作
    passwd          修改自己的密码(普通用户与root都能操作)
    echo "123" | passwd --stdin Username    非交互式设定密码(批量设定密码)
    
    用户的创建流程
    用户在创建的过程中会依赖两个配置文件
    /etc/login.defs
    /etc/defaults/useradd
    如果在创建用户自行指定选项,会覆盖这两个文件
        -u 2000
        -s /bin/bash        /sbin/nologin
        -d /home            /tmp
    

    用户的组

    基本组:(有且只能有一个)
    1.用户的主要组,使用-g指定,前提是该组必须存在
    2.创建用户时,不指定基本组,默认创建一个与用户同名的私有组
    附加组:(可以有N个)
    1.当基本组无法满足授权需求时,可以添加至附加组
    组的创建修改删除
    groupadd -g
    groupmod -n -g
    groupdel
    

    提权
    ···
    登录式与非登录式shell区别在于加载的环境变量不一样
    su 切换用户身份
    su username 非登录式shell
    su - username 登录式shell
    sudo 提权
    由root用户事先分配可执行的命令权限
    由root用户关联某个普通用户与对应的权限
    sudo提权方式
    1.使用sudo的内置别名创建组,创建命令组,然后将两者进行关联
    2.创建系统组,将用户加入组,然后在sudo对组配置权限%group_n
    ···

    权限与用户之间的关系

    在Linux系统中,针对文件定义了三种身份,分别是属主(owner)、属组(group)、其他人(others),每一种身份又对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable)

    用户访问文件流程:
    1.判断用户是否为文件所有者,如果是则按所有者的权限进行访问
    2.判断用户是否为文件的所有组成员,如果是则按组的权限进行访问
    3.如果不是所有者,也不是该文件所属组,则按其他人权限进行访问

    权限中的rwx是干什么的
    r=读取权限 对应权限:4
    w=写入权限 对应权限:2
    x=执行权限 对应权限:1
    -(没有权限) 对应权限:0

    如何变更权限
    使用chmod命令
    方式一:ugo(user group other)
    a=rwx 全部人
    u=rwx,g=rx,o=- 分别
    方式二:number r=4 w=2 x=1 -=0

    针对文件设定权限
    主(rw),组(r),其他(-)
    [root@oldboy ~]# chmod 640 1.txt
    最高为777,但一般都是666

    针对目录设定权限
    -R 递归修改
    [root@oldboy ~]# chmod 777 dir/
    [root@oldboy ~]# chmod -R 777 dir/

    权限验证
    针对文件
    使用最多的:rw=6 rx=5 644
    r: 能读取文件内容
    cat head less tail more
    w: 能写入文件(不能看)
    vim
    x: 能执行文件(如果没有r权限,单有x没有用)
    rw: 能查看文件,能编辑文件,不能执行,不能删除移动复制
    rx: 能查看文件,不能编辑文件,能执行,不能删除移动复制
    rwx: 能查看文件,能编辑文件,能执行,不能删除移动复制

    针对目录
    使用最多的:rx=5 755
    r: 具有浏览目录的权限,无法进入目录,使用ls查看目录下的文件会报错,会显示文件名称,使用ls -l只能看到文件名称,其他全部无法查看
    w: 什么权限也没有
    x: 能进入目录,其他什么也没有
    rx: 能进入目录,能查看目录下的文件,至于操作文件,需要看文件的权限
    rw:
    rwx: 如果目录赋予了w权限,则该目录下的文件可以复制删除移动修改

    属主和属组变更
    [root@oldboy ~]# chown uname:或者.gname filename
    [root@oldboy ~]# chown uname filename
    [root@oldboy ~]# chown :或者.gname filename
    [root@oldboy ~]# chown u:.g 目录名
    -R 递归修改目录属主属组

    今日总结

    1.什么是权限?
    权限就是一种约束
    2.为什么要有权限?
    3.权限和用户之间的关系?
    4.权限如何设定?chmod
    ugo方式 out
    number方式 7rwx 6rw 5rx 4r 3wx 2w 1x
    r=4
    w=2
    x=1
    755 ---> 7属主 5属组 5其他
    5.测试r w x每一位的权限?
    6.通常权限的组合使用方式?
    文件:r rw rx
    目录:rx rwx

    7.如何变更一个文件属主和属组
    chown -R 递归

    相关命令
    chmod 修改文件权限
    chown 变更文件的属主和属组
    chgrp ---忽略,变更文件的属组

    相关文章

      网友评论

          本文标题:Day10权限管理

          本文链接:https://www.haomeiwen.com/subject/cabesctx.html